void led_yellow_blink(int ms) { led_yellow_on(); stall(ms); led_yellow_off(); stall(ms); }
int8_t ker_led(uint8_t action) { switch (action){ case LED_RED_ON: led_red_on(); break; case LED_GREEN_ON: led_green_on(); break; case LED_YELLOW_ON: led_yellow_on(); break; case LED_RED_OFF: led_red_off(); break; case LED_GREEN_OFF: led_green_off(); break; case LED_YELLOW_OFF: led_yellow_off(); break; case LED_RED_TOGGLE: led_red_toggle(); break; case LED_GREEN_TOGGLE: led_green_toggle(); break; case LED_YELLOW_TOGGLE: led_yellow_toggle(); break; } return 0; }
static void sfi_err_code_led_display(uint8_t errcode) { uint8_t _led_display; _led_display = errcode; if (_led_display & 0x01) led_yellow_on(); else led_yellow_off(); _led_display >>= 1; if (_led_display & 0x01) led_green_on(); else led_green_off(); _led_display >>= 1; if (_led_display & 0x01) led_red_on(); else led_red_off(); return; }
SOS_MODULE int8_t module(void *state, Message *msg) { app_state *s = (app_state*) state; switch (msg->type){ case MSG_INIT: { s->pid = msg->did; s->port = 1; if (ker_pushbutton_register(s->pid)==-EINVAL) {led_red_on();} s->state = OPTIONS; ker_serial_write(s->pid, s->port, "*****WELCOME TO RAGOBOT V1.0*****\n\r", 35, 0); ker_timer_start(s->pid, 0, TIMER_ONE_SHOT, 1000); break; } case MSG_TIMER_TIMEOUT: { if(s->state == OPTIONS) { s->state = READ; ker_serial_write(s->pid, s->port, "Please Select From The Following Options:\n\r1. HELLO\n\r2. COOL\n\r", 62, 0); if (ker_serial_read(s->pid, s->port, 1) != SOS_OK) led_yellow_on(); } break; } case MSG_UART1_READ_DONE: { if (*(msg->data) == '1') { ker_serial_write(s->pid, s->port, "> Hi, My name is Ragobot.\n\r", 27, 0); } else if (*(msg->data) == '2') { ker_serial_write(s->pid, s->port, "> Yes, Ragobots are cool!\n\r", 27, 0); } else { ker_serial_write(s->pid, s->port, "> Invalid Selection. Please Try Again.\n\r", 40, 0); } s->state = OPTIONS; ker_timer_start(s->pid, 0, TIMER_ONE_SHOT, 1000); break; } case MSG_PUSHBUTTON_PRESSED: { s->port = (s->port + 1) % numports; s->state = OPTIONS; ker_serial_write(s->pid, s->port, "*****WELCOME TO RAGOBOT V1.0*****\n\r", 35, 0); ker_timer_start(s->pid, 0, TIMER_ONE_SHOT, 1000); break; } case MSG_FINAL: { ker_timer_stop(s->pid, 0); ker_pushbutton_deregister(s->pid); break; } } return SOS_OK; }