diff options
Diffstat (limited to 'Middlewares/ST/STM32_WPAN/zigbee/stack/include/mac/mcp_enums.h')
-rw-r--r-- | Middlewares/ST/STM32_WPAN/zigbee/stack/include/mac/mcp_enums.h | 586 |
1 files changed, 325 insertions, 261 deletions
diff --git a/Middlewares/ST/STM32_WPAN/zigbee/stack/include/mac/mcp_enums.h b/Middlewares/ST/STM32_WPAN/zigbee/stack/include/mac/mcp_enums.h index 2410c0d5f..e6687fd8c 100644 --- a/Middlewares/ST/STM32_WPAN/zigbee/stack/include/mac/mcp_enums.h +++ b/Middlewares/ST/STM32_WPAN/zigbee/stack/include/mac/mcp_enums.h @@ -1,326 +1,368 @@ -/* Copyright [2015 - 2018] Exegin Technologies Limited. All rights reserved. */ +/* Copyright [2015 - 2020] Exegin Technologies Limited. All rights reserved. */ -#ifndef MCP_ENUMS_H -# define MCP_ENUMS_H +#ifndef MCP_ENUMS_H_ +# define MCP_ENUMS_H_ /*lint -save -e726 [!MISRA - extra comma ignored (end of enum)] */ /* IEEE 802.15.4 Status Values */ enum mcp_status { - mcp_STATUS_SUCCESS = 0x00, - mcp_STATUS_BEACON_LOSS = 0xe0, - mcp_STATUS_CHANNEL_ACCESS_FAILURE = 0xe1, - mcp_STATUS_COUNTER_ERROR = 0xdb, - mcp_STATUS_DENIED = 0xe2, - mcp_STATUS_DISABLE_TRX_FAILURE = 0xe3, - mcp_STATUS_FRAME_TOO_LONG = 0xe5, - mcp_STATUS_IMPROPER_KEY_TYPE = 0xdc, - mcp_STATUS_IMPROPER_SECURITY_LEVEL = 0xdd, - mcp_STATUS_INVALID_ADDRESS = 0xf5, - mcp_STATUS_INVALID_GTS = 0xe6, - mcp_STATUS_INVALID_HANDLE = 0xe7, - mcp_STATUS_INVALID_INDEX = 0xf9, - mcp_STATUS_INVALID_PARAMETER = 0xe8, - mcp_STATUS_LIMIT_REACHED = 0xfa, - mcp_STATUS_NO_ACK = 0xe9, - mcp_STATUS_NO_BEACON = 0xea, - mcp_STATUS_NO_DATA = 0xeb, - mcp_STATUS_NO_SHORT_ADDRESS = 0xec, - mcp_STATUS_ON_TIME_TOO_LONG = 0xf6, - mcp_STATUS_OUT_OF_CAP = 0xed, - mcp_STATUS_PAN_ID_CONFLICT = 0xee, - mcp_STATUS_PAST_TIME = 0xf7, - mcp_STATUS_READ_ONLY = 0xfb, - mcp_STATUS_REALIGNMENT = 0xef, - mcp_STATUS_SCAN_IN_PROGRESS = 0xfc, - mcp_STATUS_SECURITY_ERROR = 0xe4, - mcp_STATUS_SUPERFRAME_OVERLAP = 0xfd, - mcp_STATUS_TRACKING_OFF = 0xf8, - mcp_STATUS_TRANSACTION_EXPIRED = 0xf0, - mcp_STATUS_TRANSACTION_OVERFLOW = 0xf1, - mcp_STATUS_TX_ACTIVE = 0xf2, - mcp_STATUS_UNAVAILABLE_KEY = 0xf3, - mcp_STATUS_UNSUPPORTED_ATTRIBUTE = 0xf4, - mcp_STATUS_UNSUPPORTED_LEGACY = 0xde, - mcp_STATUS_UNSUPPORTED_SECURITY = 0xdf, - mcp_STATUS_DRIVER_ERROR = 0xfe, - mcp_STATUS_DEVICE_ERROR = 0xff, + mcp_STATUS_SUCCESS = 0x00, + mcp_STATUS_BEACON_LOSS = 0xe0, + mcp_STATUS_CHANNEL_ACCESS_FAILURE = 0xe1, + mcp_STATUS_COUNTER_ERROR = 0xdb, + mcp_STATUS_DENIED = 0xe2, + mcp_STATUS_DISABLE_TRX_FAILURE = 0xe3, + mcp_STATUS_FRAME_TOO_LONG = 0xe5, + mcp_STATUS_IMPROPER_KEY_TYPE = 0xdc, + mcp_STATUS_IMPROPER_SECURITY_LEVEL = 0xdd, + mcp_STATUS_INVALID_ADDRESS = 0xf5, + mcp_STATUS_INVALID_GTS = 0xe6, + mcp_STATUS_INVALID_HANDLE = 0xe7, + mcp_STATUS_INVALID_INDEX = 0xf9, + mcp_STATUS_INVALID_PARAMETER = 0xe8, + mcp_STATUS_LIMIT_REACHED = 0xfa, + mcp_STATUS_NO_ACK = 0xe9, + mcp_STATUS_NO_BEACON = 0xea, + mcp_STATUS_NO_DATA = 0xeb, + mcp_STATUS_NO_SHORT_ADDRESS = 0xec, + mcp_STATUS_ON_TIME_TOO_LONG = 0xf6, + mcp_STATUS_OUT_OF_CAP = 0xed, + mcp_STATUS_PAN_ID_CONFLICT = 0xee, + mcp_STATUS_PAST_TIME = 0xf7, + mcp_STATUS_READ_ONLY = 0xfb, + mcp_STATUS_REALIGNMENT = 0xef, + mcp_STATUS_SCAN_IN_PROGRESS = 0xfc, + mcp_STATUS_SECURITY_ERROR = 0xe4, + mcp_STATUS_SUPERFRAME_OVERLAP = 0xfd, + mcp_STATUS_TRACKING_OFF = 0xf8, + mcp_STATUS_TRANSACTION_EXPIRED = 0xf0, + mcp_STATUS_TRANSACTION_OVERFLOW = 0xf1, + mcp_STATUS_TX_ACTIVE = 0xf2, + mcp_STATUS_UNAVAILABLE_KEY = 0xf3, + mcp_STATUS_UNSUPPORTED_ATTRIBUTE = 0xf4, + mcp_STATUS_UNSUPPORTED_LEGACY = 0xde, + mcp_STATUS_UNSUPPORTED_SECURITY = 0xdf, + mcp_STATUS_DRIVER_ERROR = 0xfe, + mcp_STATUS_DEVICE_ERROR = 0xff, }; enum { - mcp_EVENT_NONE = 0x00, - mcp_EVENT_ASN_NOTIFY_TIME = 0x01, - mcp_EVENT_LINK_EXPIRED = 0x02, - mcp_EVENT_UNDEFINED = 0xff, + mcp_EVENT_NONE = 0x00, + mcp_EVENT_ASN_NOTIFY_TIME = 0x01, + mcp_EVENT_LINK_EXPIRED = 0x02, + mcp_EVENT_KEY_STALE = 0x03, + mcp_EVENT_ACTIVE_KEY_CHANGED = 0x04, + mcp_EVENT_UNDEFINED = 0xff, }; enum mcp_attr_id { /* PHY PIB Attributes. */ - mcp_phyCurrentChannel = 0x00, - mcp_phyChannelsSupported = 0x01, - mcp_phyTransmitPower = 0x02, - mcp_phyCcaMode = 0x03, - mcp_phyCurrentPage = 0x04, - mcp_phyMaxFrameDuration = 0x05, - mcp_phyShrDuration = 0x06, - mcp_phySymbolsPerOctet = 0x07, - mcp_aMaxPhyPacketSize = 0x08, - mcp_phyCcaThreshold = 0x09, - mcp_phyCcaThresholdAbs = 0x0a, - mcp_phyRadioSensitivity = 0x0b, + mcp_phyCurrentChannel = 0x00, + mcp_phyChannelsSupported = 0x01, + mcp_phyTransmitPower = 0x02, + mcp_phyCcaMode = 0x03, + mcp_phyCurrentPage = 0x04, + mcp_phyMaxFrameDuration = 0x05, + mcp_phyShrDuration = 0x06, + mcp_phySymbolsPerOctet = 0x07, + mcp_aMaxPhyPacketSize = 0x08, + mcp_phyCcaThreshold = 0x09, + mcp_phyCcaThresholdAbs = 0x0a, + mcp_phyRadioSensitivity = 0x0b, /* MAC PIB Attributes. */ - mcp_macAckWaitDuration = 0x40, - mcp_macAssociatedPanCoord = 0x56, - mcp_macAssociationPermit = 0x41, - mcp_macAutoRequest = 0x42, - mcp_macBattLifeExt = 0x43, - mcp_macBattLifeExtPeriods = 0x44, - mcp_macBeaconPayload = 0x45, - mcp_macBeaconPayloadLength = 0x46, - mcp_macBeaconOrder = 0x47, - mcp_macBeaconTxTime = 0x48, - mcp_macBsn = 0x49, - mcp_macCoordExtendedAddress = 0x4a, - mcp_macCoordShortAddress = 0x4b, - mcp_macDsn = 0x4c, - mcp_macGtsPermit = 0x4d, - mcp_macMaxBE = 0x57, - mcp_macMaxCsmaBackoffs = 0x4e, - mcp_macMaxFrameTotalWaitTime = 0x58, - mcp_macMaxFrameRetries = 0x59, - mcp_macMinBE = 0x4f, - - mcp_macPanId = 0x50, - mcp_macPromiscuousMode = 0x51, - mcp_macResponseWaitTime = 0x5a, - mcp_macRxOnWhenIdle = 0x52, - mcp_macSecurityEnabled = 0x5d, - mcp_macShortAddress = 0x53, - mcp_macExtendedAddress = 0x63, /* Read/Write - used to get/set the EUI-64 address of the device. */ - mcp_macSuperframeOrder = 0x54, - mcp_macSyncSymbolOffset = 0x5b, - mcp_macTimestampSupported = 0x5c, - mcp_macTransactionPersistenceTime = 0x55, - - _mcp_Spare_1 = 0x5e, - _mcp_Spare_2 = 0x5f, + mcp_macAckWaitDuration = 0x40, + mcp_macAssociatedPanCoord = 0x56, + mcp_macAssociationPermit = 0x41, + mcp_macAutoRequest = 0x42, + mcp_macBattLifeExt = 0x43, + mcp_macBattLifeExtPeriods = 0x44, + mcp_macBeaconPayload = 0x45, + mcp_macBeaconPayloadLength = 0x46, + mcp_macBeaconOrder = 0x47, + mcp_macBeaconTxTime = 0x48, + mcp_macBsn = 0x49, + mcp_macCoordExtendedAddress = 0x4a, + mcp_macCoordShortAddress = 0x4b, + mcp_macDsn = 0x4c, + mcp_macGtsPermit = 0x4d, + mcp_macMaxBE = 0x57, + mcp_macMaxCsmaBackoffs = 0x4e, + mcp_macMaxFrameTotalWaitTime = 0x58, + mcp_macMaxFrameRetries = 0x59, + mcp_macMinBE = 0x4f, + + mcp_macPanId = 0x50, + mcp_macPromiscuousMode = 0x51, + mcp_macResponseWaitTime = 0x5a, + mcp_macRxOnWhenIdle = 0x52, + mcp_macSecurityEnabled = 0x5d, + mcp_macShortAddress = 0x53, + mcp_macExtendedAddress = 0x63, /* Read/Write - used to get/set the EUI-64 address of the device. */ + mcp_macSuperframeOrder = 0x54, + mcp_macSyncSymbolOffset = 0x5b, + mcp_macTimestampSupported = 0x5c, + mcp_macTransactionPersistenceTime = 0x55, + + _mcp_Spare_1 = 0x5e, + _mcp_Spare_2 = 0x5f, /* Exegin Add-ons. */ - mcp_phySymbolRate = 0x60, /* Read only - rate in symbols/seconds of current phy. */ - mcp_phyClearChannel = 0x61, /* Read only - reading will trigger a CCA measurement (ZigBee testing). */ - mcp_phyEnergyDetect = 0x62, /* Read only - reading will trigger a phy ED measurement (ZigBee testing). */ - mcp_macPromiscuousAutoFcs = 0x64, /* Optional - specifies if the FCS is checked when in promiscuous mode. */ - mcp_phyTestModulated = 0x65, /* Optional - Transmits a modulated carrier (FCC testing). */ - mcp_phyTestUnmodulated = 0x66, /* Optional - Transmits an unmodulated carrier (FCC testing). */ - mcp_phyTestClockOut = 0x67, /* Optional - Enables clock output to GPIO (Oscillator tuning). */ - mcp_macStatistics = 0x68, /* Read only - returns the mcp_statistics structure (if supported). */ - mcp_macKeySwitchIndex = 0x69, /* Read/Write - used by ZigBee-IP to trigger a key switch (i.e. receive a packet with a matching key ID). */ - mcp_phySendRaw = 0x6a, /* Write only - transmits a raw PSDU on attribute write. */ - mcp_macHardwareInd = 0x6b, /* Read/Write - boolean to toggle a hardware indication. */ - mcp_phyStatistics = 0x6c, /* Read only - returns an mcp_counters structure (if supported). */ - mcp_macLicenseCert = 0x6d, /* Read only - The license certificate. */ - mcp_phyHardwareRand = 0x6e, /* Read only - Retrieve a randomly generated byte from hardware (eg: RSSI noise). */ - mcp_phyPagesSupported = 0x6f, /* Read only - a 32bit mask of channel-pages supported. */ - mcp_macASNNotifyTime = 0x70, /* Read/Write - ASN Time for MLME-EVENT.indication */ + mcp_phySymbolRate = 0x60, /* Read only - rate in symbols/seconds of current phy. */ + mcp_phyClearChannel = 0x61, /* Read only - reading will trigger a CCA measurement (ZigBee testing). */ + mcp_phyEnergyDetect = 0x62, /* Read only - reading will trigger a phy ED measurement (ZigBee testing). */ + mcp_macPromiscuousAutoFcs = 0x64, /* Optional - specifies if the FCS is checked when in promiscuous mode. */ + mcp_phyTestModulated = 0x65, /* Optional - Transmits a modulated carrier (FCC testing). */ + mcp_phyTestUnmodulated = 0x66, /* Optional - Transmits an unmodulated carrier (FCC testing). */ + mcp_phyTestClockOut = 0x67, /* Optional - Enables clock output to GPIO (Oscillator tuning). */ + mcp_macStatistics = 0x68, /* Read only - returns the mcp_statistics structure (if supported). */ + mcp_macKeySwitchIndex = 0x69, /* Read/Write - used by ZigBee-IP to trigger a key switch (i.e. receive a packet with a matching key ID). */ + mcp_phySendRaw = 0x6a, /* Write only - transmits a raw PSDU on attribute write. */ + mcp_macHardwareInd = 0x6b, /* Read/Write - boolean to toggle a hardware indication. */ + mcp_phyStatistics = 0x6c, /* Read only - returns an mcp_counters structure (if supported). */ + mcp_macLicenseCert = 0x6d, /* Read only - The license certificate. */ + mcp_phyHardwareRand = 0x6e, /* Read only - Retrieve a randomly generated byte from hardware (eg: RSSI noise). */ + mcp_phyPagesSupported = 0x6f, /* Read only - a 32bit mask of channel-pages supported. */ + mcp_macASNNotifyTime = 0x70, /* Read/Write - ASN Time for MLME-EVENT.indication */ /* Security PIB Attributes */ - mcp_macKeyTable = 0x71, - mcp_macKeyTableEntries = 0x72, - mcp_macDeviceTable = 0x73, - mcp_macDeviceTableEntries = 0x74, - mcp_macSecurityLevelTable = 0x75, - mcp_macSecurityLevelTableEntries = 0x76, - mcp_macFrameCounter = 0x77, - mcp_macAutoRequestSecurityLevel = 0x78, - mcp_macAutoRequestKeyIdMode = 0x79, - mcp_macAutoRequestKeySource = 0x7a, - mcp_macAutoRequestKeyIndex = 0x7b, - mcp_macDefaultKeySource = 0x7c, - - mcp_macPanCoordExtendedAddress = 0x7d, /* ??? This seems to duplicate macCoordExtendedAddress */ - mcp_macPanCoordShortAddress = 0x7e, /* ??? This seems to duplicate macCoordShortAddress */ + mcp_macKeyTable = 0x71, + mcp_macKeyTableEntries = 0x72, + mcp_macDeviceTable = 0x73, + mcp_macDeviceTableEntries = 0x74, + mcp_macSecurityLevelTable = 0x75, + mcp_macSecurityLevelTableEntries = 0x76, + mcp_macFrameCounter = 0x77, + mcp_macAutoRequestSecurityLevel = 0x78, + mcp_macAutoRequestKeyIdMode = 0x79, + mcp_macAutoRequestKeySource = 0x7a, + mcp_macAutoRequestKeyIndex = 0x7b, + mcp_macDefaultKeySource = 0x7c, + + mcp_macPanCoordExtendedAddress = 0x7d, /* ??? This seems to duplicate macCoordExtendedAddress */ + mcp_macPanCoordShortAddress = 0x7e, /* ??? This seems to duplicate macCoordShortAddress */ /* TX duty-cycle attributes */ - mcp_macTxTotalDuration = 0x7f, /* Total number of transmitted symbols */ - mcp_macTxControlActiveDuration = 0x80, /* Active phase of TX duty cycle in milliseconds */ - mcp_macTxControlPauseDuration = 0x81, /* Paused phase of TX duty cycle in milliseconds */ + mcp_macTxTotalDuration = 0x7f, /* Total number of transmitted symbols */ + mcp_macTxControlActiveDuration = 0x80, /* Active phase of TX duty cycle in milliseconds */ + mcp_macTxControlPauseDuration = 0x81, /* Paused phase of TX duty cycle in milliseconds */ - mcp_macPacketDiagInfoEnable = 0x82, /* Controls if Diagnostic TLVs are added to packet indication messages */ + mcp_macPacketDiagInfoEnable = 0x82, /* Controls if Diagnostic TLVs are added to packet indication messages */ - mcp_enhancedBeaconIEs = 0x0101, /* HIEs, MIEs, and PIEs to include in enhanced beacon */ + mcp_enhancedBeaconIEs = 0x0101, /* HIEs, MIEs, and PIEs to include in enhanced beacon */ - mcp_macImplicitBroadcast = 0x0102, - mcp_macGlobalTime = 0x0103, /* For Global Time IE, in seconds */ - mcp_macBeaconsScheduled = 0x0104, /* Count of beacons scheduled, not necessarily sent; zeroed on read. */ + mcp_macImplicitBroadcast = 0x0102, + mcp_macGlobalTime = 0x0103, /* For Global Time IE, in seconds */ + mcp_macBeaconsScheduled = 0x0104, /* Count of beacons scheduled, not necessarily sent; zeroed on read. */ - mcp_macEnhancedBeaconSecurityLevel = 0x0105, /* Security setting for transmitting enhanced beacons */ - mcp_macEnhancedBeaconKeyIdMode = 0x0106, - mcp_macEnhancedBeaconKeySource = 0x0107, - mcp_macEnhancedBeaconKeyIndex = 0x0108, + mcp_macEnhancedBeaconSecurityLevel = 0x0105, /* Security setting for transmitting enhanced beacons */ + mcp_macEnhancedBeaconKeyIdMode = 0x0106, + mcp_macEnhancedBeaconKeySource = 0x0107, + mcp_macEnhancedBeaconKeyIndex = 0x0108, + + /* Custom Default Channel feature. */ + mcp_macRxOnIdleChannel = 0x0109, + mcp_macRxOnIdleChannelEnable = 0x010a, /* SUN PHY PIB Attributes. */ - mcp_phyFSKFEC = 0x0200, - mcp_phyFSKFECInterleavingRSC = 0x0201, - mcp_phyFSKFECScheme = 0x0202, - mcp_phySunChannelsSupported = 0x0203, - mcp_phyMaxSunChannelSupported = 0x0204, - mcp_phyNumSunPageEntriesSupported = 0x0205, - mcp_phySunPageEntriesSupported = 0x0206, - mcp_phyCurrentSunPageEntry = 0x0207, /* struct mcp_sunpage entry */ - mcp_phySunNumGenericPHYDescriptors = 0x0208, - mcp_phySunGenericPHYDescriptors = 0x0209, - mcp_phyNumModeSwitchParameterEntries = 0x020a, - mcp_phyModeSwitchParameterEntries = 0x020b, - mcp_phyFSKPreambleLength = 0x020c, - mcp_phyMRFSKSFD = 0x020d, - mcp_phyFSKScramblePSDU = 0x020e, /* Data whitening enable/disable */ - mcp_phyOFDMInterleaving = 0x020f, - mcp_phyOFDMScrambleSeed = 0x0210, /* Absent in 802.15.4g spec, but still needed. */ - mcp_phyPHRDuration = 0x0211, + mcp_phyFSKFEC = 0x0200, + mcp_phyFSKFECInterleavingRSC = 0x0201, + mcp_phyFSKFECScheme = 0x0202, + mcp_phySunChannelsSupported = 0x0203, + mcp_phyMaxSunChannelSupported = 0x0204, + mcp_phyNumSunPageEntriesSupported = 0x0205, + mcp_phySunPageEntriesSupported = 0x0206, + mcp_phyCurrentSunPageEntry = 0x0207, /* struct mcp_sunpage entry */ + mcp_phySunNumGenericPHYDescriptors = 0x0208, + mcp_phySunGenericPHYDescriptors = 0x0209, + mcp_phyNumModeSwitchParameterEntries = 0x020a, + mcp_phyModeSwitchParameterEntries = 0x020b, + mcp_phyFSKPreambleLength = 0x020c, + mcp_phyMRFSKSFD = 0x020d, + mcp_phyFSKScramblePSDU = 0x020e, /* Data whitening enable/disable */ + mcp_phyOFDMInterleaving = 0x020f, + mcp_phyOFDMScrambleSeed = 0x0210, /* Absent in 802.15.4g spec, but still needed. */ + mcp_phyPHRDuration = 0x0211, + mcp_phyChannelPlan = 0x0212, + + /* WiSUN PHY PIB Attributes */ + mcp_phyWisunRegion = 0x0220, + mcp_phyWisunOperatingMode = 0x0221, /* Exegin PHY Add-ons. */ - mcp_phyFSKDW = 0x0280, /* Deprecated */ - mcp_phyFreqBandSupported = 0x0281, /* uint16_t "enum mcp_freq_band" */ - mcp_phyTxPowerReg = 0x0282, /* uint32_t - For TX power profiling, write to the radio's register directly. */ + mcp_phyFSKDW = 0x0280, /* Deprecated */ + mcp_phyFreqBandSupported = 0x0281, /* uint16_t "enum mcp_freq_band" */ + mcp_phyTxPowerReg = 0x0282, /* uint32_t - For TX power profiling, write to the radio's register directly. */ /* SUN MAC PIB Attributes. */ - mcp_macEnhancedBeaconOrder = 0x0300, - mcp_macMPMIE = 0x0301, - mcp_macNBPANEnhancedBeaconOrder = 0x0302, - mcp_macOffsetTimeSlot = 0x0303, - mcp_macFCSType = 0x0304, + mcp_macEnhancedBeaconOrder = 0x0300, + mcp_macMPMIE = 0x0301, + mcp_macNBPANEnhancedBeaconOrder = 0x0302, + mcp_macOffsetTimeSlot = 0x0303, + mcp_macFCSType = 0x0304, /* TSCH MAC PIB Attributes */ - mcp_macTschEnabled = 0x0400, - mcp_macDisconnectTime = 0x0401, - mcp_macJoinMetric = 0x0402, - mcp_macASN = 0x0403, - mcp_macSlotframeTable = 0x0404, - mcp_macSlotframeEntries = 0x0405, - mcp_macLinkTable = 0x0406, - mcp_macLinkEntries = 0x0407, + mcp_macTschEnabled = 0x0400, + mcp_macDisconnectTime = 0x0401, + mcp_macJoinMetric = 0x0402, + mcp_macASN = 0x0403, + mcp_macSlotframeTable = 0x0404, + mcp_macSlotframeEntries = 0x0405, + mcp_macLinkTable = 0x0406, + mcp_macLinkEntries = 0x0407, /* WiSUN MAC PIB Attributes */ - mcp_macWisunEnabled = 0x0440, - mcp_macWisunPanVersion = 0x0441, - mcp_macWisunPanSize = 0x0442, - mcp_macWisunRoutingCost = 0x0443, + mcp_macWisunEnabled = 0x0440, + mcp_macWisunPanVersion = 0x0441, + mcp_macWisunPanSize = 0x0442, + mcp_macWisunRoutingCost = 0x0443, + mcp_macWisunUseParentBSIE = 0x0444, + mcp_macWisunParentAddress = 0x0445, + mcp_macWisunGTKHash = 0x0446, + mcp_macWisunParentBlacklist = 0x0447, + mcp_macWisunPasImin = 0x0448, /* PAN Advertise Solicit trickle timer minimum interval, in seconds */ + mcp_macWisunPasImax = 0x0449, /* PAN Advertise Solicit trickle timer maximum interval size, in #doublings */ + mcp_macWisunPasK = 0x044a, /* PAN Advertise Solicit trickle timer redundancy constant */ + mcp_macWisunPaImin = 0x044b, /* PAN Advertise trickle timer minimum interval, in seconds */ + mcp_macWisunPaImax = 0x044c, /* PAN Advertise trickle timer maximum interval size, in # doublings */ + mcp_macWisunPaK = 0x044d, /* PAN Advertise trickle timer redundancy constant */ + mcp_macWisunPcsImin = 0x044e, /* PAN Configuration Solicit trickle timer minimum interval, in seconds */ + mcp_macWisunPcsImax = 0x044f, /* PAN Configuration Solicit trickle timer maximum interval size, in # doublings */ + mcp_macWisunPcsK = 0x0450, /* PAN Configuration Solicit trickle timer redundancy constant */ + mcp_macWisunPcImin = 0x0451, /* PAN Configuration trickle timer minimum interval, in seconds */ + mcp_macWisunPcImax = 0x0452, /* PAN Configuration trickle timer maximum interval size, in # doublings */ + mcp_macWisunPcK = 0x0453, /* PAN Configuration trickle timer redundancy constant */ + mcp_macWisunPcsAttempts = 0x0454, /* PAN Configuration Solicit Attempts */ + mcp_macWisunExcludedChannelBitmask = 0x0455, /* Excluded Channels as array of 8 64-bit masks */ /* Hopping Sequence PIB Attributes */ - mcp_macHoppingSequenceID = 0x0480, - mcp_macHoppingChannelPage = 0x0481, /* Called macChannelPage in IEEE 802.15.4-2015, confusing name. */ - mcp_macHoppingChannelList = 0x0482, - mcp_macHoppingChannelCount = 0x0483, - mcp_macHoppingSequenceLength = 0x0484, - mcp_macHoppingSequenceList = 0x0485, - mcp_macHopDwellTime = 0x0486, - mcp_macTimeslotTemplateId = 0x0487, - mcp_macTsCcaOffset = 0x0488, - mcp_macTsCca = 0x0489, - mcp_macTsTxOffset = 0x048A, - mcp_macTsRxOffset = 0x048B, - mcp_macTsRxAckDelay = 0x048C, - mcp_macTsTxAckDelay = 0x048D, - mcp_macTsRxWait = 0x048E, - mcp_macTsRxTx = 0x048F, - mcp_macTsMaxAck = 0x0490, - mcp_macTsMaxTx = 0x0491, - mcp_macTsTimeslotLength = 0x0492, - mcp_macTsAckWait = 0x0493, - mcp_macExtendedBitmap = 0x0494, - mcp_macNumberOfChannels = 0x0495, + mcp_macHoppingSequenceID = 0x0480, + mcp_macHoppingChannelPage = 0x0481, /* Called macChannelPage in IEEE 802.15.4-2015, confusing name. */ + mcp_macHoppingChannelList = 0x0482, + mcp_macHoppingChannelCount = 0x0483, + mcp_macHoppingSequenceLength = 0x0484, + mcp_macHoppingSequenceList = 0x0485, + mcp_macHopDwellTime = 0x0486, + mcp_macTimeslotTemplateId = 0x0487, + mcp_macTsCcaOffset = 0x0488, + mcp_macTsCca = 0x0489, + mcp_macTsTxOffset = 0x048A, + mcp_macTsRxOffset = 0x048B, + mcp_macTsRxAckDelay = 0x048C, + mcp_macTsTxAckDelay = 0x048D, + mcp_macTsRxWait = 0x048E, + mcp_macTsRxTx = 0x048F, + mcp_macTsMaxAck = 0x0490, + mcp_macTsMaxTx = 0x0491, + mcp_macTsTimeslotLength = 0x0492, + mcp_macTsAckWait = 0x0493, + mcp_macExtendedBitmap = 0x0494, + mcp_macNumberOfChannels = 0x0495, + mcp_macBcastHopDwellTime = 0x0496, + mcp_macBcastHopInterval = 0x0497, + mcp_macBcastHopId = 0x0498, /* Zigbee R22 add-ons for GB-868 */ - mcp_macDCCurrentMeas = 0x0500, /* Current Duty Cycle over the last hour (hundredths of %) */ - mcp_macDCCurrentBytes = 0x0501, /* Current Duty Cycle over the last hour (bytes) */ - mcp_macJoinList = 0x0502, /* IEEE Joining List (used if mibJoiningPolicy == IEEELIST_JOIN) */ - mcp_macJoinPolicy = 0x0503, /* IEEE Joining Policy (mibJoiningPolicy) */ - mcp_macLBTTxRetries = 0x0504, - mcp_macTxPowerMgmtSupported = 0x0505, - mcp_macDutyCycleSupported = 0x0506, + mcp_macDCCurrentMeas = 0x0500, /* Current Duty Cycle over the last hour (hundredths of %) */ + mcp_macDCCurrentBytes = 0x0501, /* Current Duty Cycle over the last hour (bytes) */ + mcp_macJoinList = 0x0502, /* IEEE Joining List (used if mibJoiningPolicy == IEEELIST_JOIN) */ + mcp_reserved_0503 = 0x0503, /* was mcp_macJoinPolicy */ + mcp_macLBTTxRetries = 0x0504, + mcp_macTxPowerMgmtSupported = 0x0505, + mcp_macDutyCycleSupported = 0x0506, /* ZCL 7 Diagnostics Cluster Info */ - mcp_macDiagClusterInfo = 0x0507, + mcp_macDiagClusterInfo = 0x0507, /* Note, large gap of IDs until 0x40a0. */ /* Enhanced Beacon Request command PIB Attributes. */ - mcp_macEbrPermitJoining = 0x40A0, - mcp_macEbrFilters = 0x40A1, - mcp_macEbrLinkQuality = 0x40A2, - mcp_macEbrPercentFilter = 0x40A3, - mcp_macEbrAttributeList = 0x40A4, - mcp_macBeaconAutoRespond = 0x40A5 + mcp_macEbrPermitJoining = 0x40A0, + mcp_macEbrFilters = 0x40A1, + mcp_macEbrLinkQuality = 0x40A2, + mcp_macEbrPercentFilter = 0x40A3, + mcp_macEbrAttributeList = 0x40A4, + mcp_macBeaconAutoRespond = 0x40A5 }; /* Frequency Bands */ enum mcp_freq_band { - mcp_169MHz_band = 0, /* Europe */ - mcp_450MHz_band = 1, /* US FCC Part 22/90 */ - mcp_470MHz_band = 2, /* China */ - mcp_780MHz_band = 3, /* China */ - mcp_863MHz_band = 4, /* Europe */ - mcp_896MHz_band = 5, /* US FCC Part 90 */ - mcp_901MHz_band = 6, /* US FCC Part 24 */ - mcp_915MHz_band = 7, /* US */ - mcp_917MHz_band = 8, /* Korea */ - mcp_920MHz_band = 9, /* Japan */ - mcp_928MHz_band = 10, /* US, non-contiguous */ - mcp_950MHz_band = 11, /* Was in IEEE 802.15.4g; removed in 802.15.4-2015. Overlaps the 928MHz band. */ - mcp_1427MHz_band = 12, /* US and Canada, non-contiguous */ - mcp_2450MHz_band = 13, /* US and Canada */ + mcp_169MHz_band = 0, /* Europe */ + mcp_450MHz_band = 1, /* US FCC Part 22/90 */ + mcp_470MHz_band = 2, /* China */ + mcp_780MHz_band = 3, /* China */ + mcp_863MHz_band = 4, /* Europe */ + mcp_896MHz_band = 5, /* US FCC Part 90 */ + mcp_901MHz_band = 6, /* US FCC Part 24 */ + mcp_915MHz_band = 7, /* US */ + mcp_917MHz_band = 8, /* Korea */ + mcp_920MHz_band = 9, /* Japan */ + mcp_928MHz_band = 10, /* US, non-contiguous */ + mcp_950MHz_band = 11, /* Was in IEEE 802.15.4g; removed in 802.15.4-2015. Overlaps the 928MHz band. */ + mcp_1427MHz_band = 12, /* US and Canada, non-contiguous */ + mcp_2450MHz_band = 13, /* US and Canada */ /* Band added by IEEE 802.15.4u-2016 */ - mcp_866MHz_band = 14, /* India 865-867 */ + mcp_866MHz_band = 14, /* India 865-867 */ /* Bands added by IEEE 802.15.4v-2017 */ - mcp_870MHz_band = 15, /* Europe 870-876*/ + mcp_870MHz_band = 15, /* Europe 870-876*/ /* 16 to 23 are 915MHz sub-bands using 902-928MHz channel numbering */ - mcp_915MHz_a_band = 16, /* North America and Mexico 902-928 (alternate) */ - mcp_915MHz_b_band = 17, /* Brazil. Non-contiguous 902-907.5 & 915-928 MHz */ - mcp_915MHz_c_band = 18, /* Australia and New Zealand 915-928 */ - mcp_915MHz_d_band = 19, /* Europe 915-921*/ - mcp_915MHz_e_band = 20, /* Philippines 915-918 */ - mcp_919MHz_band = 21, /* Malaysia 919-923 */ - mcp_920MHz_a_band = 22, /* China 920.5-924.5 */ - mcp_920MHz_b_band = 23, /* HK, Singapore, Thailand, and Vietnam 920-925 */ + mcp_915MHz_a_band = 16, /* North America and Mexico 902-928 (alternate) */ + mcp_915MHz_b_band = 17, /* Brazil. Non-contiguous 902-907.5 & 915-928 MHz */ + mcp_915MHz_c_band = 18, /* Australia and New Zealand 915-928 */ + mcp_915MHz_d_band = 19, /* Europe 915-921*/ + mcp_915MHz_e_band = 20, /* Philippines 915-918 */ + mcp_919MHz_band = 21, /* Malaysia 919-923 */ + mcp_920MHz_a_band = 22, /* China 920.5-924.5 */ + mcp_920MHz_b_band = 23, /* HK, Singapore, Thailand, and Vietnam 920-925 */ /* 863MHz sub-band using 863-870MHz channel numbering */ - mcp_867MHz_band = 24, /* 866-869 */ + mcp_867MHz_band = 24, /* 866-869 */ /* Bands listed in IEEE 802-15.4-2015+revisions Table 10-1 Frequency band designations, * but not assigned a bit in Table 7-19 Frequency band identifier values */ - mcp_433MHz_band = 32, - mcp_868MHz_band = 32 + 1, - mcp_2380MHz_band = 32 + 2, + mcp_433MHz_band = 32, + mcp_868MHz_band = 32+1, + mcp_2380MHz_band = 32+2, }; /* Defined Channel Pages */ enum { - mcp_PAGE_DEFAULT = 0, /* Default Channel Page (i.e. legacy 802.15.4 mode) */ - mcp_PAGE_ASK = 1, /* 868/915MHz ASK. */ - mcp_PAGE_OQPSK = 2, /* 868/915MHz O-QPSK. */ - mcp_PAGE_SUN = 9, /* SUN PHYs */ + mcp_PAGE_DEFAULT = 0, /* Default Channel Page (i.e. legacy 802.15.4 mode) */ + mcp_PAGE_ASK = 1, /* 868/915MHz ASK. */ + mcp_PAGE_OQPSK = 2, /* 868/915MHz O-QPSK. */ + mcp_PAGE_CSS = 3, /* CSS */ + mcp_PAGE_HRP_UWB = 4, /* HRP UWB */ + mcp_PAGE_780_MHZ = 5, /* 780 MHz Band (not SUN, RCC or LECIM) previously MPSK */ + mcp_PAGE_GFSK = 6, /* 920.8-928 MHz */ + mcp_PAGE_MSK = 7, /* 433MHz/2450MHz MSK */ + mcp_PAGE_LRP_UWB = 8, /* LRP UWB */ + mcp_PAGE_SUN = 9, /* SUN PHYs */ + mcp_PAGE_SUN_FSK = 10, /* SUN FSK Generic PHY */ + mcp_PAGE_2380_MHZ = 11, /* 2380 MHz band */ + mcp_PAGE_LECIM = 12, /* LECIM PHY */ + mcp_PAGE_RCC = 13, /* RCC PHY */ }; /* SUN PHY Types */ enum { - mcp_FFSK_A = 0, /* Filtered FSK-A */ - mcp_FFSK_B = 1, /* Filtered FSK-B */ - mcp_OQPSK_A = 2, /* O-QPSK-A */ - mcp_OQPSK_B = 3, /* O-QPSK-B */ - mcp_OQPSK_C = 4, /* O-QPSK-C */ - mcp_OFDM_OPT1 = 5, /* OFDM Option 1 */ - mcp_OFDM_OPT2 = 6, /* OFDM Option 2 */ - mcp_OFDM_OPT3 = 7, /* OFDM Option 3 */ - mcp_OFDM_OPT4 = 8, /* OFDM Option 4 */ + mcp_FFSK_A = 0, /* Filtered FSK-A */ + mcp_FFSK_B = 1, /* Filtered FSK-B */ + mcp_OQPSK_A = 2, /* O-QPSK-A */ + mcp_OQPSK_B = 3, /* O-QPSK-B */ + mcp_OQPSK_C = 4, /* O-QPSK-C */ + mcp_OFDM_OPT1 = 5, /* OFDM Option 1 */ + mcp_OFDM_OPT2 = 6, /* OFDM Option 2 */ + mcp_OFDM_OPT3 = 7, /* OFDM Option 3 */ + mcp_OFDM_OPT4 = 8, /* OFDM Option 4 */ /* Legacy (802.15.4-2011) PHY types mapped to . */ - mcp_OQPSK_L = 256, /* Legacy O-QPSK */ - mcp_BPSK_L = 257, /* Legacy BPSK */ + mcp_OQPSK_L = 256, /* Legacy O-QPSK */ + mcp_BPSK_L = 257, /* Legacy BPSK */ }; /* FCS Type (mcp_macFCSType). */ enum { - mcp_FCS_TYPE_LONG = 0, /* 4 byte FCS is automatically generated by the PHY. */ - mcp_FCS_TYPE_SHORT = 1, /* 2 byte FCS is automatically generated by the PHY. */ - mcp_FCS_TYPE_LONG_RAW = 0x80, /* 4 byte FCS is not generated by the PHY, but the PHR is modified appropriately. */ - mcp_FCS_TYPE_SHORT_RAW = 0x81, /* 2 byte FCS is not generated by the PHY, but the PHR is modified appropriately. */ + mcp_FCS_TYPE_LONG = 0, /* 4 byte FCS is automatically generated by the PHY. */ + mcp_FCS_TYPE_SHORT = 1, /* 2 byte FCS is automatically generated by the PHY. */ + mcp_FCS_TYPE_LONG_RAW = 0x80, /* 4 byte FCS is not generated by the PHY, but the PHR is modified appropriately. */ + mcp_FCS_TYPE_SHORT_RAW = 0x81, /* 2 byte FCS is not generated by the PHY, but the PHR is modified appropriately. */ }; /* TSCH specific definitions. */ @@ -347,12 +389,12 @@ enum { mcp_IEEE802154_PIE_ESDU = 0x0, mcp_IEEE802154_PIE_MLME = 0x1, mcp_IEEE802154_PIE_VENDOR_SPECIFIC = 0x2, - mcp_IEEE802154_PIE_MPX = 0x3, /* IEEE 802.15.9 Support */ + mcp_IEEE802154_PIE_MPX = 0x3, /* IEEE 802.15.9 Support */ mcp_IEEE802154_PIE_WISUN = 0x4, /* Wi-SUN Payload embedded IEs */ mcp_IEEE802154_PIE_RESERVED_MIN = 0x5, mcp_IEEE802154_PIE_RESERVED_MAX = 0xe, mcp_IEEE802154_PIE_TERM = 0xf, -}; + }; /* Nested TSCH MLME IE types. */ enum { @@ -422,6 +464,28 @@ enum { mcp_WS_DOMAIN_VIETNAM = 0x0f, }; +/* Wi-SUN PHY Operating Modes */ +enum { + mcp_WS_OPMODE_1A = 0x00, + mcp_WS_OPMODE_1B = 0x01, + mcp_WS_OPMODE_2A = 0x02, + mcp_WS_OPMODE_2B = 0x03, + mcp_WS_OPMODE_3 = 0x04, + mcp_WS_OPMODE_4A = 0x05, + mcp_WS_OPMODE_4B = 0x06, + mcp_WS_OPMODE_5 = 0x07, +}; + +/* MLME-ASSOCIATE.request capabilities */ +#define MCP_ASSOC_CAP_ALT_COORD 0x01U /* Deprecated by IEEE 802.15.4-2015 */ +#define MCP_ASSOC_CAP_DEV_TYPE 0x02U /* 0 = RFD, 1 = FFD */ +#define MCP_ASSOC_CAP_PWR_SRC 0x04U /* 0 = battery, 1 = mains */ +#define MCP_ASSOC_CAP_RXONIDLE 0x08U +#define MCP_ASSOC_CAP_ASSOC_TYPE 0x10U /* 0 = normal, 1 = fast association */ +/* Reserved bit: 0x20 */ +#define MCP_ASSOC_CAP_SECURITY 0x40U +#define MCP_ASSOC_CAP_ALLOC_ADDR 0x80U /* 1 = coordinator (i.e. parent) allocates short address, 0 = otherwise */ + /* Macro to compute the usage bit for security keys and levels. */ #define MCP_KEY_USAGE(_type_, _cmd_) (1ULL << (((_type_) == mcp_802154_FRAME_TYPE_CMD) ? ((_cmd_) + mcp_802154_FRAME_TYPE_CMD) : (_type_))) #define MCP_KEY_USAGE_ALL ((1ULL << (mcp_802154_FRAME_TYPE_CMD + mcp_802154_CMD_TYPE_VENDOR + 1)) - 1) @@ -429,9 +493,9 @@ enum { /* Vendor-specific IE has different ID for HIE, PIE, MIE types. */ #define MCP_TLV_IE_IS_VENDOR(type, id) \ ((((type) == MCP_TLV_HIE) && ((id) == mcp_IEEE802154_HIE_VENDOR_SPECIFIC)) \ - || (((type) == MCP_TLV_PIE) && ((id) == mcp_IEEE802154_PIE_VENDOR_SPECIFIC)) \ - || (((type) == MCP_TLV_MIE) && ((id) == mcp_IEEE802154_MIE_VENDOR_SPECIFIC))) + || (((type) == MCP_TLV_PIE) && ((id) == mcp_IEEE802154_PIE_VENDOR_SPECIFIC)) \ + || (((type) == MCP_TLV_MIE) && ((id) == mcp_IEEE802154_MIE_VENDOR_SPECIFIC))) /*lint -restore */ -#endif /* MCP_ENUMS_H */ +#endif /* MCP_ENUMS_H_ */ |