Microchip® Advanced Software Framework

lorawan_mcast.h File Reference

LoRaWAN header file for multicast data & control definition(classB & classC)

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

Functions

StackRetStatus_t LorawanAddMcastAddr (uint32_t mcast_devaddr, uint8_t groupId)
 
StackRetStatus_t LorawanAddMcastAppskey (uint8_t *appSkey, uint8_t groupId)
 
StackRetStatus_t LorawanAddMcastDatarate (uint8_t dr, uint8_t groupId)
 
StackRetStatus_t LorawanAddMcastDlFrequency (uint32_t dlFreq, uint8_t groupId)
 
StackRetStatus_t LorawanAddMcastFcntMax (uint32_t cnt, uint8_t groupId)
 
StackRetStatus_t LorawanAddMcastFcntMin (uint32_t cnt, uint8_t groupId)
 
StackRetStatus_t LorawanAddMcastNwkskey (uint8_t *nwkSkey, uint8_t groupId)
 
StackRetStatus_t LorawanAddMcastPeriodicity (uint8_t periodicity, uint8_t groupId)
 
StackRetStatus_t LorawanMcastEnable (bool enable, uint8_t groupid)
 Multicast enable/disable configuration function. More...
 
void LorawanMcastInit (void)
 Multicast - initialization of variables and states. More...
 
StackRetStatus_t LorawanMcastProcessPkt (uint8_t *buffer, uint8_t bufferLength, Hdr_t *hdr, uint8_t groupId)
 Decrypt the packet and provide callback to application. More...
 
StackRetStatus_t LorawanMcastValidateHdr (Hdr_t *hdr, uint8_t mType, uint8_t fPort, uint8_t *groupId)
 Check if the incoming packet is a multicast group the device supports. More...
 

StackRetStatus_t LorawanAddMcastAddr ( uint32_t  mcast_devaddr,
uint8_t  groupId 
)
StackRetStatus_t LorawanAddMcastAppskey ( uint8_t *  appSkey,
uint8_t  groupId 
)
StackRetStatus_t LorawanAddMcastDatarate ( uint8_t  dr,
uint8_t  groupId 
)
StackRetStatus_t LorawanAddMcastDlFrequency ( uint32_t  dlFreq,
uint8_t  groupId 
)
StackRetStatus_t LorawanAddMcastFcntMax ( uint32_t  cnt,
uint8_t  groupId 
)
StackRetStatus_t LorawanAddMcastFcntMin ( uint32_t  cnt,
uint8_t  groupId 
)
StackRetStatus_t LorawanAddMcastNwkskey ( uint8_t *  nwkSkey,
uint8_t  groupId 
)
StackRetStatus_t LorawanAddMcastPeriodicity ( uint8_t  periodicity,
uint8_t  groupId 
)
StackRetStatus_t LorawanMcastEnable ( bool  enable,
uint8_t  groupid 
)

Multicast enable/disable configuration function.

Parameters
[in]enable- notifies whether to enable or disable multicast
Returns
LORAWAN_SUCCESS, if successfully enabled LORAWAN_INVALID_PARAMETER, otherwise
void LorawanMcastInit ( void  )

Multicast - initialization of variables and states.

Returns
- none.
StackRetStatus_t LorawanMcastProcessPkt ( uint8_t *  buffer,
uint8_t  bufferLength,
Hdr_t hdr,
uint8_t  groupId 
)

Decrypt the packet and provide callback to application.

Parameters
[in,out]buffer- placeholder for input and output data
[in]bufferLength- length of the received packet
[in]hdr- mac header of the received packet
Returns
LORAWAN_SUCCESS, if successfully processed LORAWAN_INVALID_PARAMETER, otherwise
StackRetStatus_t LorawanMcastValidateHdr ( Hdr_t hdr,
uint8_t  mType,
uint8_t  fPort,
uint8_t *  groupId 
)

Check if the incoming packet is a multicast group the device supports.

Parameters
[in]hdr- mac header of the received frame
[in]mType- message type of the received frame
[in]fPort- frame port of the received frame
Returns
LORAWAN_SUCCESS, if successfully validated LORAWAN_INVALID_PARAMETER, otherwise