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 set_color(COLOR c,T_UBYTE vol){ static T_UBYTE cont=0; cont++; cont %=100; leds_off(); if(cont % vol !=0){ switch(c){ case LED_RED: red_on(); break; case LED_GREEN: green_on(); break; case LED_BLUE: blue_on(); break; case LED_CYAN: green_on(); blue_on(); break; case LED_MAGENTA: red_on(); blue_on(); break; case LED_YELLOW: green_on(); red_on(); break; case LED_WHITE: red_on(); green_on(); blue_on(); break; case LED_OFF: leds_off(); break; } }else{} }
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 led_callback (uint_fast8_t on) { #ifdef ST_Link if (on) { red_on(); } else { LED_deinit(); } #else LED_PORT->ODR ^= LED_PIN; #endif /* ST_Link */ #ifdef EXTLED_PORT EXTLED_PORT->ODR ^= EXTLED_PIN; #endif }
void blink_LED(void) { #ifdef ST_Link red_on(); #ifdef EXTLED_PORT EXTLED_PORT->ODR ^= EXTLED_PIN; #endif delay_ms(25); LED_deinit(); #ifdef EXTLED_PORT EXTLED_PORT->ODR ^= EXTLED_PIN; #endif #else LED_PORT->ODR ^= LED_PIN; #ifdef EXTLED_PORT EXTLED_PORT->ODR ^= EXTLED_PIN; #endif delay_ms(25); LED_PORT->ODR ^= LED_PIN; #ifdef EXTLED_PORT EXTLED_PORT->ODR ^= EXTLED_PIN; #endif #endif /* ST_Link */ }
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; } }