diff --git a/lib/PacketBuilder/include/PacketBuilder.h b/lib/PacketBuilder/include/PacketBuilder.h index 2c1ca04..382a8a8 100644 --- a/lib/PacketBuilder/include/PacketBuilder.h +++ b/lib/PacketBuilder/include/PacketBuilder.h @@ -6,7 +6,7 @@ class PacketBuilder { public: - PacketBuilder(uint16_t address, uint8_t rollingCode1, uint8_t rollingCode2); + PacketBuilder(uint16_t address, uint8_t rollingCode1, uint8_t rollingCode2, uint8_t protocolVersion); ~PacketBuilder(); void buildUpPacket(uint8_t *buffer, uint16_t shadeID); @@ -18,6 +18,7 @@ private: uint16_t address; uint8_t rollingCode1; uint8_t rollingCode2; + uint8_t protocolVersion; PacketCRC packetCRC; diff --git a/lib/PacketBuilder/src/PacketBuilder.cpp b/lib/PacketBuilder/src/PacketBuilder.cpp index 7674fb1..2dc9c99 100644 --- a/lib/PacketBuilder/src/PacketBuilder.cpp +++ b/lib/PacketBuilder/src/PacketBuilder.cpp @@ -1,9 +1,10 @@ #include "PacketBuilder.h" -PacketBuilder::PacketBuilder(uint16_t address, uint8_t rollingCode1, uint8_t rollingCode2) : +PacketBuilder::PacketBuilder(uint16_t address, uint8_t rollingCode1, uint8_t rollingCode2, uint8_t protocolVersion) : address(address), rollingCode1(rollingCode1), - rollingCode2(rollingCode2) + rollingCode2(rollingCode2), + protocolVersion(protocolVersion) { } @@ -15,7 +16,7 @@ void PacketBuilder::buildUpPacket(uint8_t *buffer, uint16_t shadeID) { setPacketSize(buffer, 0x11); setConstants(buffer); - setProtocolVersion(buffer, 0x06); + setProtocolVersion(buffer, protocolVersion); setSourceAddress(buffer, address); setDestinationAddress(buffer, shadeID); setRollingCodes(buffer); @@ -33,7 +34,7 @@ void PacketBuilder::buildDownPacket(uint8_t *buffer, uint16_t shadeID) { setPacketSize(buffer, 0x11); setConstants(buffer); - setProtocolVersion(buffer, 0x06); + setProtocolVersion(buffer, protocolVersion); setSourceAddress(buffer, address); setDestinationAddress(buffer, shadeID); setRollingCodes(buffer); @@ -51,7 +52,7 @@ void PacketBuilder::buildStopPacket(uint8_t *buffer, uint16_t shadeID) { setPacketSize(buffer, 0x11); setConstants(buffer); - setProtocolVersion(buffer, 0x06); + setProtocolVersion(buffer, protocolVersion); setSourceAddress(buffer, address); setDestinationAddress(buffer, shadeID); setRollingCodes(buffer); @@ -69,7 +70,7 @@ void PacketBuilder::buildPositionPacket(uint8_t *buffer, uint16_t shadeID, float { setPacketSize(buffer, 0x15); setConstants(buffer); - setProtocolVersion(buffer, 0x05); + setProtocolVersion(buffer, protocolVersion); setSourceAddress(buffer, address); setDestinationAddress(buffer, shadeID); setRollingCodes(buffer); diff --git a/src/main.cpp b/src/main.cpp index 5587d9e..11115e9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -138,15 +138,15 @@ void onConnectionEstablished() { Serial.println("Connection established"); client.subscribe("hotdog/test_mqtt_blind/set", [] (const String &payload) { - uint16_t shadeID = 0x0400; + uint16_t shadeID = 0x4EF1; if (payload == "OPEN") { - remotePacketBuilder.buildUpPacket(buffer, shadeID); + hubPacketBuilder.buildUpPacket(buffer, shadeID); sendCommand(buffer); } else if (payload == "CLOSE") { - remotePacketBuilder.buildDownPacket(buffer, shadeID); + hubPacketBuilder.buildDownPacket(buffer, shadeID); sendCommand(buffer); } else if (payload == "STOP") { - remotePacketBuilder.buildStopPacket(buffer, shadeID); + hubPacketBuilder.buildStopPacket(buffer, shadeID); sendCommand(buffer); } });