/* * BlinkMKnobCylon -- * * * * 2008 Tod E. Kurt, http://thingm.com/ * */ #include "Wire.h" #include "BlinkM_funcs.h" #define debug 1 int ledPin = 13; #define num_knobs 3 typedef struct _knob { uint8_t clkpin; uint8_t datpin; uint8_t clklast; uint8_t val; } knob; knob knobs[num_knobs] = { { 2,3, 0, 0}, // knob 0 { 4,5, 0, 0}, // knob 1 { 6,7, 0, 0x7f}, // knob 2 }; #define red_knob 2 #define grn_knob 1 #define blu_knob 0 #define num_blinkms 10 #define max_t2 50 byte blinkm_addrs[num_blinkms]; byte curr_blinkm = 0; int incdec = 1; // only +1 or -1 byte t1; int t2=max_t2; void toggleLed() { digitalWrite( ledPin, digitalRead(ledPin)==HIGH ? LOW : HIGH ); } static void knobs_init(void) { for( int i=0; i