RgbCctPacketFormatter.h 1003 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include <PacketFormatter.h>
  2. #define RGB_CCT_COMMAND_INDEX 4
  3. #define RGB_CCT_ARGUMENT_INDEX 5
  4. #ifndef _RGB_CCT_PACKET_FORMATTER_H
  5. #define _RGB_CCT_PACKET_FORMATTER_H
  6. class RgbCctPacketFormatter : public PacketFormatter {
  7. public:
  8. static uint8_t const V2_OFFSETS[][4];
  9. RgbCctPacketFormatter(size_t packetLength)
  10. : PacketFormatter(packetLength)
  11. { }
  12. virtual void reset();
  13. virtual void updateStatus(MiLightStatus status, uint8_t group);
  14. virtual void updateBrightness(uint8_t value);
  15. virtual void command(uint8_t command, uint8_t arg);
  16. virtual void updateHue(uint16_t value);
  17. virtual void updateColorRaw(uint8_t value);
  18. virtual void updateColorWhite();
  19. virtual void updateTemperature(uint8_t value);
  20. virtual void updateSaturation(uint8_t value);
  21. virtual uint8_t* buildPacket();
  22. static void encodeV2Packet(uint8_t* packet);
  23. static uint8_t xorKey(uint8_t key);
  24. static uint8_t encodeByte(uint8_t byte, uint8_t s1, uint8_t xorKey, uint8_t s2);
  25. };
  26. #endif