void
ao_led_set(AO_LED_TYPE colors)
{
- AO_LED_TYPE on = colors & LEDS_AVAILABLE;
- AO_LED_TYPE off = ~colors & LEDS_AVAILABLE;
+ AO_LED_TYPE on = colors & (AO_LED_TYPE) LEDS_AVAILABLE;
+ AO_LED_TYPE off = (AO_LED_TYPE) (~colors & (AO_LED_TYPE) LEDS_AVAILABLE);
ao_led_off(off);
ao_led_on(on);
}
-void
-ao_led_toggle(AO_LED_TYPE colors)
-{
-#ifdef LED_PORT
- LED_PORT->odr ^= (colors & LEDS_AVAILABLE);
-#else
-#ifdef LED_PORT_0
- LED_PORT_0->odr ^= ((colors & LEDS_AVAILABLE) & LED_PORT_0_MASK) << LED_PORT_0_SHIFT;
-#endif
-#ifdef LED_PORT_1
- LED_PORT_1->odr ^= ((colors & LEDS_AVAILABLE) & LED_PORT_1_MASK) << LED_PORT_1_SHIFT;
-#endif
-#ifdef LED_PORT_2
- LED_PORT_2->odr ^= ((colors & LEDS_AVAILABLE) & LED_PORT_2_MASK) << LED_PORT_2_SHIFT;
-#endif
-#endif
-}
-
void
ao_led_for(AO_LED_TYPE colors, AO_TICK_TYPE ticks)
{
#ifdef LED_PORT
stm_rcc.ahbenr |= (1 << LED_PORT_ENABLE);
- LED_PORT->odr &= ~LEDS_AVAILABLE;
+ LED_PORT->odr &= ~(uint32_t) LEDS_AVAILABLE;
#else
#ifdef LED_PORT_0
stm_rcc.ahbenr |= (1 << LED_PORT_0_ENABLE);