V2PacketFormatter.h 866 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include <inttypes.h>
  2. #include <PacketFormatter.h>
  3. #ifndef _V2_PACKET_FORMATTER
  4. #define _V2_PACKET_FORMATTER
  5. #define V2_PACKET_LEN 9
  6. #define V2_PROTOCOL_ID_INDEX 1
  7. #define V2_COMMAND_INDEX 4
  8. #define V2_ARGUMENT_INDEX 5
  9. class V2PacketFormatter : public PacketFormatter {
  10. public:
  11. V2PacketFormatter(uint8_t protocolId, uint8_t numGroups);
  12. virtual bool canHandle(const uint8_t* packet, const size_t packetLen);
  13. virtual void initializePacket(uint8_t* packet);
  14. virtual void updateStatus(MiLightStatus status, uint8_t group);
  15. virtual void command(uint8_t command, uint8_t arg);
  16. virtual void format(uint8_t const* packet, char* buffer);
  17. virtual void unpair();
  18. virtual void finalizePacket(uint8_t* packet);
  19. uint8_t groupCommandArg(MiLightStatus status, uint8_t groupId);
  20. protected:
  21. const uint8_t protocolId;
  22. const uint8_t numGroups;
  23. };
  24. #endif