Microchip® Advanced Software Framework

miwi_mesh_pds.c File Reference

MiWi Mesh PDS Definitions.

Copyright (c) 2018 - 2019 Microchip Technology Inc. and its subsidiaries.

#include "string.h"
#include "miwi_config_mesh.h"
#include "miwi_api.h"
#include <pdsDataServer.h>
#include <wlPdsTypesConverter.h>
#include <wlPdsMemIds.h>
#include <D_Nv.h>

Macros

#define PROGMEM_DECLARE(x)   const x
 

Functions

 PDS_DECLARE_DIR (PDS_DirDescr_t MiWiFullParamsDirDescr)
 
 PDS_DECLARE_ITEM (PDS_GENERAL_INFO_ID, GENERAL_INFO_ITEM_SIZE,&genInfoMem, fillGeneralInformation, NO_ITEM_FLAGS)
 
 PDS_DECLARE_ITEM (PDS_BLOOM_VALUE_ID, PDS_BLOOM_VALUE_ITEM_SIZE,&bloomFilterValue, NULL, NO_ITEM_FLAGS)
 
 PDS_DECLARE_ITEM (PDS_CHANNEL_UPDATE_ID, PDS_CHANNEL_UPDATE_ITEM_SIZE,&newChannelToUpdate, NULL, NO_ITEM_FLAGS)
 
 PDS_DECLARE_ITEM (PDS_DEVICE_TABLE_NONSLEEP_ID, PDS_DEVICE_TABLE_NONSLEEP_ITEM_SIZE *NUM_OF_NONSLEEPING_ENDDEVICES,&deviceTable, NULL, SIZE_MODIFICATION_ALLOWED)
 
 PDS_DECLARE_ITEM (PDS_DEVICE_TABLE_SLEEP_ID, PDS_DEVICE_TABLE_SLEEP_ITEM_SIZE *NUM_OF_SLEEPING_ENDDEVICES,&sleepdeviceTable, NULL, SIZE_MODIFICATION_ALLOWED)
 
 PDS_DECLARE_ITEM (PDS_ROUTE_TABLE_COORD_ID, PDS_ROUTE_TABLE_COORD_ITEM_SIZE *NUM_OF_COORDINATORS,&coordRouteTable, NULL, SIZE_MODIFICATION_ALLOWED)
 
 PDS_DECLARE_ITEM (PDS_ROUTE_TABLE_HOP_ID, PDS_ROUTE_TABLE_HOP_ITEM_SIZE,&coordHopCount, NULL, SIZE_MODIFICATION_ALLOWED)
 
 PROGMEM_DECLARE (S_Nv_ItemId_t MiWiItemIdsTable[])
 

Variables

uint8_t bloomFilterValue [BLOOM_FILTER_SIZE]
 
CommDeviceTable_t commnDeviceTable [MAX_NUMBER_OF_DEVICES_IN_NETWORK]
 
CoordHopCount_t coordHopCount [HOP_TABLE_COUNT]
 
CoordinatorTable_t coordinatorTable [NUM_OF_COORDINATORS]
 
CoordRouteTable_t coordRouteTable [NUM_OF_COORDINATORS]
 
DeviceTable_t deviceTable [NUM_OF_NONSLEEPING_ENDDEVICES]
 
uint8_t networkKey [SECURITY_KEY_SIZE]
 
uint8_t newChannelToUpdate
 
SleepDeviceTable_t sleepdeviceTable [NUM_OF_SLEEPING_ENDDEVICES]
 

#define PROGMEM_DECLARE (   x)    const x

PDS_DECLARE_DIR ( PDS_DirDescr_t  MiWiFullParamsDirDescr)
PDS_DECLARE_ITEM ( PDS_GENERAL_INFO_ID  ,
GENERAL_INFO_ITEM_SIZE  ,
genInfoMem,
fillGeneralInformation  ,
NO_ITEM_FLAGS   
)
PDS_DECLARE_ITEM ( PDS_BLOOM_VALUE_ID  ,
PDS_BLOOM_VALUE_ITEM_SIZE  ,
bloomFilterValue,
NULL  ,
NO_ITEM_FLAGS   
)
PDS_DECLARE_ITEM ( PDS_CHANNEL_UPDATE_ID  ,
PDS_CHANNEL_UPDATE_ITEM_SIZE  ,
newChannelToUpdate,
NULL  ,
NO_ITEM_FLAGS   
)
PDS_DECLARE_ITEM ( PDS_DEVICE_TABLE_NONSLEEP_ID  ,
PDS_DEVICE_TABLE_NONSLEEP_ITEM_SIZE NUM_OF_NONSLEEPING_ENDDEVICES,
deviceTable,
NULL  ,
SIZE_MODIFICATION_ALLOWED   
)
PDS_DECLARE_ITEM ( PDS_DEVICE_TABLE_SLEEP_ID  ,
PDS_DEVICE_TABLE_SLEEP_ITEM_SIZE NUM_OF_SLEEPING_ENDDEVICES,
sleepdeviceTable,
NULL  ,
SIZE_MODIFICATION_ALLOWED   
)
PDS_DECLARE_ITEM ( PDS_ROUTE_TABLE_COORD_ID  ,
PDS_ROUTE_TABLE_COORD_ITEM_SIZE NUM_OF_COORDINATORS,
coordRouteTable,
NULL  ,
SIZE_MODIFICATION_ALLOWED   
)
PDS_DECLARE_ITEM ( PDS_ROUTE_TABLE_HOP_ID  ,
PDS_ROUTE_TABLE_HOP_ITEM_SIZE  ,
coordHopCount,
NULL  ,
SIZE_MODIFICATION_ALLOWED   
)
PROGMEM_DECLARE ( S_Nv_ItemId_t  MiWiItemIdsTable[])

uint8_t bloomFilterValue[BLOOM_FILTER_SIZE]
uint8_t networkKey[SECURITY_KEY_SIZE]
uint8_t newChannelToUpdate