Ejemplo n.º 1
0
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
{
unsigned long ulLEDs;

  	/* Suspend all other tasks, in order to make sure no other tasks excecutes
	this code at the same time. */
	vTaskSuspendAll();
	{
		ulLEDs = DVK_getLEDs();
		
		if( xValue == pdTRUE )
		{
			/* Turn the LED on if xValue is true. */
			ulLEDs = ulLEDs | ( 1 << uxLED );
		}
		else
		{
			/* Turn the LED off if xValue is not true. */
			ulLEDs &= ~( 1 << uxLED );
		}
	
		DVK_setLEDs( ulLEDs );
	}	
 	xTaskResumeAll();
}
Ejemplo n.º 2
0
rt_uint8_t rt_hw_led_state(rt_uint8_t num)
{
    RT_ASSERT(num < LEDS_MAX_NUMBER);

#if defined(EFM32_G8XX_STK)
    return (rt_uint8_t)GPIO_PinInGet(leds_list[num][0], leds_list[num][1]);
#elif (defined(EFM32_GXXX_DK) || defined(EFM32GG_DK3750))
    return ((DVK_getLEDs() & (rt_uint16_t)(1 << num)) >> num);
#endif

}
Ejemplo n.º 3
0
void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{
unsigned long ulLEDs;

	vTaskSuspendAll();
	{
		ulLEDs = DVK_getLEDs();
		ulLEDs = ulLEDs ^ ( 1 << uxLED );
		DVK_setLEDs( ulLEDs );
	}
	xTaskResumeAll();
}
Ejemplo n.º 4
0
/***************************************************************************//**
 * @brief
 *   Turn off a LED
 *
 * @details
 *
 * @note
 *
 * @param[in] num
 *   LED number
 *
 ******************************************************************************/
void rt_hw_led_off(rt_uint8_t num)
{
    RT_ASSERT(num < LEDS_MAX_NUMBER);

#if defined(EFM32_G8XX_STK)
    GPIO_PinOutClear(leds_list[num][0], leds_list[num][1]);
#elif (defined(EFM32_GXXX_DK) || defined(EFM32GG_DK3750))
{
    rt_uint16_t leds;

    leds = DVK_getLEDs() & ~(rt_uint16_t)(1 << num);
    DVK_setLEDs(leds);
}
#endif
}
Ejemplo n.º 5
0
void list_leds(void)
{
    rt_uint8_t i;

    rt_kprintf(" led  \t port \t pin  \t state\n");
    rt_kprintf(" -----\t -----\t -----\t -----\n");

    for (i = 0; i < LEDS_MAX_NUMBER; i++)
    {
#if defined(EFM32_G8XX_STK)
        rt_kprintf(" %d    \t %x    \t %x    \t %x    \n",
            i, leds_list[i][0], leds_list[i][1], rt_hw_led_state(i));
#elif (defined(EFM32_GXXX_DK) || defined(EFM32GG_DK3750))
        rt_uint16_t leds;

        leds = DVK_getLEDs();
        rt_kprintf(" %d    \t FPGA \t FPGA \t %x      \n",
            i, (leds & (1 << i))? 1 : 0);
#endif
    }
}