/* * BlinkMCylon -- * * * * 2008 Tod E. Kurt, http://thingm.com/ * */ #include "Wire.h" #include "BlinkM_funcs.h" int ledPin = 13; #define num_blinkms 13 #define blinkm_start_addr 10 //#define max_t2 1500 #define max_t2 10 #define fadespeed 7 //byte blinkm_addrs[num_blinkms] = { // 10,11,12,13,14,15,16, byte curr_blinkm = 0; int incdec = 1; // only +1 or -1 byte t1; // t1 runs from 0-255,0-255,... rolls over int t2 = max_t2; // t2 is the number of t1s to wait before doing cylong thing byte debug = 1; //-- knob data --------------- #define num_knobs 3 #define red_knob 2 #define grn_knob 1 #define blu_knob 0 typedef struct _knob { uint8_t clkpin; uint8_t datpin; uint8_t clklast; uint8_t val; } knob; knob knobs[num_knobs] = { { 2,3, 0, 0}, { 4,5, 0, 0}, { 6,7, 0, 0}, }; //-- knob data --------------- void toggleLed() { digitalWrite( ledPin, digitalRead(ledPin)==HIGH ? LOW : HIGH ); } static void knobs_init(void) { for( int i=0; i