Esempio n. 1
0
void
led_yellow_blink(int ms)
{
    led_yellow_on();
    stall(ms);
    led_yellow_off();
    stall(ms);
}
Esempio n. 2
0
File: led.c Progetto: nesl/sos-2x
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;
}
Esempio n. 3
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;
}
Esempio n. 4
0
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;
}