From a54ad9edce697133a024aff096e50f7e4f389d5b Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Sun, 18 Mar 2012 12:22:02 +0100 Subject: digital/beacon: import Zigbit stack (bitcloud) & avr sources --- .../ConfigServer/include/private/csBuffers.h | 151 ++++++++++ .../ConfigServer/include/private/csDbg.h | 32 +++ .../ConfigServer/include/private/csParamTable.h | 304 +++++++++++++++++++++ .../ConfigServer/include/private/csSIB.h | 207 ++++++++++++++ 4 files changed, 694 insertions(+) create mode 100644 digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csBuffers.h create mode 100644 digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csDbg.h create mode 100644 digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csParamTable.h create mode 100644 digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csSIB.h (limited to 'digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private') diff --git a/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csBuffers.h b/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csBuffers.h new file mode 100644 index 00000000..bb00718e --- /dev/null +++ b/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csBuffers.h @@ -0,0 +1,151 @@ +/****************************************************************************** + \file csBuffers.h + + \brief + BitCloud memory buffers + + \author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2010 , Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + + \internal + History: + 21.10.10 A. Razinkov - Created. +******************************************************************************/ + +#ifndef _CSBUFFERS_H_ +#define _CSBUFFERS_H_ + +/****************************************************************************** + Includes section +******************************************************************************/ +#ifndef _MAC2_ +#include +#include +#else +#include +#endif + +#ifdef _SECURITY_ +#include +#endif /* _SECURITY */ +#ifdef _LINK_SECURITY_ +#include +#endif /* _LINK_SECURITY_ */ + +#ifdef _ZCL_ +#include + #ifdef _OTAU_ +#include +#include +#include + #endif /* _OTAU_ */ +#endif /* _ZCL_ */ + +/****************************************************************************** + Types section +******************************************************************************/ + +/**//** + * \brief Stack buffers list + */ +typedef struct _CS_StackBuffers_t +{ + /* MAC buffers */ + uint8_t csMacFrameRxBuffer[CS_MAC_FRAME_RX_BUFFER_SIZE]; +#ifndef _MAC2_ + MAC_PanDescriptor_t csMacPanDescriptorBuffer[CS_NEIB_TABLE_SIZE]; +#ifdef _MAC_BAN_NODE_ + MAC_BanTableEntry_t csBanTable[CS_BAN_TABLE_SIZE]; +#endif /* _MAC_BAN_NODE_ */ + + /* NWK buffers */ + Neib_t csNeibTable[CS_NEIB_TABLE_SIZE]; + MutableNeib_t csMutableNeibTable[CS_NEIB_TABLE_SIZE]; +#if CS_ROUTE_CACHE_SIZE > 0 + NwkRouteCacheRecord_t csRouteCache[CS_ROUTE_CACHE_SIZE]; +#endif +#if CS_NWK_BUFFERS_AMOUNT > 0 + NwkPacket_t csNwkBuffer[CS_NWK_BUFFERS_AMOUNT]; +#endif +#if CS_ROUTE_TABLE_SIZE > 0 + NwkRoutingTableEntry_t csRoutingTable[CS_ROUTE_TABLE_SIZE]; +#endif +#if CS_ROUTE_DISCOVERY_TABLE_SIZE > 0 + NwkRouteDiscoveryEntry_t csRouteDiscoveryTable[CS_ROUTE_DISCOVERY_TABLE_SIZE]; +#endif +#if CS_ADDRESS_MAP_TABLE_SIZE > 0 + NwkAddressMapEntry_t csAddressMapTable[CS_ADDRESS_MAP_TABLE_SIZE]; +#endif +#if CS_NWK_BTT_SIZE > 0 + SYS_DuplicateTableEntry_t csBTR[CS_NWK_BTT_SIZE]; +#endif +#ifdef _GROUP_TABLE_ + NWK_GroupTableEntry_t csGroupTable[CS_GROUP_TABLE_SIZE]; +#endif +#ifdef _SECURITY_ + NWK_SecurityKey_t csNwkSecKeys[CS_NWK_SECURITY_KEYS_AMOUNT]; + NWK_SecurityFrameCounters_t csNwkSecCounters[CS_NWK_SECURITY_KEYS_AMOUNT]; +#endif /* _SECURITY_ */ + + /* APS buffers */ +#if CS_APS_DATA_REQ_BUFFERS_AMOUNT > 0 + ApsDataBuffer_t csApsDataReqBuffer[CS_APS_DATA_REQ_BUFFERS_AMOUNT]; +#endif +#if CS_APS_ACK_FRAME_BUFFERS_AMOUNT > 0 + ApsAckBuffer_t csApsAckFrameBuffer[CS_APS_ACK_FRAME_BUFFERS_AMOUNT]; +#endif +#if CS_JOIN_IND_OBJ_AMOUNT > 0 + NwkJoinIndObj_t csJoinIndObjects[CS_JOIN_IND_OBJ_AMOUNT]; +#endif +#if CS_DUPLICATE_REJECTION_TABLE_SIZE > 0 + SYS_DuplicateTableEntry_t csDuplicateRejectionTable[CS_DUPLICATE_REJECTION_TABLE_SIZE]; +#endif +#if defined(_BINDING_) && (CS_APS_BINDING_TABLE_SIZE > 0) + ApsBindingEntry_t csApsBindingTable[CS_APS_BINDING_TABLE_SIZE]; +#endif /* _BINDING_ */ +#if defined(_APS_FRAGMENTATION_) && (CS_APS_MAX_BLOCKS_AMOUNT > 0) + uint8_t csFragmentationMemoryPool[CS_APS_MAX_BLOCKS_AMOUNT * CS_APS_BLOCK_SIZE + CS_APS_MAX_BLOCKS_AMOUNT]; + uint8_t csFragmentationPacketBuffer[APS_AFFIX_LENGTH + CS_APS_BLOCK_SIZE]; +#endif /* _APS_FRAGMENTATION_ */ + + /* Trust Center buffers */ +#ifdef _SECURITY_ + #if CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT > 0 + TC_AuthenticObj_t csTcAuthenticProcessBuffer[CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT]; + #endif + #if defined(_TC_PERMISSION_TABLE_) && (CS_MAX_TC_ALLOWED_DEVICES_AMOUNT > 0) + ExtAddr_t csTcDevicePermissionTable[CS_MAX_TC_ALLOWED_DEVICES_AMOUNT]; + #endif + #ifdef _LINK_SECURITY_ + ApsKeyPairDescriptor_t csApsKeyPairDescriptors[CS_APS_KEY_PAIR_DESCRIPTORS_AMOUNT]; + ApsKeyCounters_t csApsKeyCounters[CS_APS_KEY_PAIR_DESCRIPTORS_AMOUNT]; + #if CS_MAX_TC_ESTABLISH_KEY_AMOUNT > 0 + TC_KeyEstablishObj_t csTcEstablishKeyBuffer[CS_MAX_TC_ESTABLISH_KEY_AMOUNT]; + #endif + #endif /* _LINK_SECURITY_ */ + +#endif /* _SECURITY_ */ + + /* ZCL buffers */ +#ifdef _ZCL_ + ZclMmBufferDescriptor_t zclMmBuffers[CS_ZCL_MEMORY_BUFFERS_AMOUNT]; + #ifdef _OTAU_ + ZclOtauDiscoveryResult_t csOtauDiscoveryResult[CS_ZCL_OTAU_DISCOVERED_SERVER_AMOUNT]; + ZclOtauServerTransac_t csOtauSimultaneousClientSession[CS_ZCL_OTAU_CLIENT_SESSION_AMOUNT]; + ZclOtauMissedBlockResponses_t csOtauMissedBlocksBuffer[CS_ZCL_OTAU_MISSED_BLOCKS_BUFFER_SIZE]; + uint8_t csOtauImagePageDataBuffer[CS_ZCL_OTAU_IMAGE_PAGE_REQUEST_PAGE_SIZE]; + #endif /* _OTAU_ */ +#endif /* _ZCL_ */ + +#if (defined _NWK_PASSIVE_ACK_) && (CS_NWK_PASSIVE_ACK_AMOUNT > 0) + NwkPassiveAckEntry_t csNwkPassiveAckTable[CS_NWK_PASSIVE_ACK_AMOUNT]; +#endif +#endif /* _MAC2_ */ +} CS_StackBuffers_t; + +#endif /* _CSBUFFERS_H_ */ +/* eof csBuffers.h */ diff --git a/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csDbg.h b/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csDbg.h new file mode 100644 index 00000000..3908e385 --- /dev/null +++ b/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csDbg.h @@ -0,0 +1,32 @@ +/****************************************************************************** + \file csDbg.h + + \brief + Configuration Server debug info + + \author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2010 , Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + + \internal + History: + 22.10.10 A. Razinkov - Created. +******************************************************************************/ + +#ifndef _CSDBG_H_ +#define _CSDBG_H_ + +/****************************************************************************** + Includes section +******************************************************************************/ +#include + +typedef enum +{ + CS_CSGETITEM0 = 0x6000 +} CS_DbgCodeId_t; + +#endif /* _CSDBG_H_ */ diff --git a/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csParamTable.h b/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csParamTable.h new file mode 100644 index 00000000..8d65d589 --- /dev/null +++ b/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csParamTable.h @@ -0,0 +1,304 @@ +/****************************************************************************** + \file csParamTable.h + + \brief + Configuration Server parameters information table + + \author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2010 , Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + + \internal + History: + 22.12.10 A. Razinkov - Created. +******************************************************************************/ + +/* This table contains information about particular paramter displacement address, + * memory type it occupies (FLASH or RAM), and its representation in memory + * (as memory region or atomic entity). + * + * This table should be inlined to external module. + * RAM_PARAMETER(id, addr), FLASH_PARAMETER(id, addr), MEMORY_REGION(idm addr), + * SEPARATOR(id) and DUMMY_MEMORY(id) macroses should be defined first to provide + * specific table morphing. + * + * SEPARATOR(id) macro is used to separate atomic parameters stored in RAM from + * the ones stored in FLASH. It's the only restriction on parameters order in this table. + * Memory regions could be described everywhere. + * + * DUMMY_MEMORY(id) macro is used to specify few stack buffers sizes during the application + * compilation phase. + */ + +RAM_PARAMETER(CS_UID_ID, csPIB.macAttr.extAddr) +RAM_PARAMETER(CS_MAX_FRAME_TRANSMISSION_TIME_ID, csPIB.macAttr.maxFrameTransmissionTime) +RAM_PARAMETER(CS_MAC_TRANSACTION_TIME_ID, csSIB.csMacTransactionTime) +RAM_PARAMETER(CS_RF_TX_POWER_ID, csSIB.csRfTxPower) +#ifndef _MAC2_ +RAM_PARAMETER(CS_MAX_NEIGHBOR_ROUTE_COST_ID, csNIB.maxNeighborRouteCost) +RAM_PARAMETER(CS_NWK_EXT_PANID_ID, csNIB.extendedPanId) +RAM_PARAMETER(CS_NWK_ADDR_ID, csNIB.networkAddress) +RAM_PARAMETER(CS_NWK_PARENT_ADDR_ID, csNIB.parentNetworkAddress) +RAM_PARAMETER(CS_NWK_DEPTH_ID, csNIB.depth) +RAM_PARAMETER(CS_NWK_UNIQUE_ADDR_ID, csNIB.uniqueAddr) +RAM_PARAMETER(CS_CHANNEL_PAGE_ID, csNIB.channelPage) +RAM_PARAMETER(CS_NWK_USE_MULTICAST_ID, csSIB.csNwkUseMulticast) +RAM_PARAMETER(CS_NWK_MAX_LINK_STATUS_FAILURES_ID, csSIB.csNwkMaxLinkStatusFailures) +RAM_PARAMETER(CS_NWK_END_DEVICE_MAX_FAILURES_ID, csSIB.csNwkEndDeviceMaxFailures) +RAM_PARAMETER(CS_NWK_LOGICAL_CHANNEL_ID, csSIB.csNwkLogicalChannel) +RAM_PARAMETER(CS_NWK_PANID_ID, csSIB.csNwkPanid) +RAM_PARAMETER(CS_NWK_PREDEFINED_PANID_ID, csSIB.csNwkPredefinedPanid) +RAM_PARAMETER(CS_PROTOCOL_VERSION_ID, csNIB.protocolVersion) +RAM_PARAMETER(CS_STACK_PROFILE_ID, csNIB.stackProfile) +RAM_PARAMETER(CS_SCAN_DURATION_ID, csZIB.scanDuration) +RAM_PARAMETER(CS_PERMIT_DURATION_ID, csZIB.permitJoinDuration) +RAM_PARAMETER(CS_EXT_PANID_ID, csSIB.csExtPANID) +RAM_PARAMETER(CS_CHANNEL_MASK_ID, csZIB.channelMask) +RAM_PARAMETER(CS_INDIRECT_POLL_RATE_ID, csSIB.csIndirectPollRate) +RAM_PARAMETER(CS_END_DEVICE_SLEEP_PERIOD_ID, csSIB.csEndDeviceSleepPeriod) +RAM_PARAMETER(CS_FFD_SLEEP_PERIOD_ID, csSIB.csFfdSleepPeriod) +RAM_PARAMETER(CS_RX_ON_WHEN_IDLE_ID, csSIB.csRxOnWhenIdle) +RAM_PARAMETER(CS_COMPLEX_DESCRIPTOR_AVAILABLE_ID, csSIB.csComplexDescriptorAvailable) +RAM_PARAMETER(CS_USER_DESCRIPTOR_AVAILABLE_ID, csSIB.csUserDescriptorAvailable) +RAM_PARAMETER(CS_ZDP_USER_DESCRIPTOR_ID, csSIB.csUserDescriptor) +RAM_PARAMETER(CS_DEVICE_TYPE_ID, csNIB.deviceType) +RAM_PARAMETER(CS_ZDO_JOIN_ATTEMPTS_ID, csSIB.csZdoJoinAttempts) +RAM_PARAMETER(CS_ZDO_JOIN_INTERVAL_ID, csSIB.csZdoJoinInterval) +RAM_PARAMETER(CS_APS_MAX_FRAME_RETRIES_ID, csSIB.csApsMaxFrameRetries) +RAM_PARAMETER(CS_ZDP_RESPONSE_TIMEOUT_ID, csZIB.zdpResponseTimeout) +RAM_PARAMETER(CS_DTR_WAKEUP_ID, csSIB.csDtrWakeup) +#endif + +#ifdef AT86RF212 +RAM_PARAMETER(CS_LBT_MODE_ID, csSIB.csLbtMode) +#endif +#ifdef _NWK_CONCENTRATOR_ +RAM_PARAMETER(CS_CONCENTRATOR_DISCOVERY_TIME_ID, csSIB.csNwkConcentratorDiscoveryTime) +#endif +#ifdef _TC_SWAPOUT_ +RAM_PARAMETER(CS_ZDO_TC_KEEP_ALIVE_INTERVAL_ID, csSIB.csZdoTcKeepAliveInterval) +#endif +#ifdef _APS_FRAGMENTATION_ +RAM_PARAMETER(CS_APS_MAX_TRANSMISSION_WINDOW_SIZE_ID, csSIB.csApsMaxTransmissionWindowSize) +#endif +#ifdef _COMMISSIONING_ +RAM_PARAMETER(CS_PDS_STORING_INTERVAL_ID, csSIB.csPdsStoringInterval) + #ifdef _POWER_FAILURE_ +RAM_PARAMETER(CS_POWER_FAILURE_ID, csSIB.csPowerFailure) + #endif /* _POWER_FAILURE_ */ +#endif /* _COMMISSIONING_ */ + +#ifdef _ZCL_ +RAM_PARAMETER(CS_ZCL_ATTRIBUTE_REPORT_TIMER_INTERVAL_ID, csSIB.csZclAttributeReportTimerInterval) + #ifdef _OTAU_ +RAM_PARAMETER(CS_ZCL_OTAU_DEFAULT_UPGRADE_SERVER_IEEE_ADDRESS_ID, csSIB.csOtauDefaultServerAddress) +RAM_PARAMETER(CS_ZCL_OTAU_DEFAULT_SERVER_DISCOVERY_PERIOD_ID, csSIB.csOtauServerDiscoveryPeriod) +RAM_PARAMETER(CS_ZCL_OTAU_IMAGE_PAGE_REQUEST_USAGE_ID, csSIB.csOtauServerPageRequestUsage) + #endif /* _OTAU_ */ +#endif /* _ZCL_ */ +#ifdef _SECURITY_ +RAM_PARAMETER(CS_NETWORK_KEY_ID, defaultKey) +RAM_PARAMETER(CS_SECURITY_ON_ID, csSIB.csSecurityOn) +RAM_PARAMETER(CS_SECURITY_LEVEL_ID, csNIB.securityIB.securityLevel) +RAM_PARAMETER(CS_SECURITY_ALL_FRAMES_ID, csNIB.securityIB.secureAllFrames) +RAM_PARAMETER(CS_ZDO_SECURITY_STATUS_ID, csSIB.csZdoSecurityStatus) +RAM_PARAMETER(CS_APS_TRUST_CENTER_ADDRESS_ID, csAIB.trustCenterAddress) +#endif /* _SECURITY_ */ + +SEPARATOR(CS_FLASH_PARAMETERS_START_ID) +FLASH_PARAMETER(CS_MAC_FRAME_RX_BUFFER_SIZE_ID, csReadOnlyItems.csMacFrameRxBufferSize) +#ifndef _MAC2_ +FLASH_PARAMETER(CS_NEIB_TABLE_SIZE_ID, csReadOnlyItems.csNeibTableSize) +FLASH_PARAMETER(CS_ROUTE_CACHE_SIZE_ID, csReadOnlyItems.csNwkRouteCacheSize) +#endif +FLASH_PARAMETER(CS_MAC_PAN_DESCRIPTOR_AMOUNT_ID, csReadOnlyItems.csMacPanDescriptorAmount) +FLASH_PARAMETER(CS_MAX_CHILDREN_AMOUNT_ID, csReadOnlyItems.csMaxChildrenAmount) +FLASH_PARAMETER(CS_MAX_CHILDREN_ROUTER_AMOUNT_ID, csReadOnlyItems.csMaxChildrenRouterAmount) +FLASH_PARAMETER(CS_MAX_NETWORK_DEPTH_ID, csReadOnlyItems.csMaxNetworkDepth) +FLASH_PARAMETER(CS_ADDRESS_ASSIGNMENT_METHOD_ID, csReadOnlyItems.csAddressAssignmentMethod) +FLASH_PARAMETER(CS_NWK_BUFFERS_AMOUNT_ID, csReadOnlyItems.csNwkBuffersAmount) +FLASH_PARAMETER(CS_JOIN_IND_OBJ_AMOUNT_ID, csReadOnlyItems.csJoinIndObjAmount) +FLASH_PARAMETER(CS_ROUTE_TABLE_SIZE_ID, csReadOnlyItems.csRouteTableSize) +#ifndef _MAC2_ +FLASH_PARAMETER(CS_ADDRESS_MAP_TABLE_SIZE_ID, csReadOnlyItems.csAddressMapTableSize) +#endif +FLASH_PARAMETER(CS_ROUTE_DISCOVERY_TABLE_SIZE_ID, csReadOnlyItems.csRouteDiscoveryTableSize) +FLASH_PARAMETER(CS_BTT_SIZE_ID, csReadOnlyItems.csNwkBttSize) +FLASH_PARAMETER(CS_MANUFACTURER_CODE_ID, csReadOnlyItems.csManufacturerCode) +FLASH_PARAMETER(CS_APS_DATA_REQ_BUFFERS_AMOUNT_ID, csReadOnlyItems.csApsDataReqBuffersAmount) +FLASH_PARAMETER(CS_APS_ACK_FRAME_BUFFERS_AMOUNT_ID, csReadOnlyItems.csApsAckFrameBuffesAmount) +FLASH_PARAMETER(CS_DUPLICATE_REJECTION_TABLE_SIZE_ID, csReadOnlyItems.csDuplicateRejectionTableSize) +FLASH_PARAMETER(CS_STACK_VERSION_ID, csReadOnlyItems.csStackVersion) + +#ifdef _MAC_BAN_NODE_ +FLASH_PARAMETER(CS_BAN_TABLE_SIZE_ID, csReadOnlyItems.csMacBanTableSize) +#endif +#ifdef _GROUP_TABLE_ +FLASH_PARAMETER(CS_GROUP_TABLE_SIZE_ID, csReadOnlyItems.csGroupTableSize) +#endif +#ifdef _NWK_PASSIVE_ACK_ +FLASH_PARAMETER(CS_NWK_PASSIVE_ACK_AMOUNT_ID, csReadOnlyItems.csPassiveAckAmount) +#endif +#ifdef _BINDING_ +FLASH_PARAMETER(CS_APS_BINDING_TABLE_SIZE_ID, csReadOnlyItems.csApsBindingTableSize) +#endif +#ifdef _APS_FRAGMENTATION_ +FLASH_PARAMETER(CS_APS_MAX_BLOCKS_AMOUNT_ID, csReadOnlyItems.csApsMaxBlocksAmount) +FLASH_PARAMETER(CS_APS_BLOCK_SIZE_ID, csReadOnlyItems.csApsBlockSize) +#endif +#ifdef _ZCL_ +FLASH_PARAMETER(CS_ZCL_MEMORY_BUFFERS_AMOUNT_ID, csReadOnlyItems.csZclMemoryBuffersAmount) + #ifdef _OTAU_ +FLASH_PARAMETER(CS_ZCL_OTAU_DISCOVERED_SERVER_AMOUNT_ID, csReadOnlyItems.csOtauDiscoveredServerAmount) +FLASH_PARAMETER(CS_ZCL_OTAU_CLIENT_SESSION_AMOUNT_ID, csReadOnlyItems.csOtauClientSessionAmount) +FLASH_PARAMETER(CS_ZCL_OTAU_IMAGE_PAGE_REQUEST_RESPONSE_SPACING_ID, csReadOnlyItems.csOtauServerPageRequestResponseSpacing) +FLASH_PARAMETER(CS_ZCL_OTAU_IMAGE_PAGE_REQUEST_PAGE_SIZE_ID, csReadOnlyItems.csOtauServerPageSize) +FLASH_PARAMETER(CS_ZCL_OTAU_MISSED_BLOCKS_BUFFER_SIZE_ID, csReadOnlyItems.csOtauClientMissedBlocksBufferSize) + #endif /* _OTAU_ */ +#endif +#ifdef _SECURITY_ +FLASH_PARAMETER(CS_APS_SECURITY_TIMEOUT_PERIOD_ID, csReadOnlyItems.csApsSecurityTimeoutPeriod) + #ifdef _TRUST_CENTRE_ +FLASH_PARAMETER(CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT_ID, csReadOnlyItems.csMaxTcAuthenticProcessAmount) + #ifdef _TC_PERMISSION_TABLE_ +FLASH_PARAMETER(CS_MAX_TC_ALLOWED_DEVICES_AMOUNT_ID, csReadOnlyItems.csMaxTcAllowedDevicesAmount) + #endif /* _TC_PERMISSION_TABLE_ */ + #endif /* _TRUST_CENTRE_ */ +#endif /* _SECURITY_ */ +#ifdef _LINK_SECURITY_ +FLASH_PARAMETER(CS_APS_KEY_PAIR_DESCRIPTORS_AMOUNT_ID, csReadOnlyItems.csApsKeyPairDescriptorsAmount) + #ifdef _TRUST_CENTRE_ +FLASH_PARAMETER(CS_MAX_TC_ESTABLISH_KEY_AMOUNT_ID, csReadOnlyItems.csMaxTcEstablishKeyAmount) + #endif /* _TRUST_CENTRE_ */ +#endif /* _LINK_SECURITY_ */ + +MEMORY_REGION(CS_MAC_FRAME_RX_BUFFER_ID, stackBuffers.csMacFrameRxBuffer) +#ifndef _MAC2_ +MEMORY_REGION(CS_NEIB_TABLE_ID, stackBuffers.csNeibTable) +MEMORY_REGION(CS_MAC_PAN_DESCRIPTOR_BUFFER_ID, stackBuffers.csMacPanDescriptorBuffer) +MEMORY_REGION(CS_MUTABLE_NEIB_TABLE_ID, stackBuffers.csMutableNeibTable) +#endif + +#ifdef _MAC_BAN_NODE_ +MEMORY_REGION(CS_BAN_TABLE_ID, stackBuffers.csBanTable) +#endif + +#if CS_ROUTE_CACHE_SIZE > 0 +MEMORY_REGION(CS_ROUTE_CACHE_ID, stackBuffers.csRouteCache) +#else +DUMMY_MEMORY(CS_ROUTE_CACHE_ID) +#endif /* CS_ROUTE_CACHE_SIZE > 0 */ + +#if CS_NWK_BUFFERS_AMOUNT > 0 +MEMORY_REGION(CS_NWK_BUFFERS_ID, stackBuffers.csNwkBuffer) +#else +DUMMY_MEMORY(CS_NWK_BUFFERS_ID) +#endif /* CS_NWK_BUFFERS_AMOUNT > 0 */ + +#if CS_JOIN_IND_OBJ_AMOUNT > 0 +MEMORY_REGION(CS_JOIN_IND_OBJ_ID, stackBuffers.csJoinIndObjects) +#else +DUMMY_MEMORY(CS_JOIN_IND_OBJ_ID) +#endif /* CS_JOIN_IND_OBJ_AMOUNT > 0 */ + +#if CS_DUPLICATE_REJECTION_TABLE_SIZE > 0 +MEMORY_REGION(CS_DUPLICATE_REJECTION_TABLE_ID, stackBuffers.csDuplicateRejectionTable) +#else +DUMMY_MEMORY(CS_DUPLICATE_REJECTION_TABLE_ID) +#endif /* CS_DUPLICATE_REJECTION_TABLE_SIZE > 0 */ + +#if CS_ROUTE_TABLE_SIZE > 0 +MEMORY_REGION(CS_ROUTE_TABLE_ID, stackBuffers.csRoutingTable) +#else +DUMMY_MEMORY(CS_ROUTE_TABLE_ID) +#endif /* CS_ROUTE_TABLE_SIZE > 0 */ + +#if CS_ADDRESS_MAP_TABLE_SIZE > 0 +MEMORY_REGION(CS_ADDRESS_MAP_TABLE_ID, stackBuffers.csAddressMapTable) +#else +DUMMY_MEMORY(CS_ADDRESS_MAP_TABLE_ID) +#endif /* CS_ADDRESS_MAP_TABLE_SIZE > 0 */ + +#if CS_ROUTE_DISCOVERY_TABLE_SIZE > 0 +MEMORY_REGION(CS_ROUTE_DISCOVERY_TABLE_ID, stackBuffers.csRouteDiscoveryTable) +#else +DUMMY_MEMORY(CS_ROUTE_DISCOVERY_TABLE_ID) +#endif /* CS_ROUTE_DISCOVERY_TABLE_SIZE > 0 */ + +#if CS_NWK_BTT_SIZE > 0 +MEMORY_REGION(CS_BTT_ID, stackBuffers.csBTR) +#else +DUMMY_MEMORY(CS_BTT_ID) +#endif /* CS_NWK_BTT_SIZE > 0 */ + +#if CS_APS_DATA_REQ_BUFFERS_AMOUNT > 0 +MEMORY_REGION(CS_APS_DATA_REQ_BUFFER_ID, stackBuffers.csApsDataReqBuffer) +#else +DUMMY_MEMORY(CS_APS_DATA_REQ_BUFFER_ID) +#endif /* CS_APS_DATA_REQ_BUFFERS_AMOUNT > 0 */ + +#if CS_APS_ACK_FRAME_BUFFERS_AMOUNT > 0 +MEMORY_REGION(CS_APS_ACK_FRAME_BUFFER_ID, stackBuffers.csApsAckFrameBuffer) +#else +DUMMY_MEMORY(CS_APS_ACK_FRAME_BUFFER_ID) +#endif /* CS_APS_ACK_FRAME_BUFFERS_AMOUNT > 0 */ + +#if defined(_APS_FRAGMENTATION_) && (CS_APS_MAX_BLOCKS_AMOUNT > 0) +MEMORY_REGION(CS_APS_FRAGMENTATION_MEMORY_POOL_ID, stackBuffers.csFragmentationMemoryPool) +MEMORY_REGION(CS_APS_FRAGMENTATION_PACKET_BUFFER_ID, stackBuffers.csFragmentationPacketBuffer) +#else +DUMMY_MEMORY(CS_APS_FRAGMENTATION_MEMORY_POOL_ID) +DUMMY_MEMORY(CS_APS_FRAGMENTATION_PACKET_BUFFER_ID) +#endif /* _APS_FRAGMENTATION_ */ + +#ifdef _GROUP_TABLE_ +MEMORY_REGION(CS_GROUP_TABLE_ID, stackBuffers.csGroupTable) +#endif +#ifdef _BINDING_ +MEMORY_REGION(CS_APS_BINDING_TABLE_ID, stackBuffers.csApsBindingTable) +#endif + +#ifdef _ZCL_ +MEMORY_REGION(CS_ZCL_MEMORY_BUFFERS_ID, stackBuffers.zclMmBuffers) + #ifdef _OTAU_ +MEMORY_REGION(CS_ZCL_OTAU_DISCOVERED_SERVER_RESULT_ID, stackBuffers.csOtauDiscoveryResult) +MEMORY_REGION(CS_ZCL_OTAU_CLIENT_SESSION_MEMORY_ID, stackBuffers.csOtauSimultaneousClientSession) +MEMORY_REGION(CS_ZCL_OTAU_MISSED_BLOCKS_BUFFER_ID, stackBuffers.csOtauMissedBlocksBuffer) +MEMORY_REGION(CS_ZCL_OTAU_PAGE_REQUEST_PAGE_BUFFER_ID, stackBuffers.csOtauImagePageDataBuffer) + #endif /* _OTAU_ */ +#endif + +#ifdef _SECURITY_ +MEMORY_REGION(CS_NWK_SECURITY_IB_ID, csNIB.securityIB) +MEMORY_REGION(CS_NWK_SECURITY_KEYS_ID, stackBuffers.csNwkSecKeys) +MEMORY_REGION(CS_NWK_MUTABLE_SECURITY_IB_ID, stackBuffers.csNwkSecCounters) + #ifdef _TRUST_CENTRE_ + #if (CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT > 0) +MEMORY_REGION(CS_TC_AUTHENTIC_PROCESS_BUFFER_ID, stackBuffers.csTcAuthenticProcessBuffer) + #else +DUMMY_MEMORY(CS_TC_AUTHENTIC_PROCESS_BUFFER_ID) + #endif /* (CS_MAX_TC_AUTHENTIC_PROCESS_AMOUNT > 0) */ + #if defined(_TC_PERMISSION_TABLE_) && (CS_MAX_TC_ALLOWED_DEVICES_AMOUNT > 0) +MEMORY_REGION(CS_TC_PERMISSION_TABLE_ID, stackBuffers.csTcDevicePermissionTable) + #else +DUMMY_MEMORY(CS_TC_PERMISSION_TABLE_ID) + #endif /* defined(_TC_PERMISSION_TABLE_) & (CS_MAX_TC_ALLOWED_DEVICES_AMOUNT > 0) */ + #endif /* _TRUST_CENTRE_ */ +#endif /* _SECURITY_ */ +#ifdef _LINK_SECURITY_ +MEMORY_REGION(CS_APS_KEY_PAIR_DESCRIPTORS_ID, stackBuffers.csApsKeyPairDescriptors) +MEMORY_REGION(CS_APS_KEY_PAIR_COUNTERS_ID, stackBuffers.csApsKeyCounters) + #if defined(_TRUST_CENTRE_) && (CS_MAX_TC_ESTABLISH_KEY_AMOUNT > 0) +MEMORY_REGION(CS_TC_ESTABLISH_KEY_BUFFER_ID, stackBuffers.csTcEstablishKeyBuffer) + #else +DUMMY_MEMORY(CS_TC_ESTABLISH_KEY_BUFFER_ID) + #endif /* defined _LINK_SECURITY_ & defined(_TRUST_CENTRE_) & (CS_MAX_TC_ESTABLISH_KEY_AMOUNT > 0)*/ + +#endif /* _LINK_SECURITY_ */ + +#if (defined _NWK_PASSIVE_ACK_) && (CS_NWK_PASSIVE_ACK_AMOUNT > 0) +MEMORY_REGION(CS_NWK_PASSIVE_ACK_TABLE_ID, stackBuffers.csNwkPassiveAckTable) +#endif /* _NWK_PASSIVE_ACK_ */ diff --git a/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csSIB.h b/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csSIB.h new file mode 100644 index 00000000..618959c3 --- /dev/null +++ b/digital/beacon/src/Bitcloud_stack/Components/ConfigServer/include/private/csSIB.h @@ -0,0 +1,207 @@ +/****************************************************************************** + \file csSIB.h + + \brief + BitCloud stack information base + + \author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2010 , Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + + \internal + History: + 21.10.10 A. Razinkov - Created. +******************************************************************************/ + +#ifndef _CSSIB_H_ +#define _CSSIB_H_ + +/****************************************************************************** + Includes section +******************************************************************************/ +#include +#include +#ifdef _MAC_BAN_NODE_ + #include +#endif /* _MAC_BAN_NODE_ */ +#ifndef _MAC2_ + #include + #include +#endif + +/****************************************************************************** + Types section +******************************************************************************/ +/**//** + * \brief Config Server parameter handler + */ +typedef struct _CS_MemoryItem_t +{ + union + { + const void FLASH_PTR* flashValue; + void* ramValue; + } value; + uint16_t size; +} CS_MemoryItem_t; + +/**//** + * \brief Read-only parametres, stored in FLASH + */ +typedef struct _CS_ReadOnlyItems_t +{ + /* MAC parameters */ + uint16_t csMacFrameRxBufferSize; +#ifdef _MAC_BAN_NODE_ + MAC_BanTableSize_t csMacBanTableSize; +#endif /* _MAC_BAN_NODE_ */ + + /* NWK parameters */ +#ifndef _MAC2_ + NwkRouteCacheSize_t csNwkRouteCacheSize; + NwkSizeOfNeighborTable_t csNeibTableSize; + NwkSizeOfAddressMap_t csAddressMapTableSize; +#endif + uint8_t csMacPanDescriptorAmount; + uint8_t csMaxChildrenAmount; + uint8_t csMaxChildrenRouterAmount; + uint8_t csMaxNetworkDepth; + uint8_t csAddressAssignmentMethod; + uint8_t csNwkBuffersAmount; + uint8_t csJoinIndObjAmount; + uint8_t csRouteTableSize; + uint8_t csRouteDiscoveryTableSize; + uint8_t csNwkBttSize; +#ifdef _GROUP_TABLE_ + uint8_t csGroupTableSize; +#endif /* _GROUP_TABLE_ */ +#ifdef _NWK_PASSIVE_ACK_ + uint8_t csPassiveAckAmount; +#endif /* _NWK_PASSIVE_ACK_ */ + + /* APS parameters */ + uint8_t csApsDataReqBuffersAmount; + uint8_t csApsAckFrameBuffesAmount; + uint8_t csDuplicateRejectionTableSize; +#ifdef _BINDING_ + uint8_t csApsBindingTableSize; +#endif /* _BINDING_ */ +#ifdef _APS_FRAGMENTATION_ + uint8_t csApsMaxBlocksAmount; + uint16_t csApsBlockSize; +#endif /* _APS_FRAGMENTATION_ */ + + /* ZCL parameters */ +#ifdef _ZCL_ + uint8_t csZclMemoryBuffersAmount; + #ifdef _OTAU_ + uint8_t csOtauDiscoveredServerAmount; + uint8_t csOtauClientSessionAmount; + uint16_t csOtauServerPageRequestResponseSpacing; + uint16_t csOtauServerPageSize; + uint8_t csOtauClientMissedBlocksBufferSize; + #endif /* _OTAU_ */ +#endif /* _ZCL_ */ + + /* Other parameters */ + uint32_t csStackVersion; + uint16_t csManufacturerCode; + + /* Security parameters */ +#ifdef _SECURITY_ +#ifdef _TRUST_CENTRE_ + uint8_t csMaxTcAuthenticProcessAmount; + #ifdef _TC_PERMISSION_TABLE_ + uint8_t csMaxTcAllowedDevicesAmount; + #endif /* _TC_PERMISSION_TABLE_ */ +#endif /* _TRUST_CENTRE_ */ + uint32_t csApsSecurityTimeoutPeriod; +#ifdef _LINK_SECURITY_ + #ifdef _TRUST_CENTRE_ + uint8_t csMaxTcEstablishKeyAmount; + #endif /* _TRUST_CENTRE_ */ + uint8_t csApsKeyPairDescriptorsAmount; +#endif /* _LINK_SECURITY_ */ + +#endif /* _SECURITY_ */ +} CS_ReadOnlyItems_t; + +/**//** + * \brief Common stack information base + */ +typedef struct _SIB_t +{ + /* MAC parameters */ + uint32_t csMacTransactionTime; + int8_t csRfTxPower; +#ifdef AT86RF212 + bool csLbtMode; +#endif /* AT86RF212 */ +#ifndef _MAC2_ + + /* NWK parameters */ + PanId_t csNwkPanid; + bool csNwkUseMulticast; + uint8_t csNwkMaxLinkStatusFailures; + uint8_t csNwkEndDeviceMaxFailures; + uint8_t csNwkLogicalChannel; + bool csNwkPredefinedPanid; +#ifdef _NWK_CONCENTRATOR_ + uint32_t csNwkConcentratorDiscoveryTime; +#endif + + /* ZDO parameters */ + uint32_t csEndDeviceSleepPeriod; + uint32_t csFfdSleepPeriod; + bool csRxOnWhenIdle; + bool csComplexDescriptorAvailable; + bool csUserDescriptorAvailable; + uint32_t csIndirectPollRate; + uint8_t csZdoJoinAttempts; + uint32_t csZdoJoinInterval; + UserDescriptor_t csUserDescriptor; /* to EEPROM */ + ExtPanId_t csExtPANID; /* user-defined PAN ID */ +#ifdef _TC_SWAPOUT_ + uint8_t csZdoTcKeepAliveInterval; +#endif // _TC_SWAPOUT_ + + /* APS parameters */ + uint8_t csApsMaxFrameRetries; +#ifdef _APS_FRAGMENTATION_ + uint8_t csApsMaxTransmissionWindowSize; +#endif /* _APS_FRAGMENTATION_ */ + + /* PDS parameters*/ + bool csDtrWakeup; + + /* ZCL parameters */ +#ifdef _ZCL_ + uint16_t csZclAttributeReportTimerInterval; + #ifdef _OTAU_ + ExtAddr_t csOtauDefaultServerAddress; + uint32_t csOtauServerDiscoveryPeriod; + bool csOtauServerPageRequestUsage; + #endif /* _OTAU_ */ +#endif /* _ZCL_ */ + + /* Other parameters */ +#ifdef _COMMISSIONING_ + uint32_t csPdsStoringInterval; + #ifdef _POWER_FAILURE_ + bool csPowerFailure; + #endif /* _POWER_FAILURE_ */ +#endif /* _COMMISSIONING_ */ + + /* Security parameters */ +#ifdef _SECURITY_ + bool csSecurityOn; + uint8_t csZdoSecurityStatus; +#endif /* _SECURITY_ */ +#endif /* _MAC2_ */ +} SIB_t; + +#endif /* _CSSIB_H_ */ +/* eof csSIB.h */ -- cgit v1.2.3