creare libreria per arduino

ciao a tutti vorrei creare una libreria per controllare un display solo che mi da errore quando la compilo
mi potete per favore controllare lo sketch sia quello in c++ che h
grazie
qui sotto DisplayLib.cpp

#include "DisplayLib.h"  // dichiarazione della classe
#include "Arduino.h"
#include "SoftwareSerial.h"
SoftwareSerial mySerial(10, 34); // RX, TX
/* funzione di inizializzazione */
void DisplayControl::Inizializza()
{
  mySerial.begin(9600);
  // Inizializza caratteri
  byte buf1[] = {124, 5}; 
  mySerial.write(buf1, 2); 
  delay(100);
  byte buf2[] = {124, 3};
  mySerial.write(buf2,2); 
  // Accende display
  byte buf3[] = {124, 1};
  mySerial.write(buf3,2); 
  delay(100);
  // Cancella display
  byte buf4[] = {254, 1};
  mySerial.write(buf4,2); 
  delay(100);

}

/* funzione di accensione del led */
void DisplayControl::StatoDisplay(bool Stato)
{
  if (Stato==false)
  {
     byte buf5[] = {124, 2};
    mySerial.write(buf5,2); 
  }
 if (Stato==true)
 {
    byte buf6[] = {124,1};
    mySerial.write(buf6,2); 
 }
}

/* funzione di spegnimento del led */
void DisplayControl::CancellaDisplay()
{
  byte buf7[] = {254, 1};
mySerial.write(buf7,2); 
}
 void DisplayControl::PrimaRiga(String testo)
{
  byte buf8[] = {254,128};
mySerial.write(buf8,2); 
mySerial.print(testo9);
}
 void DisplayControl::SecondaRiga(String testo)
{
byte buf9[] = {254,192};
mySerial.write(buf9,2);
mySerial.print(testo);
}
 void DisplayControl::TerzaRiga(String testo)
{
byte buf10[] = {254,192};
mySerial.write(buf10,2);
mySerial.print(testo);
}
 void DisplayControl::QuartaRiga(String testo)
{
byte buf11[] = {254,192};
mySerial.write(buf11,2);
mySerial.print(testo);
}

qui sotto invece DisplayLib.h

#ifndef DisplayControlLib
#define DisplayControlLib

#include "Arduino.h"
#include "DisplayLib.h"
#include "SoftwareSerial.h"

class DisplayControl
{
  
   public:
      void Inizializza();
      void StatoDisplay(bool Stato);
      void CancellaDisplay();
      void PrimaRiga (String testo);
      void SecondaRiga(String testo);
      void TerzaRiga(String testo);
      void QuartaRiga(String testo);
};

#endif

non so dove sbaglio

uso la libreria softwareserial per la seriale
grazie

--- ti rammento che, da regolameto, NON è permesso sollecitare risposte (fare "up") se non dopo 48 ore dall'ultimo post. - gpb01

??

Conosco un po il C ma so molto poco del C++ con cui sono create le librerie arduino.
Se tu mostrassi i messaggi di errore che ti fornisce l'IDE arduino, forse si potrebbe dedurre il problema.

Vedo qualcosa di indolito solo qui

ifndef DisplayControlLib
#define DisplayControlLib


FORSE DOVREBBE ESSERE 

ifndef DisplaylLib_H
#define DisplaylLib_H

Ma non ne sono sicuro, come detto so poco del C++

Posta i messaggi di errore, ALTRIMENTI NON AVRAI RISPOSTE...

Ma come pretendi di compilare la sola libreria con l'IDE di Arduino ? :o :o :o

Ovviamnete mancano sia la funzione setup() che la funzione loop() (... entrambe obbligatorie) e quindi NON ti compilerà mai senza errori ...
... crea un .ino che le contiene e da esso richiami la tua libreria, dopo di che vedi se ci sono altri errori !

Guglielmo

P.S.: Ah ... nel .h evita di includere se stesso !

torn24:

FORSE DOVREBBE ESSERE 

#ifndef DisplaylLib_H
#define DisplaylLib_H

NO, è sicuramente più "elegante", ma NON obbligatorio ...

Guglielmo