salve a tutti scrivo il mio post per porvi un problema... premetto che ho buone conoscenze di elettronica e programmazione quindi non ho bisogno delle basi su collegamenti ecc. ma adesso mi sto affacciando ad arduino dopo aver letto mooolto sul argomento e osservando programmi gia fatti... insomma le basi di arduino le so... ma voglio approfondire!!!
mi sono imbattuto nella creazione di una nuova libreria che, ha bisogno di tre file, file.h-file.cpp.-file.txt. tralasciando quest'ultimo i primi due sono essenziali!! il mio scopo è quello di avere su di un pin un onda quadra a frequenza variabile(per ora la vario variando il tempo mS) e che mi conti i fronti di salita(step)... e su un altro piedino una semplice operazione booleana per gestire il verso del motore (verso). il tutto serve per pilotare un driver(postep25) per motori passo passo...
ecco il file.h
#ifndef fontanaMotor_h
#define fontanaMotor_h
#include "arduino.h"
class fontanaMotor{
public:
fontanaMotor(int pingestione,int pinverso);
void gestione(int mS,int steps,boolean verso);
};
#endif
e gli errori della verifica sull'IDE
core.a(main.cpp.o): In function main': C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/main.cpp:40: undefined reference to
setup'
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/main.cpp:43: undefined reference to `loop'
osservando gli errori ho salvato lo stesso pensando che arduino non avesse ancora capito che sto costruendo una nuova libreria.. e sono passato al file.ccp:
#include "arduino.h"
#include "fontanaMotor.h"fontanaMotor::fontanaMotor (int pingestione,int pinverso){
pinMode(pingestione,OUTPUT);
pinMode(pinverso,OUTPUT);
}
void fontanaMotor::gestione(int mS,int steps,boolean verso){
if (verso=true){digitalWrite(pinverso,HIGH);}
else {digitalWrite(pinverso,LOW);}for(int a=0; a<steps;a++){
digitalWrite(pingestione,HIGH);
delay(mS);
digitalWrite(pingestione,LOW);
delay(mS);
}
}
ma compilando ecco cosa mi appare...
sketch_oct24a:6: error: 'fontanaMotor' has not been declared
sketch_oct24a:6: error: ISO C++ forbids declaration of 'fontanaMotor' with no type
sketch_oct24a:10: error: 'fontanaMotor' is not a class or namespace
sketch_oct24a.ino: In function 'void gestionr(int, int, boolean)':
sketch_oct24a:11: error: 'pinverso' was not declared in this scope
sketch_oct24a:12: error: 'pinverso' was not declared in this scope
sketch_oct24a:15: error: 'pingestione' was not declared in this scope
si capisce che non riesce a trovare il file.h e di conseguenza tutto il resto... il file.h è stato salvato in arduino>libreries>fontanaMotor>fontanaMotor.h >fontanaMotor.h la stessa cosa vale per il cpp ma se salvo e chiudo non li riesco a riaprire.... come posso fare??? dove sbagliooo??? grazie a tutti in anticipooo !!!