1 #include "Pulsecounter.h"
4 static void gpioHandler(uint8_t id);
5 static void tickHandler(void);
6 static bool connected = false;
7 static int32_t base4 = 0;
8 static int32_t base5 = 0;
9 static int32_t event4 = 0;
10 static int32_t event5 = 0;
14 Hal_gpioEnable(gpioHandler);
15 Pulsecounter_setDeviceName("PULS-CNTR");
20 static void gpioHandler(uint8_t id) {
25 Pulsecounter_accept(true);
31 Hal_tickStart(15000, tickHandler);
36 Pulsecounter_event4_indicate();
44 Pulsecounter_event5_indicate();
50 for (i = 0; i < 5; i++) {
61 static void tickHandler(void) {
67 for (i = 0; i < 3; i++) {
76 Pulsecounter_accept(false);
79 /* -------- SCHEMA CALLBACKS -------- */
81 void Pulsecounter_connectHandler(void) {
92 void Pulsecounter_disconnectHandler(void) {
100 Hal_tickStart(15000, tickHandler);
104 void Pulsecounter_event4_fetch(Pulsecounter_event4_t* const output) {
105 *output = base4 + event4;
108 void Pulsecounter_event5_fetch(Pulsecounter_event5_t* const output) {
109 *output = base5 + event5;
112 void Pulsecounter_base4_fetch(Pulsecounter_base4_t* const output) {
116 void Pulsecounter_base4_store(Pulsecounter_base4_t* const input) {
117 base4 = *input - event4;
120 void Pulsecounter_base5_fetch(Pulsecounter_base5_t* const output) {
124 void Pulsecounter_base5_store(Pulsecounter_base5_t* const input) {
125 base5 = *input - event5;