Allow sending up, down, and stop packets from the hub address
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user