12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #pragma once
- #include <AP_Common/AP_Common.h>
- #include <AP_HAL/AP_HAL.h>
- #include <AP_Param/AP_Param.h>
- #include "NotifyDevice.h"
- #define HIGH 1
- #define LOW 0
- class ExternalLED: public NotifyDevice
- {
- public:
-
- ExternalLED() : _pattern(NONE) {}
-
- bool init(void) override;
-
- void update(void) override;
- private:
- enum LEDPattern {
- NONE = 0,
- FAST_FLASH = 1,
- OSCILLATE = 2
- };
-
- struct copterleds_flag_type {
-
- uint8_t armedled_on : 1;
- uint8_t gpsled_on : 1;
- uint8_t motorled1_on : 1;
- uint8_t motorled2_on : 1;
- } _flags;
- uint8_t _counter;
- uint8_t _counter2;
- LEDPattern _pattern;
- uint8_t _pattern_counter;
-
- void armed_led(bool on_off);
-
- void gps_led(bool on_off);
-
- void set_pattern(LEDPattern pattern_id);
-
- void motor_led1(bool on_off);
- void motor_led2(bool on_off);
- };
|