X-Git-Url: http://www.average.org/gitweb/?p=pulsecounter.git;a=blobdiff_plain;f=Pulsecounter-Prog.c;h=5b9beab300232c87ff693167fecdb4a040ad3b49;hp=f5071784b56c41126d9d58559242d7bf0ea0b090;hb=62d25e937392e215935ad07e554ef9b18dba18fe;hpb=13db6cae32995a2f76fb4b4f1c5f40cea2470a55 diff --git a/Pulsecounter-Prog.c b/Pulsecounter-Prog.c index f507178..5b9beab 100644 --- a/Pulsecounter-Prog.c +++ b/Pulsecounter-Prog.c @@ -1,10 +1,15 @@ #include "Pulsecounter.h" #include "Hal.h" -static void buttonHandler(void); +static void buttonHandler(uint8_t id); static void tickHandler(void); static bool connected = false; -static int32_t buttonCnt = 0; +static int32_t base4 = 0; +static int32_t base5 = 1000; +static int32_t event4 = 0; +static int32_t event5 = 0; + +static bool cold = true; void main() { Hal_init(); @@ -14,12 +19,20 @@ void main() { Hal_idleLoop(); } -static void buttonHandler(void) { +static void buttonHandler(uint8_t id) { uint8_t i; - buttonCnt++; - if (connected) - Pulsecounter_event3_indicate(); + cold = !cold; + if (cold) + event4++; + else + event5++; + if (connected) { + if (cold) + Pulsecounter_event4_indicate(); + else + Pulsecounter_event5_indicate(); + } else Pulsecounter_accept(true); for (i = 0; i < 3; i++) { @@ -75,14 +88,26 @@ void Pulsecounter_disconnectHandler(void) { Hal_disconnected(); } -void Pulsecounter_event3_fetch(Pulsecounter_event3_t* const output) { - *output = buttonCnt; -} - void Pulsecounter_event4_fetch(Pulsecounter_event4_t* const output) { - *output = 4; + *output = base4 + event4; } void Pulsecounter_event5_fetch(Pulsecounter_event5_t* const output) { - *output = 5; + *output = base5 + event5; +} + +void Pulsecounter_base4_fetch(Pulsecounter_base4_t* const output) { + *output = base4; +} + +void Pulsecounter_base4_store(Pulsecounter_base4_t* const input) { + base4 = *input - event4; +} + +void Pulsecounter_base5_fetch(Pulsecounter_base5_t* const output) { + *output = base5; +} + +void Pulsecounter_base5_store(Pulsecounter_base5_t* const input) { + base5 = *input - event5; }