void normal_mode() { if (is_led_on(RED) && counter > led_time[RED]) { red_off(); if (is_led_on(YELLOW)) { yellow_off(); } green_on(); counter = 0; } else if (is_led_on(RED) && counter > (led_time[RED] - led_time[YELLOW]) && counter <= led_time[RED]) { yellow_on(); } else if (is_led_on(YELLOW) && counter > led_time[YELLOW]) { yellow_off(); if (is_led_on(RED)) { red_off(); green_on(); } else if (is_led_on(GREEN)) { green_off(); red_on(); } counter = 0; } else if (is_led_on(GREEN) && counter > (led_time[GREEN])) { green_off(); yellow_on(); counter = 0; } }
void app_rgb_led(void) { red_on(); delay_time(BLINK_DELAY); /* Red */ red_off(); green_on(); delay_time(BLINK_DELAY); /* Green */ green_off(); blue_on(); delay_time(BLINK_DELAY); /* Blue */ red_on(); delay_time(BLINK_DELAY); /* Blue + Red */ green_on(); blue_on(); delay_time(BLINK_DELAY); /* Red + Green */ red_off(); blue_on(); delay_time(BLINK_DELAY); /* Green + Blue */ red_on(); delay_time(BLINK_DELAY); /* Green + Blue + Red */ green_off(); blue_off(); }
void state_machine(void) { switch(ruw_state) { case 0: break; case 1: //VOLUMEN rub_stop_flag = 0; break; case 2: //FWD if(rub_pista == 5) rub_pista = 1; else rub_pista++; ruw_i=0; ruw_o=0; if(rub_reproduciendo == 1) ruw_state = 16; else ruw_state = 17; rub_stop_flag = 0; break; case 8: //STOP red_off(); green_off(); blue_off(); rub_flag = 0; rub_reproduciendo = 0; if(rub_stop_flag == 1) rub_pista = 1; rub_stop_flag = 1; ruw_state = 0; ruw_i=0; ruw_o=0; break; case 16: //PLAY rub_reproduciendo = 1; ruw_state = 16; rub_stop_flag = 0; break; case 17: //PAUSE rub_reproduciendo = 0; rub_stop_flag = 0; break; case 128: //VOLUMEN rub_stop_flag = 0; break; //RWD case 129: if(ruw_i>10 || ruw_o>0){ ruw_i=0; ruw_o=0; } else if((ruw_i<10) && (ruw_o==0)) { if(rub_pista == 1) rub_pista = 5; else rub_pista--; ruw_i = 0; ruw_o = 0; } if(rub_reproduciendo == 1) ruw_state = 16; else ruw_state = 17; rub_stop_flag = 0; break; default: rub_stop_flag = 0; break; } }
void player(void) { switch(rub_pista) { case 0: red_off(); green_off(); blue_off(); ruw_i=0; ruw_o=0; break; case 1: if(rub_reproduciendo == 1) { if(ruw_o<4) { if(ruw_i>0) { red_off(); green_on(); blue_off(); } if(ruw_i>6) { red_on(); green_on(); blue_on(); } if(ruw_i>10) { blue_off(); red_on(); green_off(); } if(ruw_i>12) { blue_on(); red_off(); green_off(); } if(ruw_i>16) { ruw_i = 0; ruw_o++; } ruw_i++; } else { ruw_i=0; ruw_o=0; rub_pista++; } } break; case 2: if(rub_reproduciendo == 1) { if(ruw_o<4) { if(ruw_i>0) { red_off(); green_on(); blue_on(); } if(ruw_i>4) { red_on(); green_off(); blue_on(); } if(ruw_i>8) { blue_off(); red_off(); green_on(); } if(ruw_i>14) { blue_off(); red_on(); green_off(); } if(ruw_i>16) { ruw_i = 0; ruw_o++; } ruw_i++; } else { ruw_i=0; ruw_o=0; rub_pista++; } } break; case 3: if(rub_reproduciendo == 1) { if(ruw_o<4) { if(ruw_i>0) { red_on(); green_on(); blue_on(); } if(ruw_i>6) { red_on(); green_on(); blue_off(); } if(ruw_i>12) { blue_on(); red_off(); green_off(); } if(ruw_i>16) { blue_off(); red_on(); green_off(); } if(ruw_i>18) { ruw_i = 0; ruw_o++; } ruw_i++; } else { ruw_i=0; ruw_o=0; rub_pista++; } } break; case 4: if(rub_reproduciendo == 1) { if(ruw_o<3) { if(ruw_i>0) { red_on(); green_on(); blue_off(); } if(ruw_i>4) { red_on(); green_off(); blue_on(); } if(ruw_i>10) { blue_off(); red_off(); green_on(); } if(ruw_i>14) { blue_on(); red_off(); green_off(); } if(ruw_i>20) { ruw_i = 0; ruw_o++; } ruw_i++; } else { ruw_i=0; ruw_o=0; rub_pista++; } } break; case 5: if(rub_reproduciendo == 1) { if(ruw_o<3) { if(ruw_i>0) { red_on(); green_off(); blue_off(); } if(ruw_i>5) { red_on(); green_on(); blue_on(); } if(ruw_i>9) { blue_on(); red_off(); green_off(); } if(ruw_i>15) { blue_off(); red_on(); green_on(); } if(ruw_i>21) { ruw_i = 0; ruw_o++; } ruw_i++; } else { ruw_i=0; ruw_o=0; rub_pista = 1; } } break; default: red_off(); green_off(); blue_off(); ruw_i=0; ruw_o=0; break; } }
void app_rgb_led_fsm(void) { static unsigned char rgb_state = 0; switch(rgb_state) { case 0: /* RESET */ /* All off */ red_off(); green_off(); blue_off(); rgb_state = 1; break; case 1: /* red on */ red_on(); green_off(); blue_off(); rgb_state = 2; break; case 2: /* green on */ red_off(); green_on(); blue_off(); rgb_state = 3; break; case 3: /* blue on */ red_off(); green_off(); blue_on(); rgb_state = 4; break; case 4: /* red + green */ red_on(); green_on(); blue_off(); rgb_state = 5; break; case 5: /* red + blue */ red_on(); green_off(); blue_on(); rgb_state = 6; break; case 6: /* green + blue */ red_off(); green_on(); blue_on(); rgb_state = 7; break; case 7: /* All on */ red_on(); green_on(); blue_on(); rgb_state = 1; break; default: /* Go to RESET */ rgb_state = 0; break; } }
void leds_off(void){ green_off(); red_off(); blue_off(); }
void lights_off() { red_off(); yellow_off(); green_off(); }