diff --git a/com.zsmartsystems.zigbee.console.ember/src/main/java/com/zsmartsystems/zigbee/console/ember/EmberConsoleNcpStateCommand.java b/com.zsmartsystems.zigbee.console.ember/src/main/java/com/zsmartsystems/zigbee/console/ember/EmberConsoleNcpStateCommand.java index 6d53cdbf68..fbd892626d 100644 --- a/com.zsmartsystems.zigbee.console.ember/src/main/java/com/zsmartsystems/zigbee/console/ember/EmberConsoleNcpStateCommand.java +++ b/com.zsmartsystems.zigbee.console.ember/src/main/java/com/zsmartsystems/zigbee/console/ember/EmberConsoleNcpStateCommand.java @@ -13,7 +13,9 @@ import com.zsmartsystems.zigbee.ZigBeeNetworkManager; import com.zsmartsystems.zigbee.dongle.ember.EmberNcp; import com.zsmartsystems.zigbee.dongle.ember.ezsp.command.EzspGetNetworkParametersResponse; +import com.zsmartsystems.zigbee.dongle.ember.ezsp.command.EzspGetRadioParametersResponse; import com.zsmartsystems.zigbee.dongle.ember.ezsp.command.EzspVersionResponse; +import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberMultiPhyRadioParameters; import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberNetworkParameters; import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberNetworkStatus; import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberStatus; @@ -90,6 +92,8 @@ private void ncpState(ZigBeeNetworkManager networkManager, PrintStream out) { int nwkAddress = ncp.getNwkAddress(); EzspGetNetworkParametersResponse nwkParameterResponse = ncp.getNetworkParameters(); EmberNetworkParameters nwkParameters = nwkParameterResponse.getParameters(); + EzspGetRadioParametersResponse radioParametersResponse = ncp.getRadioParameters(); + EmberMultiPhyRadioParameters radioParameters = radioParametersResponse.getParameters(); String mfgName = ncp.getMfgName(); String mfgBoard = ncp.getMfgBoardName(); @@ -104,9 +108,11 @@ private void ncpState(ZigBeeNetworkManager networkManager, PrintStream out) { out.println("NWK Address : " + String.format("%04X", nwkAddress)); out.println("Network PAN Id : " + String.format("%04X", nwkParameters.getPanId())); out.println("Network EPAN Id : " + nwkParameters.getExtendedPanId()); - out.println("Radio Channel : " + nwkParameters.getRadioChannel()); + out.println( + "Radio Channel : " + radioParameters.getRadioChannel() + " / " + nwkParameters.getRadioChannel()); out.println("Network Manager Id : " + String.format("%04X", nwkParameters.getNwkManagerId())); - out.println("Radio TX Power : " + nwkParameters.getRadioTxPower()); + out.println( + "Radio TX Power : " + radioParameters.getRadioTxPower() + " / " + nwkParameters.getRadioTxPower()); out.println("Join Method : " + nwkParameters.getJoinMethod()); out.println("Board Name : " + mfgBoard); out.println("Manufacturer Name : " + mfgName); diff --git a/com.zsmartsystems.zigbee.console.main/src/main/java/com/zsmartsystems/zigbee/console/main/ZigBeeConsoleMain.java b/com.zsmartsystems.zigbee.console.main/src/main/java/com/zsmartsystems/zigbee/console/main/ZigBeeConsoleMain.java index c2dcc9c329..fc5c1cafaf 100644 --- a/com.zsmartsystems.zigbee.console.main/src/main/java/com/zsmartsystems/zigbee/console/main/ZigBeeConsoleMain.java +++ b/com.zsmartsystems.zigbee.console.main/src/main/java/com/zsmartsystems/zigbee/console/main/ZigBeeConsoleMain.java @@ -326,7 +326,7 @@ public static void main(final String[] args) { } } - transportOptions.addOption(TransportConfigOption.RADIO_TX_POWER, 8); + transportOptions.addOption(TransportConfigOption.RADIO_TX_POWER, 20); // Configure the concentrator // Max Hops defaults to system max diff --git a/com.zsmartsystems.zigbee.dongle.ember.autocode/src/main/java/com/zsmartsystems/zigbee/dongle/ember/autocode/CommandGenerator.java b/com.zsmartsystems.zigbee.dongle.ember.autocode/src/main/java/com/zsmartsystems/zigbee/dongle/ember/autocode/CommandGenerator.java index 88b6b0b7d5..158b742005 100644 --- a/com.zsmartsystems.zigbee.dongle.ember.autocode/src/main/java/com/zsmartsystems/zigbee/dongle/ember/autocode/CommandGenerator.java +++ b/com.zsmartsystems.zigbee.dongle.ember.autocode/src/main/java/com/zsmartsystems/zigbee/dongle/ember/autocode/CommandGenerator.java @@ -822,6 +822,7 @@ protected String getTypeClass(String dataType) { case "EmberBeaconIterator": case "EmberMulticastTableEntry": case "EmberKeyStatus": + case "EmberMultiPhyRadioParameters": addImport(ezspStructurePackage + "." + dataTypeLocal); return dataTypeLocal + modifier; default: @@ -897,6 +898,7 @@ protected String getTypeSerializer(String dataType) { case "EmberBeaconData": case "EmberBeaconIterator": case "EmberMulticastTableEntry": + case "EmberMultiPhyRadioParameters": return dataTypeLocal; default: return dataType; diff --git a/com.zsmartsystems.zigbee.dongle.ember.autocode/src/main/resources/ezsp_protocol.xml b/com.zsmartsystems.zigbee.dongle.ember.autocode/src/main/resources/ezsp_protocol.xml index 202755622a..aca6effd27 100644 --- a/com.zsmartsystems.zigbee.dongle.ember.autocode/src/main/resources/ezsp_protocol.xml +++ b/com.zsmartsystems.zigbee.dongle.ember.autocode/src/main/resources/ezsp_protocol.xml @@ -3699,6 +3699,31 @@ + + getRadioParameters + 0xFD + Returns the current radio parameters based on phy index. + + + uint8_t + childCount + The number of children the node currently has. + + + + + EmberStatus + status + The result of the CBKE operation. + + + EmberMultiPhyRadioParameters + parameters + The current radio parameters. + + + + requestLinkKey 0x14 @@ -4469,6 +4494,28 @@ + + EmberMultiPhyRadioParameters + Radio parameters. + + + uint8_t + radioTxPower + A power setting, in dBm. + + + uint8_t + radioPage + A radio page. + + + uint8_t + radioChannel + A radio channel. + + + + EmberGpAddress A GP address structure. diff --git a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/EmberNcp.java b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/EmberNcp.java index e3769bc6d5..61beef0782 100644 --- a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/EmberNcp.java +++ b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/EmberNcp.java @@ -170,6 +170,19 @@ public EzspGetNetworkParametersResponse getNetworkParameters() { return (EzspGetNetworkParametersResponse) transaction.getResponse(); } + /** + * Gets the current radio parameters, or an empty parameters class if there's an error + * + * @return {@link EzspGetRadioParametersResponse} or null on error + */ + public EzspGetRadioParametersResponse getRadioParameters() { + EzspGetRadioParametersRequest request = new EzspGetRadioParametersRequest(); + request.setChildCount(1); + EzspTransaction transaction = zigBeeDongleEzsp.getProtocolHandler().sendEzspTransaction( + new EzspSingleResponseTransaction(request, EzspGetRadioParametersResponse.class)); + return (EzspGetRadioParametersResponse) transaction.getResponse(); + } + /** * Returns a value indicating whether the node is joining, joined to, or leaving a network. * diff --git a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/EzspFrame.java b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/EzspFrame.java index 9eb108d48c..dfa83a9fc3 100644 --- a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/EzspFrame.java +++ b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/EzspFrame.java @@ -135,6 +135,7 @@ public abstract class EzspFrame { protected static final int FRAME_ID_GET_NUM_STORED_BEACONS = 0x08; protected static final int FRAME_ID_GET_PARENT_CHILD_PARAMETERS = 0x29; protected static final int FRAME_ID_GET_POLICY = 0x56; + protected static final int FRAME_ID_GET_RADIO_PARAMETERS = 0xFD; protected static final int FRAME_ID_GET_ROUTE_TABLE_ENTRY = 0x7B; protected static final int FRAME_ID_GET_ROUTING_SHORTCUT_THRESHOLD = 0xD1; protected static final int FRAME_ID_GET_SOURCE_ROUTE_TABLE_ENTRY = 0xC1; @@ -304,6 +305,7 @@ public abstract class EzspFrame { ezspHandlerMap.put(FRAME_ID_GET_NUM_STORED_BEACONS, EzspGetNumStoredBeaconsResponse.class); ezspHandlerMap.put(FRAME_ID_GET_PARENT_CHILD_PARAMETERS, EzspGetParentChildParametersResponse.class); ezspHandlerMap.put(FRAME_ID_GET_POLICY, EzspGetPolicyResponse.class); + ezspHandlerMap.put(FRAME_ID_GET_RADIO_PARAMETERS, EzspGetRadioParametersResponse.class); ezspHandlerMap.put(FRAME_ID_GET_ROUTE_TABLE_ENTRY, EzspGetRouteTableEntryResponse.class); ezspHandlerMap.put(FRAME_ID_GET_ROUTING_SHORTCUT_THRESHOLD, EzspGetRoutingShortcutThresholdResponse.class); ezspHandlerMap.put(FRAME_ID_GET_SOURCE_ROUTE_TABLE_ENTRY, EzspGetSourceRouteTableEntryResponse.class); diff --git a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/command/EzspGetRadioParametersRequest.java b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/command/EzspGetRadioParametersRequest.java new file mode 100644 index 0000000000..b8b5e142d5 --- /dev/null +++ b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/command/EzspGetRadioParametersRequest.java @@ -0,0 +1,87 @@ +/** + * Copyright (c) 2016-2023 by the respective copyright holders. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + */ +package com.zsmartsystems.zigbee.dongle.ember.ezsp.command; + +import com.zsmartsystems.zigbee.dongle.ember.ezsp.EzspFrameRequest; +import com.zsmartsystems.zigbee.dongle.ember.internal.serializer.EzspSerializer; + +/** + * Class to implement the Ember EZSP command getRadioParameters. + *

+ * Returns the current radio parameters based on phy index. + *

+ * This class provides methods for processing EZSP commands. + *

+ * Note that this code is autogenerated. Manual changes may be overwritten. + * + * @author Chris Jackson - Initial contribution of Java code generator + */ +public class EzspGetRadioParametersRequest extends EzspFrameRequest { + public static final int FRAME_ID = 0xFD; + + /** + * The number of children the node currently has. + *

+ * EZSP type is uint8_t - Java type is {@link int} + */ + private int childCount; + + /** + * Serialiser used to serialise to binary line data + */ + private EzspSerializer serializer; + + /** + * Request constructor + */ + public EzspGetRadioParametersRequest() { + frameId = FRAME_ID; + serializer = new EzspSerializer(); + } + + /** + * The number of children the node currently has. + *

+ * EZSP type is uint8_t - Java type is {@link int} + * + * @return the current childCount as {@link int} + */ + public int getChildCount() { + return childCount; + } + + /** + * The number of children the node currently has. + * + * @param childCount the childCount to set as {@link int} + */ + public void setChildCount(int childCount) { + this.childCount = childCount; + } + + @Override + public int[] serialize() { + // Serialize the header + serializeHeader(serializer); + + // Serialize the fields + serializer.serializeUInt8(childCount); + return serializer.getPayload(); + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(82); + builder.append("EzspGetRadioParametersRequest [networkId="); + builder.append(networkId); + builder.append(", childCount="); + builder.append(childCount); + builder.append(']'); + return builder.toString(); + } +} diff --git a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/command/EzspGetRadioParametersResponse.java b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/command/EzspGetRadioParametersResponse.java new file mode 100644 index 0000000000..cb32ef97ef --- /dev/null +++ b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/command/EzspGetRadioParametersResponse.java @@ -0,0 +1,106 @@ +/** + * Copyright (c) 2016-2023 by the respective copyright holders. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + */ +package com.zsmartsystems.zigbee.dongle.ember.ezsp.command; + +import com.zsmartsystems.zigbee.dongle.ember.ezsp.EzspFrameResponse; +import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberMultiPhyRadioParameters; +import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberStatus; + +/** + * Class to implement the Ember EZSP command getRadioParameters. + *

+ * Returns the current radio parameters based on phy index. + *

+ * This class provides methods for processing EZSP commands. + *

+ * Note that this code is autogenerated. Manual changes may be overwritten. + * + * @author Chris Jackson - Initial contribution of Java code generator + */ +public class EzspGetRadioParametersResponse extends EzspFrameResponse { + public static final int FRAME_ID = 0xFD; + + /** + * The result of the CBKE operation. + *

+ * EZSP type is EmberStatus - Java type is {@link EmberStatus} + */ + private EmberStatus status; + + /** + * The current radio parameters. + *

+ * EZSP type is EmberMultiPhyRadioParameters - Java type is {@link EmberMultiPhyRadioParameters} + */ + private EmberMultiPhyRadioParameters parameters; + + /** + * Response and Handler constructor + */ + public EzspGetRadioParametersResponse(int[] inputBuffer) { + // Super creates deserializer and reads header fields + super(inputBuffer); + + // Deserialize the fields + status = deserializer.deserializeEmberStatus(); + parameters = deserializer.deserializeEmberMultiPhyRadioParameters(); + } + + /** + * The result of the CBKE operation. + *

+ * EZSP type is EmberStatus - Java type is {@link EmberStatus} + * + * @return the current status as {@link EmberStatus} + */ + public EmberStatus getStatus() { + return status; + } + + /** + * The result of the CBKE operation. + * + * @param status the status to set as {@link EmberStatus} + */ + public void setStatus(EmberStatus status) { + this.status = status; + } + + /** + * The current radio parameters. + *

+ * EZSP type is EmberMultiPhyRadioParameters - Java type is {@link EmberMultiPhyRadioParameters} + * + * @return the current parameters as {@link EmberMultiPhyRadioParameters} + */ + public EmberMultiPhyRadioParameters getParameters() { + return parameters; + } + + /** + * The current radio parameters. + * + * @param parameters the parameters to set as {@link EmberMultiPhyRadioParameters} + */ + public void setParameters(EmberMultiPhyRadioParameters parameters) { + this.parameters = parameters; + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(108); + builder.append("EzspGetRadioParametersResponse [networkId="); + builder.append(networkId); + builder.append(", status="); + builder.append(status); + builder.append(", parameters="); + builder.append(parameters); + builder.append(']'); + return builder.toString(); + } +} diff --git a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/structure/EmberConfigTxPowerMode.java b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/structure/EmberConfigTxPowerMode.java new file mode 100644 index 0000000000..d3f2f1250b --- /dev/null +++ b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/structure/EmberConfigTxPowerMode.java @@ -0,0 +1,90 @@ +/** + * Copyright (c) 2016-2023 by the respective copyright holders. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + */ +package com.zsmartsystems.zigbee.dongle.ember.ezsp.structure; + +import java.util.HashMap; +import java.util.Map; + +/** + * Class to implement the Ember Enumeration EmberConfigTxPowerMode. + *

+ * Note that this code is autogenerated. Manual changes may be overwritten. + * + * @author Chris Jackson - Initial contribution of Java code generator + */ +public enum EmberConfigTxPowerMode { + /** + * Default unknown value + */ + UNKNOWN(-1), + + /** + * Normal power mode and bi-directional RF transmitter output. + */ + EMBER_TX_POWER_MODE_DEFAULT(0x0000), + + /** + * Enable boost power mode. This is a high-performance radio mode which offers increased + * receive sensitivity and transmit power at the cost of an increase in power consumption. + */ + EMBER_TX_POWER_MODE_BOOST(0x0001), + + /** + * Enable the alternate transmitter output. This allows for simplified connection to an + * external power amplifier via the RF_TX_ALT_P and RF_TX_ALT_N pins. + */ + EMBER_TX_POWER_MODE_ALTERNATE(0x0002), + + /** + * Enable both boost mode and the alternate transmitter output. + */ + EMBER_TX_POWER_MODE_BOOST_AND_ALTERNATE(0x0003); + + /** + * A mapping between the integer code and its corresponding type to + * facilitate lookup by code. + */ + private static Map codeMapping; + + private int key; + + static { + codeMapping = new HashMap(); + for (EmberConfigTxPowerMode s : values()) { + codeMapping.put(s.key, s); + } + } + + private EmberConfigTxPowerMode(int key) { + this.key = key; + } + + /** + * Lookup function based on the EmberStatus type code. Returns null if the + * code does not exist. + * + * @param code the code to lookup + * @return enumeration value of the alarm type. + */ + public static EmberConfigTxPowerMode getEmberConfigTxPowerMode(int code) { + if (codeMapping.get(code) == null) { + return UNKNOWN; + } + + return codeMapping.get(code); + } + + /** + * Returns the EZSP protocol defined value for this enumeration. + * + * @return the EZSP protocol key + */ + public int getKey() { + return key; + } +} diff --git a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/structure/EmberMultiPhyRadioParameters.java b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/structure/EmberMultiPhyRadioParameters.java new file mode 100644 index 0000000000..36d915ac18 --- /dev/null +++ b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/ezsp/structure/EmberMultiPhyRadioParameters.java @@ -0,0 +1,152 @@ +/** + * Copyright (c) 2016-2023 by the respective copyright holders. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + */ +package com.zsmartsystems.zigbee.dongle.ember.ezsp.structure; + +import com.zsmartsystems.zigbee.dongle.ember.internal.serializer.EzspDeserializer; +import com.zsmartsystems.zigbee.dongle.ember.internal.serializer.EzspSerializer; + +/** + * Class to implement the Ember Structure EmberMultiPhyRadioParameters. + *

+ * Radio parameters. + *

+ * Note that this code is autogenerated. Manual changes may be overwritten. + * + * @author Chris Jackson - Initial contribution of Java code generator + */ +public class EmberMultiPhyRadioParameters { + + /** + * A power setting, in dBm. + *

+ * EZSP type is uint8_t - Java type is {@link int} + */ + private int radioTxPower; + + /** + * A radio page. + *

+ * EZSP type is uint8_t - Java type is {@link int} + */ + private int radioPage; + + /** + * A radio channel. + *

+ * EZSP type is uint8_t - Java type is {@link int} + */ + private int radioChannel; + + /** + * Default Constructor + */ + public EmberMultiPhyRadioParameters() { + } + + public EmberMultiPhyRadioParameters(EzspDeserializer deserializer) { + deserialize(deserializer); + } + + /** + * A power setting, in dBm. + *

+ * EZSP type is uint8_t - Java type is {@link int} + * + * @return the current radioTxPower as {@link int} + */ + public int getRadioTxPower() { + return radioTxPower; + } + + /** + * A power setting, in dBm. + * + * @param radioTxPower the radioTxPower to set as {@link int} + */ + public void setRadioTxPower(int radioTxPower) { + this.radioTxPower = radioTxPower; + } + + /** + * A radio page. + *

+ * EZSP type is uint8_t - Java type is {@link int} + * + * @return the current radioPage as {@link int} + */ + public int getRadioPage() { + return radioPage; + } + + /** + * A radio page. + * + * @param radioPage the radioPage to set as {@link int} + */ + public void setRadioPage(int radioPage) { + this.radioPage = radioPage; + } + + /** + * A radio channel. + *

+ * EZSP type is uint8_t - Java type is {@link int} + * + * @return the current radioChannel as {@link int} + */ + public int getRadioChannel() { + return radioChannel; + } + + /** + * A radio channel. + * + * @param radioChannel the radioChannel to set as {@link int} + */ + public void setRadioChannel(int radioChannel) { + this.radioChannel = radioChannel; + } + + /** + * Serialise the contents of the EZSP structure. + * + * @param serializer the {@link EzspSerializer} used to serialize + */ + public int[] serialize(EzspSerializer serializer) { + // Serialize the fields + serializer.serializeUInt8(radioTxPower); + serializer.serializeUInt8(radioPage); + serializer.serializeUInt8(radioChannel); + return serializer.getPayload(); + } + + /** + * Deserialise the contents of the EZSP structure. + * + * @param deserializer the {@link EzspDeserializer} used to deserialize + */ + public void deserialize(EzspDeserializer deserializer) { + // Deserialize the fields + radioTxPower = deserializer.deserializeUInt8(); + radioPage = deserializer.deserializeUInt8(); + radioChannel = deserializer.deserializeUInt8(); + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(106); + builder.append("EmberMultiPhyRadioParameters [radioTxPower="); + builder.append(radioTxPower); + builder.append(", radioPage="); + builder.append(radioPage); + builder.append(", radioChannel="); + builder.append(radioChannel); + builder.append(']'); + return builder.toString(); + } +} diff --git a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/internal/serializer/EzspDeserializer.java b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/internal/serializer/EzspDeserializer.java index d17434b39d..0651f82b6b 100644 --- a/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/internal/serializer/EzspDeserializer.java +++ b/com.zsmartsystems.zigbee.dongle.ember/src/main/java/com/zsmartsystems/zigbee/dongle/ember/internal/serializer/EzspDeserializer.java @@ -45,6 +45,7 @@ import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberKeyType; import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberLibraryStatus; import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberMacPassthroughType; +import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberMultiPhyRadioParameters; import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberMulticastTableEntry; import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberNeighborTableEntry; import com.zsmartsystems.zigbee.dongle.ember.ezsp.structure.EmberNetworkParameters; @@ -413,4 +414,8 @@ public EmberBeaconData deserializeEmberBeaconData() { public EmberKeyStatus deserializeEmberKeyStatus() { return EmberKeyStatus.getEmberKeyStatus(deserializeUInt8()); } + + public EmberMultiPhyRadioParameters deserializeEmberMultiPhyRadioParameters() { + return new EmberMultiPhyRadioParameters(this); + } }