Microchip® Advanced Software Framework

MCMPackageCore.h File Reference
#include "lorawan.h"
#include "DMPackageCore.h"

Data Structures

struct  McClassSessionParams_s
 
struct  McGroupSetupParams_s
 

Macros

#define LORAWAN_MCMPACKAGE_ID   2
 
#define LORAWAN_MCMPACKAGE_PORT   200
 
#define MC_CLASSB_SESSION_ANS   0x05
 
#define MC_CLASSB_SESSION_ANS_LENGTH   (5)
 
#define MC_CLASSB_SESSION_REQ   0x05
 
#define MC_CLASSB_SESSION_REQ_LENGTH   (11)
 
#define MC_CLASSB_SESSION_REQ_RFU_MASK   (0xFC) /* McGroupIDHeader byte has RFU bits */
 
#define MC_CLASSC_SESSION_ANS   0x04
 
#define MC_CLASSC_SESSION_ANS_LENGTH   (5)
 
#define MC_CLASSC_SESSION_REQ   0x04
 
#define MC_CLASSC_SESSION_REQ_LENGTH   (11)
 
#define MC_CLASSC_SESSION_REQ_RFU_MASK_1   (0xFC) /* McGroupIDHeader byte has RFU bits */
 
#define MC_CLASSC_SESSION_REQ_RFU_MASK_2   (0xF0) /* SessionTimeout byte has RFU bits */
 
#define MC_GROUP_CTX_MAX   (4)
 
#define MC_GROUP_DELETE_ANS   0x03
 
#define MC_GROUP_DELETE_REQ   0x03
 
#define MC_GROUP_DELETE_REQ_LEN   (2)
 
#define MC_GROUP_DELETE_REQ_RFU_MASK   (0xFC) /* McGroupIDHeader byte has RFU bits */
 
#define MC_GROUP_SETUP_ANS   0x02
 
#define MC_GROUP_SETUP_REQ   0x02
 
#define MC_GROUP_SETUP_REQ_LEN   (30)
 
#define MC_GROUP_SETUP_REQ_RFU_MASK   (0xFC) /* McGroupIDHeader byte has RFU bits */
 
#define MC_GROUP_STATUS_ANS   0x01
 
#define MC_GROUP_STATUS_REQ   0x01
 
#define MC_GROUP_STATUS_REQ_LEN   (2)
 
#define MC_GROUP_STATUS_REQ_RFU_MASK   (0xF0) /* 1st byte has RFU bits */
 
#define MC_PKGVERSION_ANS   0x00
 
#define MC_PKGVERSION_ANS_LEN   (3)
 
#define MC_PKGVERSION_REQ   0x00
 
#define MC_PKGVERSION_REQ_LEN   (1)
 
#define MC_PKGVERSION_VALUE   (1)
 
#define MCM_RFU_BITS_NOT_ZEROS(bitField, rfuMask)   ((bool)(bitField & rfuMask))
 
#define STATUS_ERROR   1
 
#define STATUS_OK   0
 

Typedefs

typedef struct
McClassSessionParams_s 
McClassSessionParams_t
 
typedef struct McGroupSetupParams_s McGroupSetupParams_t
 

Functions

void ClassSwitch (EdClass_t class_req)
 
McGroupSetupParams_tMCM_get_group_pars (void)
 
void MCMPackageCore (appCbParams_t *appdata)
 
void MCMPackageCreateTimer (void)
 
uint32_t MCMPackageNextTimeoutDuration (void)
 
void MCMPackageSetGenAppKey (uint8_t *genAppKey)
 

Variables

uint64_t session_endtime
 
uint32_t session_timeout
 

#define LORAWAN_MCMPACKAGE_ID   2
#define LORAWAN_MCMPACKAGE_PORT   200
#define MC_CLASSB_SESSION_ANS   0x05
#define MC_CLASSB_SESSION_ANS_LENGTH   (5)
#define MC_CLASSB_SESSION_REQ   0x05
#define MC_CLASSB_SESSION_REQ_LENGTH   (11)
#define MC_CLASSB_SESSION_REQ_RFU_MASK   (0xFC) /* McGroupIDHeader byte has RFU bits */
#define MC_CLASSC_SESSION_ANS   0x04
#define MC_CLASSC_SESSION_ANS_LENGTH   (5)
#define MC_CLASSC_SESSION_REQ   0x04
#define MC_CLASSC_SESSION_REQ_LENGTH   (11)

Global McClassCSession parameters

#define MC_CLASSC_SESSION_REQ_RFU_MASK_1   (0xFC) /* McGroupIDHeader byte has RFU bits */
#define MC_CLASSC_SESSION_REQ_RFU_MASK_2   (0xF0) /* SessionTimeout byte has RFU bits */
#define MC_GROUP_CTX_MAX   (4)
#define MC_GROUP_DELETE_ANS   0x03
#define MC_GROUP_DELETE_REQ   0x03
#define MC_GROUP_DELETE_REQ_LEN   (2)
#define MC_GROUP_DELETE_REQ_RFU_MASK   (0xFC) /* McGroupIDHeader byte has RFU bits */
#define MC_GROUP_SETUP_ANS   0x02
#define MC_GROUP_SETUP_REQ   0x02
#define MC_GROUP_SETUP_REQ_LEN   (30)
#define MC_GROUP_SETUP_REQ_RFU_MASK   (0xFC) /* McGroupIDHeader byte has RFU bits */
#define MC_GROUP_STATUS_ANS   0x01
#define MC_GROUP_STATUS_REQ   0x01
#define MC_GROUP_STATUS_REQ_LEN   (2)
#define MC_GROUP_STATUS_REQ_RFU_MASK   (0xF0) /* 1st byte has RFU bits */
#define MC_PKGVERSION_ANS   0x00
#define MC_PKGVERSION_ANS_LEN   (3)
#define MC_PKGVERSION_REQ   0x00
#define MC_PKGVERSION_REQ_LEN   (1)
#define MC_PKGVERSION_VALUE   (1)
#define MCM_RFU_BITS_NOT_ZEROS (   bitField,
  rfuMask 
)    ((bool)(bitField & rfuMask))
#define STATUS_ERROR   1
#define STATUS_OK   0

void ClassSwitch ( EdClass_t  class_req)
McGroupSetupParams_t* MCM_get_group_pars ( void  )
void MCMPackageCore ( appCbParams_t appdata)
void MCMPackageCreateTimer ( void  )
uint32_t MCMPackageNextTimeoutDuration ( void  )
void MCMPackageSetGenAppKey ( uint8_t *  genAppKey)

uint64_t session_endtime
uint32_t session_timeout