Почему моя пользовательская библиотека Arduino не работает? - PullRequest
0 голосов
/ 21 октября 2019

Я делаю собственную библиотеку arduino для моей "игровой консоли". В любом случае, когда я использую библиотеку в своем основном файле, она выдает мне эту ошибку:

Недопустимая библиотека, найденная в / Users / nikos / Documents / Arduino / library / LEDConsole: файлы заголовков (.h) не найдены в/ Users / nikos / Documents / Arduino / library / LEDConsole

Чтобы создать эту библиотеку, я следовал официальному руководству по созданию библиотеки (https://www.arduino.cc/en/Hacking/libraryTutorial),, но оно не говорит мне ничего, что могло бы мне помочь. Iискал, но я не смог найти ничего, что помогло бы.

Вот код:

Основной файл:

#include <LEDConsole.h>


LEDConsole console();

void setup() {

}

void loop() {
  console.display();
}

Заголовок (LEDConsole.h):

#ifndef KEYPAD_H
#define KEYPAD_H

class LEDConsole
{
    public:
        LEDConsole();
        void setPixel(byte x, byte y, byte v);
        void display();
    private:
    byte img[];
};

#endif

LEDConsole.cpp:


#include "Arduino.h"
#include "LEDConsole.h"

LEDConsole::LEDConsole() {
    for(int i = 39; i < 54; i += 2) {
        pinMode(i, OUTPUT);
    }
    for(int i = 2; i < 10; i ++) {
        pinMode(i, OUTPUT);
    }
    img[8] = {0, 0, 0, 0, 0, 0, 0, 0};
}

void LEDConsole::setPixel(byte x, byte y, byte v) {

    bitWrite(img[y], 7 - x, v);

}

void LEDConsole::display() {

    for(int y = 0; y < 8; y ++) {
        int yPin = 53 - y * 2;
        digitalWrite(yPin, HIGH);
        for(int x = 0; x < 8; x ++) {
            int xPin = 2 + x;
            bool show = bitRead(img[y], 7 -x);

            if(show) digitalWrite(xPin, 128);
            else digitalWrite(xPin, 0);
        }
        for(int i = 2; i < 10; i ++) {
            digitalWrite(i, 0);
        }
        digitalWrite(yPin, LOW);

    }
}

...