Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
PRIME Base Management Protocol

This module provides configuration and utils for the Base Managament Protocol in PRIME.

Data Structures

struct  _FupInfoIdList
 
struct  FUPAckCallBack
 
union  FupBufferCrc
 
struct  FUPErrorIndCallBack
 
struct  FupErrorInfo
 
struct  FupFrameInfo
 
struct  FupKillInfo
 
struct  FUPStatusIndCallBack
 
struct  FupStatusInfo
 
struct  FUPVersionIndCallBack
 
struct  FupVersionInfo
 
struct  FUStatusCmd
 
struct  MsgPProfileParams
 
struct  NetworkEvent
 
struct  NetworkEventAlive
 

Macros

#define BASEMNG_ACK   1
 
#define BASEMNG_ACK_ERROR   1
 
#define BASEMNG_ACK_OK   0
 
#define BASEMNG_EVENT_ALIVE_NETWORK   0x29
 
#define BASEMNG_EVENT_NETWORK   0x28
 
#define BASEMNG_GETBANNEDMACLIST_RESPONSE   0x10
 
#define CMD_FUP_PROTOCOL(A)   ((A)&CMD_FUP_PROTOCOL_MSK)
 
#define CMD_FUP_PROTOCOL_MSK   0x3F
 
#define ERRORIND_LENGTH   8
 
#define FRAME_SIZE   256
 
#define FW_VERSION_SIZE   32
 
#define INFO_LIST_MAX_SIZE   32
 
#define INFO_LIST_NUMBER_ID   3
 
#define KILLIND_LENGTH   7
 
#define MAC_SIZE   6
 
#define MAC_SIZE   6
 
#define MAX_BUFFER_RCV   500
 
#define PPROF_GETPIB_RESPONSE   0x20
 
#define PROTOCOL_FUP   0x1D
 
#define STATUSIND_LENGTH   12
 
#define VERSIONIND_MAX_LENGTH   103
 

Typedefs

typedef struct _FupInfoIdList FupInfoIdList
 

Enumerations

enum  BaseMngBannedMacValues {
  BASEMNG_ADDBANNEDMACLIST_REQUEST = 0x28,
  BASEMNG_REMOVEBANNEDMACLIST_REQUEST = 0x29,
  BASEMNG_CLEARBANNEDMACLIST_REQUEST = 0x2A,
  BASEMNG_ENABLEBANNEDMACLIST_REQUEST = 0x2B,
  BASEMNG_DISABLEBANNEDMACLIST_REQUEST = 0x2C,
  BASEMNG_MODIFYBANNEDMACLIST_REQUEST = 0x2D,
  BASEMNG_GETBANNEDMACLIST_REQUEST = 0x2E
}
 
enum  FupAckValues {
  FUP_ACK_OK = 0,
  FUP_ACK_ERROR = 1,
  FUP_ACK_ERROR_MACADD = 2,
  FUP_ACK_ERROR_VENDOR = 3,
  FUP_ACK_ERROR_MODEL = 4,
  FUP_ACK_ERROR_CRC = 5,
  FUP_ACK_ERROR_DATA = 6,
  FUP_ACK_ERROR_CRCFILE = 7,
  FUP_ACK_CRC_INPROCESS = 8,
  FUP_ACK_FU_INPROCESS = 9
}
 
enum  FupErrorValues {
  FU_ERROR_NODE_NOERROR = 0,
  FU_ERROR_NODE_WRONGSTATE_EXEC = 1,
  FU_ERROR_NODE_WRONGSTATE_UPG = 2,
  FU_ERROR_NODE_WRONGSTATE = 3,
  FU_ERROR_NODE_WRONGSTATE_RCV = 4,
  FU_ERROR_NODE_WRONGSTATE_CNTDWN = 5,
  FU_ERROR_NODE_FW_NOTMATCH = 6,
  FU_ERROR_NODE_REVERT_ERRORINIT = 7,
  FU_ERROR_NODE_REVERT_ERR7 = 8,
  FU_ERROR_NODE_RETRY_KILL = 9,
  FU_ERROR_NODE_UNICAST_TIMEOUT = 10,
  FU_ERROR_NODE_CONFIRM_IND = 11,
  FU_ERROR_NODE_REVERT_CRCNOK = 12,
  FU_ERROR_NODE_RESTART = 13,
  FU_ERROR_NODE_WRONG_MISS_BITMAP = 14,
  FU_ERROR_NODE_WRONG_MISS_LIST = 15,
  FU_ERROR_NODE_VENDOR_INVALID = 16,
  FU_ERROR_NODE_VENDOR_NOTMATCH = 17,
  FU_ERROR_NODE_MODEL_INVALID = 18,
  FU_ERROR_NODE_MODEL_NOTMATCH = 19
}
 
enum  FupReqValues {
  FUP_CLEARTARGETLIST_REQUEST = 0x14,
  FUP_ADDTARGET_REQUEST = 0x15,
  FUP_SETFWDATA_REQUEST = 0x16,
  FUP_SETUPGOPTIONS_REQUEST = 0x17,
  FUP_INITFILETX_REQUEST = 0x18,
  FUP_DATAFRAME_REQUEST = 0x19,
  FUP_CRC_REQUEST = 0x1A,
  FUP_ABORT_FUP_REQUEST = 0x1B,
  FUP_START_FU_REQUEST = 0x1C,
  FUP_SETMATCHRULES_REQUEST = 0x1D,
  FUP_VERSION_REQUEST = 0x1E,
  FUP_STATE_REQUEST = 0x1F
}
 
enum  FupStates {
  FUP_STATE_IDLE = 0,
  FUP_STATE_INIT = 1,
  FUP_STATE_JOIN = 2,
  FUP_STATE_MULT = 3,
  FUP_STATE_UNIC = 4,
  FUP_STATE_RSTR = 5,
  FUP_STATE_CFRM = 6,
  FUP_STATE_END = 7,
  FUP_STATE_KILL = 8,
  FUP_STATE_CNTDWN = 9
}
 
enum  FupValues {
  FUP_ACK = 1,
  FUP_STATUS_INDICATION = 3,
  FUP_ERROR_INDICATION = 4,
  FUP_VERSION_INDICATION = 5,
  FUP_KILL_INDICATION = 6
}
 
enum  FupWarningValues {
  FU_WARNING_NODE_ALREADY_UPDATE = 128,
  FU_WARNING_NODE_ALREADY_EXECUTED = 129,
  FU_WARNING_NODE_LINK_QUALITY = 130
}
 
enum  PrimeProfReqValues {
  PPROF_GETPIB_REQUEST = 0x30,
  PPROF_SETPIB_REQUEST = 0x31,
  PPROF_RESETSTAT_REQUEST = 0x32,
  PPROF_REBOOTDEV_REQUEST = 0x33
}
 

Functions

void baseMng_Process (void)
 
uint8_t baseMng_receivedCmd (uint8_t *buf, uint16_t len)
 
int8_t baseMng_SendBuf (uint8_t *bufPtr, uint16_t len)
 
int8_t baseMng_SendEventNetwork (void *event)
 
int8_t baseMng_SendPProfMsg (MsgPProfileParams *rsp)
 
void baseMng_Start (void)
 
int8_t fup_clearTargetList (void)
 
int8_t fup_addNewTarget (uint8_t *macAddr)
 
int8_t fup_SetFwDataRequest (uint8_t *fwdata)
 
int8_t fup_SetMatchRulesRequest (uint8_t *fwdata)
 
int8_t fup_SetUpgOptionsRequest (uint8_t *fwdata)
 
int8_t fup_InitFileTxRequest (uint8_t *fwdata)
 
int8_t fup_DataFrameRequest (FupFrameInfo *frameInfo)
 
int8_t fup_EndFileTxRequest (void)
 
int8_t fup_checkCrcStatus (void)
 
int8_t fup_enableFU (uint8_t enable)
 
int8_t fup_abort (uint8_t *macadd)
 
int8_t fup_getVersionRequestfromNode (uint8_t *macadd)
 
int8_t fup_getStateRequestfromNode (uint8_t *macadd)
 
void fup_SendStatus (FupStatusInfo *statusinfo)
 
void fup_SendError (FupErrorInfo *errorinfo)
 
void fup_SendVersion (FupVersionInfo *versioninfo)
 
void fup_SendKill (FupKillInfo *killinfo)
 
void fup_Init (void)
 
void fup_Start (void)
 
void fup_Process (void)
 
int8_t ifaceFUP_send_ACK (uint8_t ackcmd, uint8_t ackerrcode)
 
int8_t ifaceFUP_send_FrameACK (uint8_t ackerrcode, uint16_t numfr)
 
int ifaceFUP_Unpack_DataFrameRequest (uint8_t *dataPtr, uint16_t len, uint16_t *numFrame)
 

#define BASEMNG_ACK   1
#define BASEMNG_ACK_ERROR   1
#define BASEMNG_ACK_OK   0
#define BASEMNG_EVENT_ALIVE_NETWORK   0x29
#define BASEMNG_EVENT_NETWORK   0x28
#define BASEMNG_GETBANNEDMACLIST_RESPONSE   0x10
#define CMD_FUP_PROTOCOL (   A)    ((A)&CMD_FUP_PROTOCOL_MSK)
#define CMD_FUP_PROTOCOL_MSK   0x3F
#define ERRORIND_LENGTH   8
#define FRAME_SIZE   256
#define FW_VERSION_SIZE   32
#define INFO_LIST_MAX_SIZE   32
#define INFO_LIST_NUMBER_ID   3
#define KILLIND_LENGTH   7
#define MAC_SIZE   6
#define MAC_SIZE   6
#define MAX_BUFFER_RCV   500
#define PPROF_GETPIB_RESPONSE   0x20
#define PROTOCOL_FUP   0x1D
#define STATUSIND_LENGTH   12
#define VERSIONIND_MAX_LENGTH   103

typedef struct _FupInfoIdList FupInfoIdList

Enumerator
BASEMNG_ADDBANNEDMACLIST_REQUEST 
BASEMNG_REMOVEBANNEDMACLIST_REQUEST 
BASEMNG_CLEARBANNEDMACLIST_REQUEST 
BASEMNG_ENABLEBANNEDMACLIST_REQUEST 
BASEMNG_DISABLEBANNEDMACLIST_REQUEST 
BASEMNG_MODIFYBANNEDMACLIST_REQUEST 
BASEMNG_GETBANNEDMACLIST_REQUEST 
Enumerator
FUP_ACK_OK 
FUP_ACK_ERROR 
FUP_ACK_ERROR_MACADD 
FUP_ACK_ERROR_VENDOR 
FUP_ACK_ERROR_MODEL 
FUP_ACK_ERROR_CRC 
FUP_ACK_ERROR_DATA 
FUP_ACK_ERROR_CRCFILE 
FUP_ACK_CRC_INPROCESS 
FUP_ACK_FU_INPROCESS 
Enumerator
FU_ERROR_NODE_NOERROR 
FU_ERROR_NODE_WRONGSTATE_EXEC 
FU_ERROR_NODE_WRONGSTATE_UPG 
FU_ERROR_NODE_WRONGSTATE 
FU_ERROR_NODE_WRONGSTATE_RCV 
FU_ERROR_NODE_WRONGSTATE_CNTDWN 
FU_ERROR_NODE_FW_NOTMATCH 
FU_ERROR_NODE_REVERT_ERRORINIT 
FU_ERROR_NODE_REVERT_ERR7 
FU_ERROR_NODE_RETRY_KILL 
FU_ERROR_NODE_UNICAST_TIMEOUT 
FU_ERROR_NODE_CONFIRM_IND 
FU_ERROR_NODE_REVERT_CRCNOK 
FU_ERROR_NODE_RESTART 
FU_ERROR_NODE_WRONG_MISS_BITMAP 
FU_ERROR_NODE_WRONG_MISS_LIST 
FU_ERROR_NODE_VENDOR_INVALID 
FU_ERROR_NODE_VENDOR_NOTMATCH 
FU_ERROR_NODE_MODEL_INVALID 
FU_ERROR_NODE_MODEL_NOTMATCH 
Enumerator
FUP_CLEARTARGETLIST_REQUEST 
FUP_ADDTARGET_REQUEST 
FUP_SETFWDATA_REQUEST 
FUP_SETUPGOPTIONS_REQUEST 
FUP_INITFILETX_REQUEST 
FUP_DATAFRAME_REQUEST 
FUP_CRC_REQUEST 
FUP_ABORT_FUP_REQUEST 
FUP_START_FU_REQUEST 
FUP_SETMATCHRULES_REQUEST 
FUP_VERSION_REQUEST 
FUP_STATE_REQUEST 
enum FupStates
Enumerator
FUP_STATE_IDLE 
FUP_STATE_INIT 
FUP_STATE_JOIN 
FUP_STATE_MULT 
FUP_STATE_UNIC 
FUP_STATE_RSTR 
FUP_STATE_CFRM 
FUP_STATE_END 
FUP_STATE_KILL 
FUP_STATE_CNTDWN 
enum FupValues
Enumerator
FUP_ACK 
FUP_STATUS_INDICATION 
FUP_ERROR_INDICATION 
FUP_VERSION_INDICATION 
FUP_KILL_INDICATION 
Enumerator
FU_WARNING_NODE_ALREADY_UPDATE 
FU_WARNING_NODE_ALREADY_EXECUTED 
FU_WARNING_NODE_LINK_QUALITY 
Enumerator
PPROF_GETPIB_REQUEST 
PPROF_SETPIB_REQUEST 
PPROF_RESETSTAT_REQUEST 
PPROF_REBOOTDEV_REQUEST 

void baseMng_Process ( void  )
uint8_t baseMng_receivedCmd ( uint8_t *  buf,
uint16_t  len 
)

Referenced by _process_msg().

int8_t baseMng_SendBuf ( uint8_t *  bufPtr,
uint16_t  len 
)
int8_t baseMng_SendEventNetwork ( void *  event)
int8_t baseMng_SendPProfMsg ( MsgPProfileParams rsp)
void baseMng_Start ( void  )
int8_t fup_abort ( uint8_t *  macadd)
int8_t fup_addNewTarget ( uint8_t *  macAddr)
int8_t fup_checkCrcStatus ( void  )
int8_t fup_clearTargetList ( void  )
int8_t fup_DataFrameRequest ( FupFrameInfo frameInfo)
int8_t fup_enableFU ( uint8_t  enable)
int8_t fup_EndFileTxRequest ( void  )
int8_t fup_getStateRequestfromNode ( uint8_t *  macadd)
int8_t fup_getVersionRequestfromNode ( uint8_t *  macadd)
void fup_Init ( void  )
int8_t fup_InitFileTxRequest ( uint8_t *  fwdata)
void fup_Process ( void  )
void fup_SendError ( FupErrorInfo errorinfo)
void fup_SendKill ( FupKillInfo killinfo)
void fup_SendStatus ( FupStatusInfo statusinfo)
void fup_SendVersion ( FupVersionInfo versioninfo)
int8_t fup_SetFwDataRequest ( uint8_t *  fwdata)
int8_t fup_SetMatchRulesRequest ( uint8_t *  fwdata)
int8_t fup_SetUpgOptionsRequest ( uint8_t *  fwdata)
void fup_Start ( void  )
int8_t ifaceFUP_send_ACK ( uint8_t  ackcmd,
uint8_t  ackerrcode 
)
int8_t ifaceFUP_send_FrameACK ( uint8_t  ackerrcode,
uint16_t  numfr 
)
int ifaceFUP_Unpack_DataFrameRequest ( uint8_t *  dataPtr,
uint16_t  len,
uint16_t *  numFrame 
)