CctPacketFormatter.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include <PacketFormatter.h>
  2. #ifndef _CCT_PACKET_FORMATTER_H
  3. #define _CCT_PACKET_FORMATTER_H
  4. #define CCT_COMMAND_INDEX 4
  5. #define CCT_INTERVALS 10
  6. enum MiLightCctButton {
  7. CCT_ALL_ON = 0x05,
  8. CCT_ALL_OFF = 0x09,
  9. CCT_GROUP_1_ON = 0x08,
  10. CCT_GROUP_1_OFF = 0x0B,
  11. CCT_GROUP_2_ON = 0x0D,
  12. CCT_GROUP_2_OFF = 0x03,
  13. CCT_GROUP_3_ON = 0x07,
  14. CCT_GROUP_3_OFF = 0x0A,
  15. CCT_GROUP_4_ON = 0x02,
  16. CCT_GROUP_4_OFF = 0x06,
  17. CCT_BRIGHTNESS_DOWN = 0x04,
  18. CCT_BRIGHTNESS_UP = 0x0C,
  19. CCT_TEMPERATURE_UP = 0x0E,
  20. CCT_TEMPERATURE_DOWN = 0x0F
  21. };
  22. class CctPacketFormatter : public PacketFormatter {
  23. public:
  24. CctPacketFormatter()
  25. : PacketFormatter(7, 20)
  26. { }
  27. virtual void updateStatus(MiLightStatus status, uint8_t groupId);
  28. virtual void command(uint8_t command, uint8_t arg);
  29. virtual void updateTemperature(uint8_t value);
  30. virtual void increaseTemperature();
  31. virtual void decreaseTemperature();
  32. virtual void updateBrightness(uint8_t value);
  33. virtual void increaseBrightness();
  34. virtual void decreaseBrightness();
  35. virtual void enableNightMode();
  36. virtual void format(uint8_t const* packet, char* buffer);
  37. virtual void initializePacket(uint8_t* packet);
  38. static uint8_t getCctStatusButton(uint8_t groupId, MiLightStatus status);
  39. };
  40. #endif