123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #include "PixRacerLED.h"
- #if CONFIG_HAL_BOARD == HAL_BOARD_CHIBIOS
- #ifndef HAL_GPIO_A_LED_PIN
- #define HAL_GPIO_A_LED_PIN -1
- #endif
- #ifndef HAL_GPIO_B_LED_PIN
- #define HAL_GPIO_B_LED_PIN -1
- #endif
- #ifndef HAL_GPIO_C_LED_PIN
- #define HAL_GPIO_C_LED_PIN -1
- #endif
- extern const AP_HAL::HAL& hal;
- PixRacerLED::PixRacerLED() :
- RGBLed(0, 1, 1, 1)
- {
- }
- bool PixRacerLED::hw_init(void)
- {
-
-
- #if HAL_GPIO_LED_ON != 0
- hal.gpio->pinMode(HAL_GPIO_A_LED_PIN, HAL_GPIO_OUTPUT);
- hal.gpio->pinMode(HAL_GPIO_B_LED_PIN, HAL_GPIO_OUTPUT);
- hal.gpio->pinMode(HAL_GPIO_C_LED_PIN, HAL_GPIO_OUTPUT);
- #endif
- hal.gpio->write(HAL_GPIO_A_LED_PIN, HAL_GPIO_LED_OFF);
- hal.gpio->write(HAL_GPIO_B_LED_PIN, HAL_GPIO_LED_OFF);
- hal.gpio->write(HAL_GPIO_C_LED_PIN, HAL_GPIO_LED_OFF);
- return true;
- }
- bool PixRacerLED::hw_set_rgb(uint8_t r, uint8_t g, uint8_t b)
- {
- hal.gpio->write(HAL_GPIO_A_LED_PIN, (r > 0)?HAL_GPIO_LED_ON:HAL_GPIO_LED_OFF);
- hal.gpio->write(HAL_GPIO_B_LED_PIN, (g > 0)?HAL_GPIO_LED_ON:HAL_GPIO_LED_OFF);
- hal.gpio->write(HAL_GPIO_C_LED_PIN, (b > 0)?HAL_GPIO_LED_ON:HAL_GPIO_LED_OFF);
- return true;
- }
- #else
- bool PixRacerLED::hw_init(void) { return true; }
- bool PixRacerLED::hw_set_rgb(uint8_t r, uint8_t g, uint8_t b) { return true; }
- #endif
|