X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=libraries%2Fcommon%2Fcommon.h;h=7f87600b466749d4a3476037c691ce2df212fdeb;hb=2d20ec97a60179f5dc3073c77cead5706b711c56;hp=f5a763c715938b7d87c870729009d3780b81fcbf;hpb=22da2a0f8203616aedbb746d4b4dbb4f7718ae58;p=sketchbook_andrea diff --git a/libraries/common/common.h b/libraries/common/common.h index f5a763c..7f87600 100644 --- a/libraries/common/common.h +++ b/libraries/common/common.h @@ -3,6 +3,11 @@ Oggetti comuni +Autore: Andrea Manni + +Link: http://git.andreamanni.com/ +Licenza: GPLv3 + */ #include "Arduino.h" @@ -12,7 +17,7 @@ #define common_h // Variabili -const uint8_t BCORRECT[256] PROGMEM = { // Tabella per correzione luminosita' PWM +const uint8_t BCORRECT[256] PROGMEM = { // Tabella per correzione luminosita' LED a 8bit 0,0,0,1,1,1,2,1,1,2,1,2,2,2,3,2, 2,2,3,2,2,3,2,3,3,3,4,3,3,3,4,4, 4,5,4,5,4,5,5,6,5,5,6,5,6,6,7,6, @@ -43,9 +48,11 @@ class RGBLed { byte redValue ; byte greenValue ; byte blueValue ; + byte common ; public: RGBLed (byte pinR, byte pinG, byte pinB) ; + RGBLed (byte pinR, byte pinG, byte pinB, byte com) ; void SetColor (byte r, byte g, byte b) ; void Red (); void Green (); @@ -71,9 +78,13 @@ class Lampeggiatore { public: Lampeggiatore(int pin); void Invert(); // Inverte il lampeggio - void Blink(); // Lampeggia ogni 500ms - void Blink(long interval); // Lampeggia inpostando l'intervallo - void Blink(long on, long down); // Imposta il tempo acceso e il tempo spento + void Blink(); // Lampeggia ogni 500ms + void Blink(long interval, long drift = 0); // Lampeggia inpostando l'intervallo + void Blink(long on, long down, long drift); // Imposta il tempo acceso e il tempo spento + void High(); // Accende il LED + void Low(); // Spegne il LED + void Swap(); // Inverte lo stato del LED + unsigned long shift ; // anticipo / ritardo }; @@ -89,15 +100,20 @@ class Pwm { int ledPin ; // il numero del LED pin int speed ; // velocita' del ciclo in ms unsigned long previousMillis ; //precedente cambio di stato - byte increment ; // aumenta brighteness nel loop UD + byte increment ; // aumenta brighteness nel loop UD // Constructor: come viene instanziato un oggetto facente parte della classe public: Pwm(int pin); // numero di pin, velocita' di ciclo - void Up(long speed); - void Down(long speed); - void UD(long speed); + void Up(long speed, long drift = 0); + void lUp(long speed, long drift = 0); + void Down(long speed, long drift = 0); + void lDown(long speed, long drift = 0); + void UD(long speed, long drift = 0); + void Set(byte brighteness); + void lSet(byte brighteness); byte brightness ; // luminostia' iniziale + unsigned long shift ; // anticipo / ritardo }; @@ -138,6 +154,10 @@ class Sequenza { // Funzioni void brilla(byte pin, int velocita = 200) ; -#endif byte lum(byte val); + +int calibraTrim(int pin, byte ledPin = 13); + + +#endif