Make use of TX options in the NXP backend and send permit join to short address broadcast, not group

pull/10/head
Simon Stürz 2020-12-03 10:44:31 +01:00
parent 1eed81562a
commit 72150b6bfb
2 changed files with 5 additions and 5 deletions

View File

@ -328,7 +328,7 @@ ZigbeeInterfaceNxpReply *ZigbeeBridgeControllerNxp::requestEnqueueSendDataGroup(
payloadStream << profileId;
payloadStream << clusterId;
payloadStream << sourceEndpoint;
payloadStream << static_cast<quint8>(SecurityModeUnsecure);
payloadStream << static_cast<quint8>(txOptions);
payloadStream << radius;
payloadStream << static_cast<quint16>(asdu.size());
for (int i = 0; i < asdu.size(); i++) {
@ -364,7 +364,7 @@ ZigbeeInterfaceNxpReply *ZigbeeBridgeControllerNxp::requestEnqueueSendDataShortA
payloadStream << profileId;
payloadStream << clusterId;
payloadStream << sourceEndpoint;
payloadStream << static_cast<quint8>(SecurityModeUnsecure);
payloadStream << static_cast<quint8>(txOptions);
payloadStream << radius;
payloadStream << static_cast<quint16>(asdu.size());
for (int i = 0; i < asdu.size(); i++) {
@ -400,7 +400,7 @@ ZigbeeInterfaceNxpReply *ZigbeeBridgeControllerNxp::requestEnqueueSendDataIeeeAd
payloadStream << profileId;
payloadStream << clusterId;
payloadStream << sourceEndpoint;
payloadStream << static_cast<quint8>(SecurityModeUnsecure);
payloadStream << static_cast<quint8>(txOptions);
payloadStream << radius;
payloadStream << static_cast<quint16>(asdu.size());
for (int i = 0; i < asdu.size(); i++) {

View File

@ -225,12 +225,12 @@ ZigbeeNetworkReply *ZigbeeNetworkNxp::requestSetPermitJoin(quint16 shortAddress,
// Get the power descriptor
ZigbeeNetworkRequest request;
request.setRequestId(generateSequenceNumber());
request.setDestinationAddressMode(Zigbee::DestinationAddressModeGroup);
request.setDestinationAddressMode(Zigbee::DestinationAddressModeShortAddress);
request.setDestinationShortAddress(static_cast<quint16>(shortAddress));
request.setProfileId(Zigbee::ZigbeeProfileDevice); // ZDP
request.setClusterId(ZigbeeDeviceProfile::MgmtPermitJoinRequest);
request.setSourceEndpoint(0); // ZDO
request.setRadius(0);
request.setRadius(10);
// Build ASDU
QByteArray asdu;