Ejemplo n.º 1
0
void ButtonInit()
{
	B_UNSET(BUTTON_PORT_DIR, BUTTON_PIN_BIT);		// set as input
	B_UNSET( BUTTON_PORT_IFG, BUTTON_PIN_BIT);		// IFG cleared
	B_SET( BUTTON_PORT_IES, BUTTON_PIN_BIT);		// high-to-low transition

	char printf_buff[140];
	snprintf(printf_buff, sizeof(printf_buff), "Button released...%s", ICT_TAB_STRING);
	UartXmitString(printf_buff);
	int timeout = 200;
	while( !ButtonState() &&  timeout)
	{
		timeout--;
		delay_ms(1);
	}
	if ( timeout == 0 )
	{
		snprintf(printf_buff, sizeof(printf_buff), "OK\n\r");

	}
	else// button pressed or floating pin
	{
		snprintf(printf_buff, sizeof(printf_buff), "FAIL\n\r");
	}
	UartXmitString(printf_buff);
}
Ejemplo n.º 2
0
void VarioSettingPlay(void)
{
#ifdef DEBUG
    char printf_buff[32];
    printf_buff[0] = 0;
    char printf_len = 0;
#endif // DEBUG
    switch(VarioSettingPlayState)
    {
    case VARIO_STATE_IDDLE:
#ifdef DEBUG
        printf_len += snprintf(printf_buff+printf_len, sizeof(printf_buff)-printf_len, "VARIO_STATE_IDDLE\n\r");
        UartXmitString(printf_buff);
#endif // DEBUG
        if (VarioSettingPlayDelay-- == 0)
        {
            VarioSettingPlayLoop = 	VarioSettingMode;
            VarioSettingPlayState = VARIO_STATE_PLAY_START;
            VarioSettingPlayDelay = VARIO_SETTING_PLAY_DELAY;

        }
        break;
    case VARIO_STATE_PLAY_START:
#ifdef DEBUG
        printf_len += snprintf(printf_buff+printf_len, sizeof(printf_buff)-printf_len, "VARIO_STATE_PLAY_START\n\r");
        UartXmitString(printf_buff);
#endif // DEBUG
        if (VarioSettingPlayLoop--)
        {
            VarioSettingPlayPause = VARIO_SETTING_PLAY_PAUSE;
            VarioSettingPlayState = VARIO_STATE_PLAYING;
            BuzzerSetQueue(VARIO_SETTING_SOUND_FREQ, VARIO_SETTING_SOUND_BIP_ON_LEN);
        }
        else
        {
            VarioSettingPlayDelay = VARIO_SETTING_PLAY_DELAY;
            VarioSettingPlayState = VARIO_STATE_IDDLE;
        }
        break;
    case VARIO_STATE_PLAYING:
#ifdef DEBUG
        printf_len += snprintf(printf_buff+printf_len, sizeof(printf_buff)-printf_len, "VARIO_STATE_PLAYING\n\r");
        UartXmitString(printf_buff);
#endif // DEBUG
        if (!VarioSettingPlayPause--)
        {
            VarioSettingPlayState = VARIO_STATE_PLAY_START;
        }
        break;
    }
}
Ejemplo n.º 3
0
void VarioToggleStationaryMode()
{
	if (Vario_Mode_Stationary)
	{
		UartXmitString("Detector OFF\n\r");
		BuzzerDemoSoundTacTacOff();
		Vario_Mode_Stationary = false;
	}
	else
	{
		UartXmitString("Detector ON\n\r");
		BuzzerDemoSoundTacTacOn();
		Vario_Mode_Stationary = true;
	}
}
Ejemplo n.º 4
0
void BatteryCheck(void)
{
#ifndef POWER_DISABLE_ADC
	int adc_val;
	ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start
	while (ADC10CTL1 & ADC10BUSY)// ADC10BUSY?
		;	// wait
	adc_val = ADC10MEM;
	#ifdef ADC_DEBUG_OUTPUT
	char printf_buff[100];
	char printf_len = 0;
	unsigned long BattVal = adc_val;
	printf_len += snprintf(printf_buff+printf_len, sizeof(printf_buff)-printf_len, "Battery: %ld\n\r", BattVal);
	printf_len += snprintf(printf_buff+printf_len, sizeof(printf_buff)-printf_len, "Battery: %ld V\n\r", (BattVal*VREF)/ADCRANGE);
	UartXmitString(printf_buff);
	#endif //ADC_DEBUG_OUTPUT

	if ( adc_val < VLOWBATT )
		BatteryState = 1;                      // low batt
	else if (adc_val > VMEDIUMBATT)
		BatteryState =  0;                      // batt ok
	else
		BatteryState =  2;                      // medium batt
#else //POWER_DISABLE_ADC

#endif //POWER_DISABLE_ADC

}
Ejemplo n.º 5
0
uint8_t Button()
{
	uint8_t button_state = BUTTON_NONE;

	static uint8_t button_last_state = 0;
	static uint8_t button_tempo = 0;
	static int16_t ButtonDoubleTimeout = 0;
	static bool		ButtonDoubleOk = false;

	if(!B_IS_SET(BUTTON_PORT_IN, BUTTON_PIN_BIT))
	{

		if((ButtonDoubleTimeout <= 0)||(ButtonDoubleTimeout == BUTTON_DOUBLE_TIMEOUT))
		{
			ButtonDoubleTimeout = BUTTON_DOUBLE_TIMEOUT;
		}
		else
		{
			ButtonDoubleOk = true;
		}
		button_tempo++;
		if (button_tempo >= BUTTON_LONG_TIMEOUT)
		{
			button_state = BUTTON_LONG;
			ButtonDoubleTimeout = -1;
			button_last_state = button_state;
		}
		else
			button_state = BUTTON_PRESSED;


	}
	else if (ButtonDoubleOk)
	{
		ButtonDoubleOk = false;
		ButtonDoubleTimeout = -1;
		button_state = BUTTON_DOUBLE;
	}
	else
	{
		if (ButtonDoubleTimeout >= 0 )
		{
			ButtonDoubleTimeout--;
		}
		if (ButtonDoubleTimeout == 0)
		{
			button_state = BUTTON_SHORT;
			ButtonDoubleTimeout = -1;
		}
		button_tempo = 0;
	}

#ifdef DEBUG_BUTTON
	char printf_buff[30];
	char printf_len = 0;
	if(button_state == BUTTON_SHORT)
	{
		printf_len += snprintf(printf_buff+printf_len, sizeof(printf_buff)-printf_len, "Button short\n\r");
		UartXmitString(printf_buff);
	}
	else if(button_state == BUTTON_DOUBLE)
	{
		printf_len += snprintf(printf_buff+printf_len, sizeof(printf_buff)-printf_len, "Button double\n\r");
	UartXmitString(printf_buff);
}
	else if(button_state == BUTTON_LONG)
	{
		printf_len += snprintf(printf_buff+printf_len, sizeof(printf_buff)-printf_len, "Button long\n\r");
	UartXmitString(printf_buff);
}
#endif //DEBUG_BUTTON
	return button_state;
}