|
|
@@ -3,6 +3,37 @@
|
|
|
#ifndef _RGBW_PACKET_FORMATTER_H
|
|
|
#define _RGBW_PACKET_FORMATTER_H
|
|
|
|
|
|
+enum MiLightRgbwButton {
|
|
|
+ RGBW_ALL_ON = 0x01,
|
|
|
+ RGBW_ALL_OFF = 0x02,
|
|
|
+ RGBW_GROUP_1_ON = 0x03,
|
|
|
+ RGBW_GROUP_1_OFF = 0x04,
|
|
|
+ RGBW_GROUP_2_ON = 0x05,
|
|
|
+ RGBW_GROUP_2_OFF = 0x06,
|
|
|
+ RGBW_GROUP_3_ON = 0x07,
|
|
|
+ RGBW_GROUP_3_OFF = 0x08,
|
|
|
+ RGBW_GROUP_4_ON = 0x09,
|
|
|
+ RGBW_GROUP_4_OFF = 0x0A,
|
|
|
+ RGBW_SPEED_UP = 0x0B,
|
|
|
+ RGBW_SPEED_DOWN = 0x0C,
|
|
|
+ RGBW_DISCO_MODE = 0x0D,
|
|
|
+ RGBW_BRIGHTNESS = 0x0E,
|
|
|
+ RGBW_COLOR = 0x0F,
|
|
|
+ RGBW_ALL_MAX_LEVEL = 0x11,
|
|
|
+ RGBW_ALL_MIN_LEVEL = 0x12,
|
|
|
+
|
|
|
+ // These are the only mechanism (that I know of) to disable RGB and set the
|
|
|
+ // color to white.
|
|
|
+ RGBW_GROUP_1_MAX_LEVEL = 0x13,
|
|
|
+ RGBW_GROUP_1_MIN_LEVEL = 0x14,
|
|
|
+ RGBW_GROUP_2_MAX_LEVEL = 0x15,
|
|
|
+ RGBW_GROUP_2_MIN_LEVEL = 0x16,
|
|
|
+ RGBW_GROUP_3_MAX_LEVEL = 0x17,
|
|
|
+ RGBW_GROUP_3_MIN_LEVEL = 0x18,
|
|
|
+ RGBW_GROUP_4_MAX_LEVEL = 0x19,
|
|
|
+ RGBW_GROUP_4_MIN_LEVEL = 0x1A,
|
|
|
+};
|
|
|
+
|
|
|
#define RGBW_COMMAND_INDEX 5
|
|
|
#define RGBW_BRIGHTNESS_GROUP_INDEX 4
|
|
|
#define RGBW_COLOR_INDEX 3
|
|
|
@@ -21,6 +52,9 @@ public:
|
|
|
virtual void updateColorWhite();
|
|
|
virtual void format(uint8_t const* packet, char* buffer);
|
|
|
virtual void unpair();
|
|
|
+ virtual void modeSpeedDown();
|
|
|
+ virtual void modeSpeedUp();
|
|
|
+ virtual void nextMode();
|
|
|
|
|
|
virtual void initializePacket(uint8_t* packet);
|
|
|
};
|