From 762c7de477f5757c6a29a875d62d48c4a2b8bf32 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 7 Feb 2013 04:56:07 +0000 Subject: added status command further improved output git-svn-id: https://svn.spreadspace.org/avr/trunk@176 aa12f405-d877-488e-9caf-2d797e2a1cc7 --- usb-i2c-sl018/limits.c | 11 +++++++++++ usb-i2c-sl018/limits.h | 1 + usb-i2c-sl018/tuer-rfid.c | 21 +++++++++++++-------- 3 files changed, 25 insertions(+), 8 deletions(-) (limited to 'usb-i2c-sl018') diff --git a/usb-i2c-sl018/limits.c b/usb-i2c-sl018/limits.c index db0e4ee..b96cf94 100644 --- a/usb-i2c-sl018/limits.c +++ b/usb-i2c-sl018/limits.c @@ -90,3 +90,14 @@ limits_t limits_get(void) return moving; } + +const char* limits_to_string(limits_t limits) +{ + switch(limits) { + case moving: return "..."; + case open: return "opened"; + case close: return "closed"; + case both: return "error"; + } + return "invalid"; // gcc - shut the fuck up!!! +} diff --git a/usb-i2c-sl018/limits.h b/usb-i2c-sl018/limits.h index 0548bc1..95bb084 100644 --- a/usb-i2c-sl018/limits.h +++ b/usb-i2c-sl018/limits.h @@ -28,5 +28,6 @@ typedef enum { moving, open, close, both } limits_t; void init_limits(void); limits_t limits_get(void); +const char* limits_to_string(limits_t limits); #endif diff --git a/usb-i2c-sl018/tuer-rfid.c b/usb-i2c-sl018/tuer-rfid.c index 28b7772..856c76d 100644 --- a/usb-i2c-sl018/tuer-rfid.c +++ b/usb-i2c-sl018/tuer-rfid.c @@ -45,7 +45,7 @@ #include "manual.h" #include "ajar.h" -void handle_stdio(uint8_t cmd) +void handle_cmd(uint8_t cmd) { switch(cmd) { case 'r': @@ -70,15 +70,15 @@ void handle_stdio(uint8_t cmd) break; case 'o': eventqueue_push(cmd_open); - printf("ok\n\r"); break; case 'c': eventqueue_push(cmd_close); - printf("ok\n\r"); break; case 't': eventqueue_push(cmd_toggle); - printf("ok\n\r"); + break; + case 's': + printf("Status: %s, %s, %s\n\r", limits_to_string(limits_get()), statemachine_get_state_as_string(), ajar_to_string(ajar_get())); break; /* case '0': ledmatrix(off); break; */ /* case '1': ledmatrix(red); break; */ @@ -89,7 +89,7 @@ void handle_stdio(uint8_t cmd) /* case '6': ledmatrix(green_blink); break; */ /* case '7': ledmatrix(rg_moving); break; */ /* case '8': ledmatrix(rg_blink); break; */ - default: printf("Error(handle_stdio): unknown command %02X '%c'\n\r", cmd, cmd); return; + default: printf("Error(cmd): unknown command %02X '%c'\n\r", cmd, cmd); return; } } @@ -99,11 +99,16 @@ void handle_card(void) sl018_read_card_uid(&uid); if (uid.length) { + printf("Info(card): card("); + for (uint8_t pos=0; pos 0) - handle_stdio(fgetc(stdin)); + handle_cmd(fgetc(stdin)); if (sl018_check_for_new_card()) handle_card(); -- cgit v1.2.3