RgbPacketFormatter.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include <PacketFormatter.h>
  2. #ifndef _RGB_PACKET_FORMATTER_H
  3. #define _RGB_PACKET_FORMATTER_H
  4. #define RGB_COMMAND_INDEX 4
  5. #define RGB_COLOR_INDEX 3
  6. #define RGB_INTERVALS 10
  7. enum MiLightRgbButton {
  8. RGB_OFF = 0x01,
  9. RGB_ON = 0x02,
  10. RGB_BRIGHTNESS_UP = 0x03,
  11. RGB_BRIGHTNESS_DOWN = 0x04,
  12. RGB_SPEED_UP = 0x05,
  13. RGB_SPEED_DOWN = 0x06,
  14. RGB_MODE_UP = 0x07,
  15. RGB_MODE_DOWN = 0x08,
  16. RGB_PAIR = RGB_SPEED_UP
  17. };
  18. class RgbPacketFormatter : public PacketFormatter {
  19. public:
  20. RgbPacketFormatter()
  21. : PacketFormatter(6, 20)
  22. { }
  23. virtual void updateStatus(MiLightStatus status, uint8_t groupId);
  24. virtual void updateBrightness(uint8_t value);
  25. virtual void increaseBrightness();
  26. virtual void decreaseBrightness();
  27. virtual void command(uint8_t command, uint8_t arg);
  28. virtual void updateHue(uint16_t value);
  29. virtual void updateColorRaw(uint8_t value);
  30. virtual void format(uint8_t const* packet, char* buffer);
  31. virtual void pair();
  32. virtual void unpair();
  33. virtual void modeSpeedDown();
  34. virtual void modeSpeedUp();
  35. virtual void nextMode();
  36. virtual void previousMode();
  37. virtual void initializePacket(uint8_t* packet);
  38. };
  39. #endif