V2PacketFormatter.h 735 B

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