mirror of https://github.com/ArduPilot/ardupilot
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);
|
|
}
|
|
};
|