Allow sending up, down, and stop packets from the hub address
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
class PacketBuilder {
|
class PacketBuilder {
|
||||||
public:
|
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();
|
~PacketBuilder();
|
||||||
|
|
||||||
void buildUpPacket(uint8_t *buffer, uint16_t shadeID);
|
void buildUpPacket(uint8_t *buffer, uint16_t shadeID);
|
||||||
@@ -18,6 +18,7 @@ private:
|
|||||||
uint16_t address;
|
uint16_t address;
|
||||||
uint8_t rollingCode1;
|
uint8_t rollingCode1;
|
||||||
uint8_t rollingCode2;
|
uint8_t rollingCode2;
|
||||||
|
uint8_t protocolVersion;
|
||||||
|
|
||||||
PacketCRC packetCRC;
|
PacketCRC packetCRC;
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
#include "PacketBuilder.h"
|
#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),
|
address(address),
|
||||||
rollingCode1(rollingCode1),
|
rollingCode1(rollingCode1),
|
||||||
rollingCode2(rollingCode2)
|
rollingCode2(rollingCode2),
|
||||||
|
protocolVersion(protocolVersion)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -15,7 +16,7 @@ void PacketBuilder::buildUpPacket(uint8_t *buffer, uint16_t shadeID)
|
|||||||
{
|
{
|
||||||
setPacketSize(buffer, 0x11);
|
setPacketSize(buffer, 0x11);
|
||||||
setConstants(buffer);
|
setConstants(buffer);
|
||||||
setProtocolVersion(buffer, 0x06);
|
setProtocolVersion(buffer, protocolVersion);
|
||||||
setSourceAddress(buffer, address);
|
setSourceAddress(buffer, address);
|
||||||
setDestinationAddress(buffer, shadeID);
|
setDestinationAddress(buffer, shadeID);
|
||||||
setRollingCodes(buffer);
|
setRollingCodes(buffer);
|
||||||
@@ -33,7 +34,7 @@ void PacketBuilder::buildDownPacket(uint8_t *buffer, uint16_t shadeID)
|
|||||||
{
|
{
|
||||||
setPacketSize(buffer, 0x11);
|
setPacketSize(buffer, 0x11);
|
||||||
setConstants(buffer);
|
setConstants(buffer);
|
||||||
setProtocolVersion(buffer, 0x06);
|
setProtocolVersion(buffer, protocolVersion);
|
||||||
setSourceAddress(buffer, address);
|
setSourceAddress(buffer, address);
|
||||||
setDestinationAddress(buffer, shadeID);
|
setDestinationAddress(buffer, shadeID);
|
||||||
setRollingCodes(buffer);
|
setRollingCodes(buffer);
|
||||||
@@ -51,7 +52,7 @@ void PacketBuilder::buildStopPacket(uint8_t *buffer, uint16_t shadeID)
|
|||||||
{
|
{
|
||||||
setPacketSize(buffer, 0x11);
|
setPacketSize(buffer, 0x11);
|
||||||
setConstants(buffer);
|
setConstants(buffer);
|
||||||
setProtocolVersion(buffer, 0x06);
|
setProtocolVersion(buffer, protocolVersion);
|
||||||
setSourceAddress(buffer, address);
|
setSourceAddress(buffer, address);
|
||||||
setDestinationAddress(buffer, shadeID);
|
setDestinationAddress(buffer, shadeID);
|
||||||
setRollingCodes(buffer);
|
setRollingCodes(buffer);
|
||||||
@@ -69,7 +70,7 @@ void PacketBuilder::buildPositionPacket(uint8_t *buffer, uint16_t shadeID, float
|
|||||||
{
|
{
|
||||||
setPacketSize(buffer, 0x15);
|
setPacketSize(buffer, 0x15);
|
||||||
setConstants(buffer);
|
setConstants(buffer);
|
||||||
setProtocolVersion(buffer, 0x05);
|
setProtocolVersion(buffer, protocolVersion);
|
||||||
setSourceAddress(buffer, address);
|
setSourceAddress(buffer, address);
|
||||||
setDestinationAddress(buffer, shadeID);
|
setDestinationAddress(buffer, shadeID);
|
||||||
setRollingCodes(buffer);
|
setRollingCodes(buffer);
|
||||||
|
|||||||
@@ -138,15 +138,15 @@ void onConnectionEstablished() {
|
|||||||
Serial.println("Connection established");
|
Serial.println("Connection established");
|
||||||
|
|
||||||
client.subscribe("hotdog/test_mqtt_blind/set", [] (const String &payload) {
|
client.subscribe("hotdog/test_mqtt_blind/set", [] (const String &payload) {
|
||||||
uint16_t shadeID = 0x0400;
|
uint16_t shadeID = 0x4EF1;
|
||||||
if (payload == "OPEN") {
|
if (payload == "OPEN") {
|
||||||
remotePacketBuilder.buildUpPacket(buffer, shadeID);
|
hubPacketBuilder.buildUpPacket(buffer, shadeID);
|
||||||
sendCommand(buffer);
|
sendCommand(buffer);
|
||||||
} else if (payload == "CLOSE") {
|
} else if (payload == "CLOSE") {
|
||||||
remotePacketBuilder.buildDownPacket(buffer, shadeID);
|
hubPacketBuilder.buildDownPacket(buffer, shadeID);
|
||||||
sendCommand(buffer);
|
sendCommand(buffer);
|
||||||
} else if (payload == "STOP") {
|
} else if (payload == "STOP") {
|
||||||
remotePacketBuilder.buildStopPacket(buffer, shadeID);
|
hubPacketBuilder.buildStopPacket(buffer, shadeID);
|
||||||
sendCommand(buffer);
|
sendCommand(buffer);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user