class EmberRf4ceApplicationInfo(EzspStruct): # The RF4CE application information block. # The application capabilities field shall contain information relating # to the capabilities of the application of the node. capabilities: named.EmberRf4ceApplicationCapabilities # The user string field shall contain the user specified identification # string. userString: basic.fixed_list(15, basic.uint8_t) # The device type list field shall contain the list of device types # supported by the node. deviceTypeList: basic.fixed_list(3, basic.uint8_t) # The profile ID list field shall contain the list of profile # identifiers disclosed as supported by the node. profileIdList: basic.fixed_list(7, basic.uint8_t)
class EmberGpProxyTableEntry(EzspStruct): """The internal representation of a proxy table entry.""" # The link key to be used to secure this pairing link. securityLinkKey: named.EmberKeyData # Internal status of the proxy table entry. status: named.EmberGpProxyTableEntryStatus # The tunneling options # (this contains both options and extendedOptions from the spec). options: basic.uint32_t # The addressing info of the GPD. gpd: EmberGpAddress # The assigned alias for the GPD. assignedAlias: named.EmberNodeId # The security options field. securityOptions: basic.uint8_t # The security frame counter of the GPD. gpdSecurityFrameCounter: named.EmberGpSecurityFrameCounter # The key to use for GPD. gpdKey: named.EmberKeyData # The list of sinks (hardcoded to 2 which is the spec minimum). sinkList: basic.fixed_list(2, EmberGpSinkListEntry) # The groupcast radius. groupcastRadius: basic.uint8_t # The search counter searchCounter: basic.uint8_t
class EmberRf4cePairingTableEntry(EzspStruct): # The internal representation of an RF4CE pairing table entry. # The link key to be used to secure this pairing link. securityLinkKey: named.EmberKeyData # The IEEE address of the destination device. destLongId: named.EmberEUI64 # The frame counter last received from the recipient node. frameCounter: basic.uint32_t # The network address to be assumed by the source device. sourceNodeId: named.EmberNodeId # The PAN identifier of the destination device. destPanId: named.EmberPanId # The network address of the destination device. destNodeId: named.EmberNodeId # The vendor ID of the destination device. destVendorId: basic.uint16_t # The list of profiles supported by the destination device. destProfileIdList: basic.fixed_list(7, basic.uint8_t) # The length of the list of supported profiles. destProfileIdListLength: basic.uint8_t # Info byte. info: basic.uint8_t # The expected channel of the destination device. channel: basic.uint8_t # The node capabilities of the recipient node. capabilities: basic.uint8_t # Last MAC sequence number seen on this pairing link. lastSeqn: basic.uint8_t
class EmberRf4ceVendorInfo(EzspStruct): # The RF4CE vendor information block. # The vendor identifier field shall contain the vendor identifier of # the node. vendorId: basic.uint16_t # The vendor string field shall contain the vendor string of the node. vendorString: basic.fixed_list(7, basic.uint8_t)
class EmberDutyCycleLimits(EzspStruct): """A structure containing duty cycle limit configurations. All limits are absolute, and are required to be as follows: suspLimit > critThresh > limitThresh For example: suspLimit = 250 (2.5%), critThresh = 180 (1.8%), limitThresh 100 (1.00%). """ # The vendor identifier field shall contain the vendor identifier of the node. vendorId: basic.uint16_t # The vendor string field shall contain the vendor string of the node. vendorString: basic.fixed_list(7, basic.uint8_t)
class SecureEzspSessionId(basic.fixed_list(8, basic.uint8_t)): """Generated 64-bit Session ID, using random numbers from Host and NCP.
class SecureEzspRandomNumber(basic.fixed_list(16, basic.uint8_t)): """Randomly generated 64-bit number.