#define SWITCH_LED 2 #define SERIAL_LED 3 #define OFFSET 3 #define LED1 4 #define LED2 5 #define LED3 6 #define LED4 7 #define LED5 8 #define SWITCH 9 /* ====={ T U R N O N S E R I A L L E D }======================= */ inline void turn_on_serial_led( void ) { digitalWrite( SERIAL_LED, HIGH ); digitalWrite( SWITCH_LED, LOW ); } /* ====={ T U R N O N S W I T C H L E D }======================= */ inline void turn_on_switch_led( void ) { digitalWrite( SWITCH_LED, HIGH ); digitalWrite( SERIAL_LED, LOW ); } /* ====={ T U R N O N L E D S }================================== */ inline void turn_on_leds( int *num ) { static int led_on; static int led_off; static int last_led; last_led = *num + OFFSET; led_on = LED1; // Turn on leds for( led_on = LED1; led_on < last_led; led_on++ ) digitalWrite( led_on, HIGH ); // Like a MIDI note-on message w/a value of 0, turn off leds for( led_off = led_on; led_off < last_led; led_off++ ) digitalWrite( led_off, LOW ); } /* ====={ T U R N O N P R E S S U R E L E D S }================= */ inline void gauge_pressure( int *pick_value ) { static int num_of_leds; // Turn on all LEDs if( *pick_value >= 109 ) { num_of_leds = 5; turn_on_leds( &num_of_leds ); } // Turn on the first 4 LEDs if( (*pick_value >= 87) && (*pick_value <= 108) ) { num_of_leds = 4; turn_on_leds( &num_of_leds ); } // Turn on the first 3 LEDs if( (*pick_value >= 65) && (*pick_value <= 86) ) { num_of_leds = 3; turn_on_leds( &num_of_leds ); } // Turn on the first 2 LEDs if( (*pick_value >= 43) && (*pick_value <= 64) ) { num_of_leds = 2; turn_on_leds( &num_of_leds ); } // Turn on the first LED if( (*pick_value >= 21) && (*pick_value <= 42) ) { num_of_leds = 1; turn_on_leds( &num_of_leds ); } // Turn off all LEDs if( *pick_value < 21 ) { num_of_leds = 0; turn_on_leds( &num_of_leds ); } }