FUT089PacketFormatter.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #include <V2PacketFormatter.h>
  2. #ifndef _FUT089_PACKET_FORMATTER_H
  3. #define _FUT089_PACKET_FORMATTER_H
  4. #define FUT089_COLOR_OFFSET 0
  5. enum MiLightFUT089Command {
  6. FUT089_ON = 0x01,
  7. FUT089_OFF = 0x01,
  8. FUT089_COLOR = 0x02,
  9. FUT089_BRIGHTNESS = 0x05,
  10. FUT089_MODE = 0x06,
  11. FUT089_KELVIN = 0x07,
  12. FUT089_SATURATION = 0x07
  13. };
  14. enum MiLightFUT089Arguments {
  15. FUT089_MODE_SPEED_UP = 0x12,
  16. FUT089_MODE_SPEED_DOWN = 0x13,
  17. FUT089_WHITE_MODE = 0x14
  18. };
  19. class FUT089PacketFormatter : public V2PacketFormatter {
  20. public:
  21. FUT089PacketFormatter()
  22. : V2PacketFormatter(0x25, 8)
  23. { }
  24. virtual void updateBrightness(uint8_t value);
  25. virtual void updateHue(uint16_t value);
  26. virtual void updateColorRaw(uint8_t value);
  27. virtual void updateColorWhite();
  28. virtual void updateTemperature(uint8_t value);
  29. virtual void updateSaturation(uint8_t value);
  30. virtual void enableNightMode();
  31. virtual void modeSpeedDown();
  32. virtual void modeSpeedUp();
  33. virtual void updateMode(uint8_t mode);
  34. virtual void parsePacket(const uint8_t* packet, JsonObject& result);
  35. };
  36. #endif