X-Git-Url: http://www.average.org/gitweb/?p=pulsecounter.git;a=blobdiff_plain;f=msp430%2FPulsecounter-Prog.c;h=bbd8e9cbbd7af4149c958d3b53e41f49beb2b24b;hp=ced5632fa253abca6f0cf3b09e1e998b960bbc87;hb=HEAD;hpb=02d2dc9e46149beb63a3dac83a9346232e2626da diff --git a/msp430/Pulsecounter-Prog.c b/msp430/Pulsecounter-Prog.c index ced5632..bbd8e9c 100644 --- a/msp430/Pulsecounter-Prog.c +++ b/msp430/Pulsecounter-Prog.c @@ -6,7 +6,6 @@ static void tickHandler(void); static int32_t cold = 0; static int32_t hot = 0; static bool connected = false; -static bool updatable = false; void main() { Hal_init(); @@ -16,50 +15,46 @@ void main() { Hal_idleLoop(); } +static void blink(uint8_t which, uint8_t count) { + uint8_t i; + for (i = 0; i < count; i++) { + if (i) Hal_delay(50); + if (which & 1) Hal_greenLedOn(); + if (which & 2) Hal_redLedOn(); + Hal_delay(50); + if (which & 1) Hal_greenLedOff(); + if (which & 2) Hal_redLedOff(); + } +} + static void gpioHandler(uint8_t id) { uint8_t i; switch (id) { case 0: /* Pulsecounter_accept(true); */ - updatable = true; if (connected) { Pulsecounter_coldTick_indicate(); Hal_delay(100); Pulsecounter_hotTick_indicate(); } - Hal_greenLedOn(); - Hal_redLedOn(); - Hal_delay(10); - Hal_greenLedOff(); - Hal_redLedOff(); + blink(3, 2); Hal_tickStart(15000, tickHandler); break; case 1: cold++; if (connected) Pulsecounter_coldTick_indicate(); - Hal_greenLedOn(); - Hal_delay(10); - Hal_greenLedOff(); + blink(1, 2); break; case 2: hot++; if (connected) Pulsecounter_hotTick_indicate(); - Hal_redLedOn(); - Hal_delay(10); - Hal_redLedOff(); + blink(2, 2); break; default: - for (i = 0; i < 5; i++) { - Hal_greenLedOn(); - Hal_redLedOn(); - Hal_delay(10); - Hal_greenLedOff(); - Hal_redLedOff(); - Hal_delay(10); - } + blink(3, 15); } } @@ -78,7 +73,6 @@ static void tickHandler(void) { Hal_delay(50); Hal_greenLedOff(); } - updatable = false; /* Pulsecounter_accept(false); */ } @@ -87,26 +81,14 @@ static void tickHandler(void) { void Pulsecounter_connectHandler(void) { connected = true; Hal_tickStop(); - Hal_connected(); - Hal_redLedOn(); - Hal_delay(100); - Hal_redLedOff(); - Hal_greenLedOn(); - Hal_delay(100); - Hal_greenLedOff(); + blink(1, 5); } void Pulsecounter_disconnectHandler(void) { connected = false; - updatable = false; - Hal_greenLedOn(); - Hal_delay(100); - Hal_greenLedOff(); - Hal_redLedOn(); - Hal_delay(100); - Hal_redLedOff(); /* Hal_tickStart(15000, tickHandler); */ Hal_disconnected(); + blink(2, 5); } void Pulsecounter_coldTick_fetch(Pulsecounter_coldTick_t* const output) { @@ -116,27 +98,3 @@ void Pulsecounter_coldTick_fetch(Pulsecounter_coldTick_t* const output) { void Pulsecounter_hotTick_fetch(Pulsecounter_hotTick_t* const output) { *output = hot; } - -void Pulsecounter_coldSet_store(Pulsecounter_coldSet_t* const input) { - Hal_greenLedOn(); - Hal_delay(100); - Hal_greenLedOff(); - Hal_delay(100); - Hal_greenLedOn(); - Hal_delay(100); - Hal_greenLedOff(); - // if (updatable) - cold = *input; -} - -void Pulsecounter_hotSet_store(Pulsecounter_hotSet_t* const input) { - Hal_redLedOn(); - Hal_delay(100); - Hal_redLedOff(); - Hal_delay(100); - Hal_redLedOn(); - Hal_delay(100); - Hal_redLedOff(); - // if (updatable) - hot = *input; -}