Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
PRIME Service Specific Convergence Sublayer for

IEC-432.

This module provides configuration and utils for the Convergence layer, in particular the IEC 61334-4-32 Service Specific Convergence Sublayer.

Data Structures

struct  dl432_LlcCallback_t
 
union  dl432Buffer_t
 
struct  sscs432_NotBase_t
 
struct  sscs432_NotService_t
 

Macros

#define BASE_NODE_432_ADDRESS   0
 
#define CL_432_ESTABLISH_CONFIRM   1
 
#define CL_432_ESTABLISH_REQUEST   11
 
#define CL_432_JOIN_INDICATE   3
 
#define CL_432_LEAVE_INDICATE   4
 
#define CL_432_RELEASE_CONFIRM   2
 
#define CL_432_RELEASE_REQUEST   12
 
#define CL_DEFAULT_BASE_SAP   MANAGEMENT_CLIENT_ID
 
#define CL_DEFAULT_SERVICE_SAP   PUBLIC_CLIENT_ID
 
#define CL_UPDATE_FIRMWARE_SSAP   UPDATE_FIRMWARE_CLIENT_ID
 
#define CMD_432_PROTOCOL(A)   ((A)&CMD_432_PROTOCOL_MSK)
 
#define CMD_432_PROTOCOL_MSK   0x1F
 
#define CTRL_TYPE   1
 
#define DATA_TYPE   0
 
#define DL432_BROADCAST_REQUEST   14
 
#define DL432_DATA_CONFIRM   1
 
#define DL432_DATA_INDICATION   2
 
#define DL432_DATA_REQUEST   11
 
#define DL432_NO_COMMAND   0
 
#define DL432_REPLY_CONFIRM   5
 
#define DL432_REPLY_INDICATION   6
 
#define DL432_REPLY_REQUEST   13
 
#define DL432_RESULT_ERROR   0x80
 
#define DL432_RESULT_SUCCESS   0
 
#define DL432_UPDATE_REPLY_CONFIRM   3
 
#define DL432_UPDATE_REPLY_INDICATION   4
 
#define DL432_UPDATE_REPLY_REQUEST   12
 
#define GET_TYPE_432_PROTOCOL(A)   (((A)&TYPE_432_PROTOCOL_MSK) >> TYPE_432_PROTOCOL_SHIFT)
 
#define LEN_432_SERIAL_NUMBER   16
 
#define LPDU_HEADER   3
 
#define lsdu   dl.buff
 
#define MAC_LENGTH   6
 
#define MANAGEMENT_CLIENT_ID   1
 
#define MAX_LENGTH_432_DATA   (1024 - LPDU_HEADER)
 
#define MAX_LENGTH_STORED_LSDU   7
 
#define PROTOCOL_432_PRIME   0x1A
 
#define PUBLIC_CLIENT_ID   16
 
#define READING_CLIENT_ID   2
 
#define SET_TYPE_432_PROTOCOL(A)   (((A) << TYPE_432_PROTOCOL_SHIFT) & TYPE_432_PROTOCOL_MSK)
 
#define SSCS432_DATA_SIZE   1024 + 11
 
#define SSCS432_ERROR   (-1)
 
#define SSCS432_OK   0
 
#define TYPE_432_PROTOCOL_MSK   0x20
 
#define TYPE_432_PROTOCOL_SHIFT   5
 
#define UPDATE_FIRMWARE_CLIENT_ID   3
 

Functions

int dl432_dl_broadcast_request (uint8_t srcLSAP, dl432Buffer_t *buff, uint16_t lenMsg, uint8_t linkClass)
 
int dl432_dl_callback (dl432_LlcCallback_t *cmd, dl432Buffer_t *buf, uint16_t maxLenBuf)
 
int dl432_dl_data_request (uint8_t dstLSAP, uint8_t locLSAP, uint16_t dstAddress, dl432Buffer_t *txBuff, uint16_t lenLsdu, uint8_t linkClass)
 
int dl432_dl_reply_request (uint8_t dstLSAP, uint8_t srcLSAP, uint16_t dstAddress, uint8_t maxLenAnswer)
 
int dl432_dl_update_reply_request (uint8_t locLSAP, uint8_t *prBuff, uint16_t length)
 
int8_t sscs432_establish_request (uint8_t *prSerialNumber, uint8_t lenSerialNumber)
 
void sscs432_init (void)
 
Bool sscs432_poll_establish_release (sscs432_NotService_t *ptrNot)
 
Bool sscs432_poll_joins_leaves (sscs432_NotBase_t *ptrNot)
 
void sscs432_process (void)
 
int8_t sscs432_release_request (uint16_t destinationAddress)
 
void sscs432_start (void)
 
void sscs432_upd1ms (void)
 

#define BASE_NODE_432_ADDRESS   0
#define CL_432_ESTABLISH_CONFIRM   1
#define CL_432_ESTABLISH_REQUEST   11
#define CL_432_JOIN_INDICATE   3
#define CL_432_LEAVE_INDICATE   4
#define CL_432_RELEASE_CONFIRM   2
#define CL_432_RELEASE_REQUEST   12
#define CL_DEFAULT_BASE_SAP   MANAGEMENT_CLIENT_ID
#define CL_DEFAULT_SERVICE_SAP   PUBLIC_CLIENT_ID
#define CL_UPDATE_FIRMWARE_SSAP   UPDATE_FIRMWARE_CLIENT_ID
#define CMD_432_PROTOCOL (   A)    ((A)&CMD_432_PROTOCOL_MSK)
#define CMD_432_PROTOCOL_MSK   0x1F
#define CTRL_TYPE   1
#define DATA_TYPE   0

Referenced by _sscs432_Pack_432Msg().

#define DL432_BROADCAST_REQUEST   14
#define DL432_DATA_CONFIRM   1
#define DL432_DATA_INDICATION   2
#define DL432_DATA_REQUEST   11
#define DL432_NO_COMMAND   0
#define DL432_REPLY_CONFIRM   5
#define DL432_REPLY_INDICATION   6
#define DL432_REPLY_REQUEST   13
#define DL432_RESULT_ERROR   0x80
#define DL432_RESULT_SUCCESS   0
#define DL432_UPDATE_REPLY_CONFIRM   3
#define DL432_UPDATE_REPLY_INDICATION   4
#define DL432_UPDATE_REPLY_REQUEST   12
#define GET_TYPE_432_PROTOCOL (   A)    (((A)&TYPE_432_PROTOCOL_MSK) >> TYPE_432_PROTOCOL_SHIFT)
#define LEN_432_SERIAL_NUMBER   16
#define LPDU_HEADER   3

Referenced by _sscs432_Pack_432Msg().

#define lsdu   dl.buff
#define MAC_LENGTH   6
#define MANAGEMENT_CLIENT_ID   1
#define MAX_LENGTH_432_DATA   (1024 - LPDU_HEADER)
#define MAX_LENGTH_STORED_LSDU   7
#define PROTOCOL_432_PRIME   0x1A
#define PUBLIC_CLIENT_ID   16
#define READING_CLIENT_ID   2
#define SET_TYPE_432_PROTOCOL (   A)    (((A) << TYPE_432_PROTOCOL_SHIFT) & TYPE_432_PROTOCOL_MSK)
#define SSCS432_DATA_SIZE   1024 + 11
#define SSCS432_ERROR   (-1)
#define TYPE_432_PROTOCOL_MSK   0x20
#define TYPE_432_PROTOCOL_SHIFT   5
#define UPDATE_FIRMWARE_CLIENT_ID   3

int dl432_dl_broadcast_request ( uint8_t  srcLSAP,
dl432Buffer_t buff,
uint16_t  lenMsg,
uint8_t  linkClass 
)
int dl432_dl_callback ( dl432_LlcCallback_t cmd,
dl432Buffer_t buf,
uint16_t  maxLenBuf 
)
int dl432_dl_data_request ( uint8_t  dstLSAP,
uint8_t  locLSAP,
uint16_t  dstAddress,
dl432Buffer_t txBuff,
uint16_t  lenLsdu,
uint8_t  linkClass 
)
int dl432_dl_reply_request ( uint8_t  dstLSAP,
uint8_t  srcLSAP,
uint16_t  dstAddress,
uint8_t  maxLenAnswer 
)
int dl432_dl_update_reply_request ( uint8_t  locLSAP,
uint8_t *  prBuff,
uint16_t  length 
)
int8_t sscs432_establish_request ( uint8_t *  prSerialNumber,
uint8_t  lenSerialNumber 
)
void sscs432_init ( void  )

Referenced by _prime_stack_process().

Bool sscs432_poll_establish_release ( sscs432_NotService_t ptrNot)
Bool sscs432_poll_joins_leaves ( sscs432_NotBase_t ptrNot)
void sscs432_process ( void  )

Referenced by _prime_stack_process().

int8_t sscs432_release_request ( uint16_t  destinationAddress)
void sscs432_start ( void  )

Referenced by _prime_stack_process().

void sscs432_upd1ms ( void  )

Referenced by _update_1ms_proc().