示例#1
0
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;
  }
}
示例#2
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{}

}
示例#3
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();
}
示例#4
0
文件: main.c 项目: j1rie/IRMP_STM32
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
}
示例#5
0
文件: main.c 项目: j1rie/IRMP_STM32
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 */
}
示例#6
0
 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;
	 }
	 
 }
示例#7
0
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;
	}
}