mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-04 15:08:28 -04:00
4467929692
On early versions of minlure an RGB LED was wrongly placed next to the barometer, causing trouble on it. Additionally depending on the LED intensity it may be a pain to leave it turned on for boards supposed to be used for bench testing. This allows to disable the LED by software so we don't have to remove it.
36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "RGBLed.h"
|
|
|
|
class RCOutputRGBLed: public RGBLed {
|
|
public:
|
|
RCOutputRGBLed(uint8_t red_channel, uint8_t green_channel,
|
|
uint8_t blue_channel, uint8_t led_off, uint8_t led_full,
|
|
uint8_t led_medium, uint8_t led_dim);
|
|
RCOutputRGBLed(uint8_t red_channel, uint8_t green_channel,
|
|
uint8_t blue_channel);
|
|
bool hw_init();
|
|
virtual bool hw_set_rgb(uint8_t red, uint8_t green, uint8_t blue);
|
|
|
|
private:
|
|
uint8_t _red_channel;
|
|
uint8_t _green_channel;
|
|
uint8_t _blue_channel;
|
|
};
|
|
|
|
class RCOutputRGBLedOff : public RCOutputRGBLed {
|
|
public:
|
|
RCOutputRGBLedOff(uint8_t red_channel, uint8_t green_channel,
|
|
uint8_t blue_channel, uint8_t led_off)
|
|
: RCOutputRGBLed(red_channel, green_channel, blue_channel,
|
|
led_off, led_off, led_off, led_off)
|
|
{ }
|
|
|
|
/* Override the hw_set_rgb method to turn leds off regardless of the
|
|
* values passed */
|
|
bool hw_set_rgb(uint8_t red, uint8_t green, uint8_t blue) override
|
|
{
|
|
return RCOutputRGBLed::hw_set_rgb(_led_off, _led_off, _led_off);
|
|
}
|
|
};
|