Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
PLC Universal Serial Interface

This module provides configuration and utils for the serialization of protocols in PLC.

Data Structures

struct  cmd_params_t
 
struct  map_buffers_t
 
struct  map_ports_t
 
struct  map_protocols_t
 
struct  USI_param_t
 
struct  x_usi_serial_cmd_params_t
 

Macros

#define CMD_PRIME_PROTOCOL(A)   ((A)&CMD_PRIME_PROTOCOL_MSK)
 
#define CMD_PRIME_PROTOCOL_MSK   0x3F
 
#define MIN_OVERHEAD   5
 
#define MNGP_PRIME_EN_PIBQRY   0x06
 
#define MNGP_PRIME_EN_PIBRSP   0x07
 
#define MNGP_PRIME_FU   0x05
 
#define MNGP_PRIME_GETQRY   0x00
 
#define MNGP_PRIME_GETRSP   0x01
 
#define MNGP_PRIME_PROT   0x00
 
#define MNGP_PRIME_REBOOT   0x04
 
#define MNGP_PRIME_RESET   0x03
 
#define MNGP_PRIME_SET   0x02
 
#define UART_TYPE   0
 
#define USART_TYPE   1
 

Typedefs

typedef uint8_t(* pf_usi_decode_cmd )(uint8_t *, uint16_t)
 

Enumerations

enum  {
  RX_IDLE,
  RX_MSG,
  RX_ESC,
  RX_EORX
}
 
enum  {
  TX_IDLE,
  TX_MSG
}
 
enum  usi_protocol_t {
  PROTOCOL_SNIF_PRIME = 0x13,
  PROTOCOL_MAC_PRIME = 0x17,
  PROTOCOL_MLME_PRIME = 0x18,
  PROTOCOL_PLME_PRIME = 0x19,
  PROTOCOL_432_PRIME = 0x1A,
  PROTOCOL_BASEMNG_PRIME = 0x1D,
  PROTOCOL_PRIME_SERIAL = 0x1F,
  PROTOCOL_ATPL230 = 0x22,
  PROTOCOL_USER_DEFINED = 0xFE,
  PROTOCOL_INVALID = 0xFF
}
 
enum  usi_status_t {
  USI_STATUS_PROTOCOL_NOT_FOUND = 0xFF,
  USI_STATUS_TX_BUFFER_OVERFLOW,
  USI_STATUS_TX_BUSY,
  USI_STATUS_TX_BLOCKED,
  USI_STATUS_RX_BUFFER_OVERFLOW,
  USI_STATUS_RX_BLOCKED,
  USI_STATUS_UART_ERROR,
  USI_STATUS_FORMAT_ERROR,
  USI_STATUS_OK,
  USI_STATUS_INVALID
}
 

Functions

static void _cbInternalProtocol (uint8_t uc_port_idx, uint8_t uc_cmd)
 This function decodes internal protocol messages. More...
 
static uint16_t _decode_copy (uint8_t *puc_dest, uint8_t *puc_orig, uint16_t us_size)
 Decodes the escape sequences and copies the result into the destination buffer. More...
 
static uint8_t _doEoMsg (uint8_t uc_port)
 This function processes received message. More...
 
static uint8_t _getPortFromProtocol (uint8_t uc_p_type)
 This function extracts the port where the protocol is mapped to. More...
 
static uint8_t _process_msg (uint8_t uc_port)
 This function processes the complete received message. More...
 
static usi_status_t _usi_encode_and_send (uint8_t uc_port_idx, cmd_params_t *msg)
 Encodes the escape characters and transmits the message. More...
 
uint8_t baseMng_receivedCmd (uint8_t *puc_rx_msg, uint16_t us_len)))
 
uint8_t Dummy_serial_parser (uint8_t *puc_rx_msg, uint16_t us_len)
 Dummy serialization function. More...
 
uint8_t mngl_rcv_cmd (uint8_t *puc_rx_msg, uint16_t us_len)))
 
uint8_t phySerial_receivedCmd (uint8_t *puc_rx_msg, uint16_t us_len)))
 
uint8_t serial_432_if_api_parser (uint8_t *puc_rx_msg, uint16_t us_len)))
 Received message. More...
 
uint8_t serial_if_api_parser (uint8_t *puc_rx_msg, uint16_t us_len)))
 Received message. More...
 
uint8_t serial_if_mac_api_parser (uint8_t *puc_rx_msg, uint16_t us_len)))
 Received message. More...
 
uint8_t serial_if_mlme_api_parser (uint8_t *puc_rx_msg, uint16_t us_len)))
 Received message. More...
 
uint8_t serial_if_plme_api_parser (uint8_t *puc_rx_msg, uint16_t us_len)))
 Received message. More...
 
uint8_t serial_if_sniffer_api_parser (uint8_t *puc_rx_msg, uint16_t us_len)))
 Received message. More...
 
uint8_t serial_if_user_def_api_parser (uint8_t *puc_rx_msg, uint16_t us_len)))
 Task to manage the serialization of the user defined protocol. More...
 
usi_status_t usi_send_cmd (void *msg)
 Function to transmit data through USI. More...
 

Variables

pf_usi_decode_cmd cbFnPhySerial = NULL
 
uint8_t * x_usi_serial_cmd_params_t::ptr_buf
 
static uint8_t puc_rx_aux_buf [TXAUX_SIZE+2]
 
static uint8_t puc_tx_aux_buf [TXAUX_SIZE+2]
 
uint8_t x_usi_serial_cmd_params_t::uc_protocol_type
 
uint16_t x_usi_serial_cmd_params_t::us_len
 
static const map_buffers_t usi_aux_rx_buf = {2 * TXAUX_SIZE + 2, &puc_rx_aux_buf[0]}
 
static const map_buffers_t usi_aux_tx_buf = {TXAUX_SIZE + 2, &puc_tx_aux_buf[0]}
 
const map_buffers_t *const usi_cfg_aux_rx_buf = &usi_aux_rx_buf
 
const map_buffers_t *const usi_cfg_aux_tx_buf = &usi_aux_tx_buf
 
const map_ports_t *const usi_cfg_map_ports = &usiMapPorts[0]
 
const map_protocols_t *const usi_cfg_map_protocols = &usi_map_protocols[0]
 
static USI_param_t usi_cfg_param [NUM_PORTS]
 
map_buffers_t *const usi_cfg_rx_buf = &usi_rx_buf[0]
 
const map_buffers_t *const usi_cfg_tx_buf = &usi_tx_buf[0]
 
#define MSGMARK   0x7e
 
#define ESC_MSGMARK   0x5e
 
#define ESCMARK   0x7d
 
#define ESC_ESCMARK   0x5d
 
#define MSG_START   1
 
#define MSG_END   0
 
#define HEADER_LEN   2
 
#define CRC8_LEN   1
 
#define CRC16_LEN   2
 
#define CRC32_LEN   4
 

USI flow control internal protocol

#define PROTOCOL_INTERNAL   0x3F
 
#define CMD_LOCK_PORT   0
 
#define CMD_UNLOCK_PORT   1
 
#define INTERNAL_MSG_LEN   1
 
#define MAX_ESCAPED_INTERNAL_MSG_LEN   10
 
#define TX_BLOCK_TIMEOUT   50
 
#define RX_BLOCK_TIMEOUT   50
 
#define TXRX_BLOCK_UPDATE   1
 
#define TYPE_PROTOCOL_OFFSET   1
 
#define TYPE_PROTOCOL_MSK   0x3F
 
#define LEN_PROTOCOL_HI_OFFSET   0
 
#define LEN_PROTOCOL_HI_MSK   0xFF
 
#define LEN_PROTOCOL_HI_SHIFT   2
 
#define LEN_PROTOCOL_LO_OFFSET   1
 
#define LEN_PROTOCOL_LO_MSK   0xC0
 
#define LEN_PROTOCOL_LO_SHIFT   6
 
#define XLEN_PROTOCOL_OFFSET   2
 
#define XLEN_PROTOCOL_MSK   0xC0
 
#define XLEN_PROTOCOL_SHIFT_L   4
 
#define XLEN_PROTOCOL_SHIFT_R   10
 
#define PAYLOAD_OFFSET   2
 
#define CMD_PROTOCOL_OFFSET   2
 
#define CMD_PROTOCOL_MSK   0x3F
 

Macro operators

static uint8_t uc_message_status
 
cmd_params_t internal_command
 
uint8_t uc_int_cmd_lock = CMD_LOCK_PORT
 
uint8_t uc_int_cmd_unlock = CMD_UNLOCK_PORT
 
#define TYPE_PROTOCOL(A)   ((A)&TYPE_PROTOCOL_MSK)
 
#define LEN_PROTOCOL(A, B)   ((((uint16_t)(A)) << LEN_PROTOCOL_HI_SHIFT) + ((B) >> LEN_PROTOCOL_LO_SHIFT))
 
#define XLEN_PROTOCOL(A, B, C)   ((((uint16_t)(A)) << LEN_PROTOCOL_HI_SHIFT) + ((B) >> LEN_PROTOCOL_LO_SHIFT) + (((uint16_t)(C)&XLEN_PROTOCOL_MSK) << XLEN_PROTOCOL_SHIFT_L))
 
#define LEN_HI_PROTOCOL(A)   (((uint16_t)(A) >> LEN_PROTOCOL_HI_SHIFT) & LEN_PROTOCOL_HI_MSK)
 
#define LEN_LO_PROTOCOL(A)   (((uint16_t)(A) << LEN_PROTOCOL_LO_SHIFT) & LEN_PROTOCOL_LO_MSK)
 
#define LEN_EX_PROTOCOL(A)   (((uint16_t)(A & 0x0c00)) >> 4)
 
#define CMD_PROTOCOL(A)   ((A)&CMD_PROTOCOL_MSK)
 

Port Mapping. Configured with the values provided in conf_usi.h:

MapPorts[PORT TYPE, PORT CHANNEL, PORT SPEED, TX BUFFER SIZE, RX BUFFER SIZE]

static const map_ports_t usiMapPorts [NUM_PORTS+1]
 

Protocol Mapping. Configured with the values provided in conf_usi.h:

static const map_protocols_t usi_map_protocols [NUM_PROTOCOLS+1]
 
static map_buffers_t usi_rx_buf [NUM_PORTS+1]
 
static const map_buffers_t usi_tx_buf [NUM_PORTS+1]
 
#define CONF_PORT(type, channel, speed, tx_size, rx_size)   {type, channel, speed, tx_size, rx_size}
 
#define CONF_PORT(type, channel, speed, tx_size, rx_size)   rx_size
 
#define CONF_PORT(type, channel, speed, tx_size, rx_size)   tx_size
 
#define TXAUX_SIZE   0
 
typedef uint8_t(* pf_usi_get_cmd )(void)
 
typedef void(* pf_usi_set_cmd )(uint8_t)
 

Universal Serial Interface API functions

void usi_txrx_block_timer (void)
 Function that updates the USI flow control timers. More...
 
void usi_process (void)
 Function to perform the USI RX process. More...
 
void usi_init (void)
 Create RX and TX USI tasks, and timer to update internal counters. More...
 

#define CMD_LOCK_PORT   0

Referenced by _cbInternalProtocol().

#define CMD_PRIME_PROTOCOL (   A)    ((A)&CMD_PRIME_PROTOCOL_MSK)
#define CMD_PRIME_PROTOCOL_MSK   0x3F
#define CMD_PROTOCOL (   A)    ((A)&CMD_PROTOCOL_MSK)

Referenced by _usi_encode_and_send().

#define CMD_PROTOCOL_MSK   0x3F
#define CMD_PROTOCOL_OFFSET   2

Referenced by _usi_encode_and_send().

#define CMD_UNLOCK_PORT   1

Referenced by _cbInternalProtocol().

#define CONF_PORT (   type,
  channel,
  speed,
  tx_size,
  rx_size 
)    {type, channel, speed, tx_size, rx_size}
#define CONF_PORT (   type,
  channel,
  speed,
  tx_size,
  rx_size 
)    rx_size
#define CONF_PORT (   type,
  channel,
  speed,
  tx_size,
  rx_size 
)    tx_size
#define CRC16_LEN   2
#define CRC32_LEN   4
#define CRC8_LEN   1
#define ESC_ESCMARK   0x5d
#define ESC_MSGMARK   0x5e
#define ESCMARK   0x7d
#define HEADER_LEN   2
#define INTERNAL_MSG_LEN   1

Referenced by usi_init().

#define LEN_EX_PROTOCOL (   A)    (((uint16_t)(A & 0x0c00)) >> 4)

Referenced by _usi_encode_and_send().

#define LEN_HI_PROTOCOL (   A)    (((uint16_t)(A) >> LEN_PROTOCOL_HI_SHIFT) & LEN_PROTOCOL_HI_MSK)

Referenced by _usi_encode_and_send().

#define LEN_LO_PROTOCOL (   A)    (((uint16_t)(A) << LEN_PROTOCOL_LO_SHIFT) & LEN_PROTOCOL_LO_MSK)

Referenced by _usi_encode_and_send().

#define LEN_PROTOCOL (   A,
 
)    ((((uint16_t)(A)) << LEN_PROTOCOL_HI_SHIFT) + ((B) >> LEN_PROTOCOL_LO_SHIFT))

Referenced by _doEoMsg(), and _process_msg().

#define LEN_PROTOCOL_HI_MSK   0xFF
#define LEN_PROTOCOL_HI_OFFSET   0

Referenced by _doEoMsg(), and _process_msg().

#define LEN_PROTOCOL_HI_SHIFT   2
#define LEN_PROTOCOL_LO_MSK   0xC0
#define LEN_PROTOCOL_LO_OFFSET   1

Referenced by _doEoMsg(), and _process_msg().

#define LEN_PROTOCOL_LO_SHIFT   6
#define MAX_ESCAPED_INTERNAL_MSG_LEN   10
#define MIN_OVERHEAD   5

Referenced by usi_send_cmd().

#define MNGP_PRIME_EN_PIBQRY   0x06
#define MNGP_PRIME_EN_PIBRSP   0x07
#define MNGP_PRIME_FU   0x05
#define MNGP_PRIME_GETQRY   0x00
#define MNGP_PRIME_GETRSP   0x01
#define MNGP_PRIME_PROT   0x00

Referenced by _getPortFromProtocol().

#define MNGP_PRIME_REBOOT   0x04
#define MNGP_PRIME_RESET   0x03
#define MNGP_PRIME_SET   0x02
#define MSG_END   0

Referenced by usi_init(), and usi_process().

#define MSG_START   1

Referenced by usi_process().

#define MSGMARK   0x7e
#define PAYLOAD_OFFSET   2

Referenced by _process_msg().

#define PROTOCOL_INTERNAL   0x3F
#define RX_BLOCK_TIMEOUT   50

Referenced by usi_process().

#define TX_BLOCK_TIMEOUT   50

Referenced by _cbInternalProtocol().

#define TXAUX_SIZE   0
#define TXRX_BLOCK_UPDATE   1
#define TYPE_PROTOCOL (   A)    ((A)&TYPE_PROTOCOL_MSK)
#define TYPE_PROTOCOL_MSK   0x3F
#define TYPE_PROTOCOL_OFFSET   1

Referenced by _doEoMsg(), and _process_msg().

#define UART_TYPE   0
#define USART_TYPE   1
#define XLEN_PROTOCOL (   A,
  B,
 
)    ((((uint16_t)(A)) << LEN_PROTOCOL_HI_SHIFT) + ((B) >> LEN_PROTOCOL_LO_SHIFT) + (((uint16_t)(C)&XLEN_PROTOCOL_MSK) << XLEN_PROTOCOL_SHIFT_L))

Referenced by _doEoMsg(), and _process_msg().

#define XLEN_PROTOCOL_MSK   0xC0
#define XLEN_PROTOCOL_OFFSET   2

Referenced by _doEoMsg(), and _process_msg().

#define XLEN_PROTOCOL_SHIFT_L   4
#define XLEN_PROTOCOL_SHIFT_R   10

typedef uint8_t(* pf_usi_decode_cmd)(uint8_t *, uint16_t)
typedef uint8_t(* pf_usi_get_cmd)(void)
typedef void(* pf_usi_set_cmd)(uint8_t)

anonymous enum
Enumerator
RX_IDLE 
RX_MSG 
RX_ESC 
RX_EORX 
anonymous enum
Enumerator
TX_IDLE 
TX_MSG 
Enumerator
PROTOCOL_SNIF_PRIME 
PROTOCOL_MAC_PRIME 
PROTOCOL_MLME_PRIME 
PROTOCOL_PLME_PRIME 
PROTOCOL_432_PRIME 
PROTOCOL_BASEMNG_PRIME 
PROTOCOL_PRIME_SERIAL 
PROTOCOL_ATPL230 
PROTOCOL_USER_DEFINED 
PROTOCOL_INVALID 
Enumerator
USI_STATUS_PROTOCOL_NOT_FOUND 
USI_STATUS_TX_BUFFER_OVERFLOW 
USI_STATUS_TX_BUSY 
USI_STATUS_TX_BLOCKED 
USI_STATUS_RX_BUFFER_OVERFLOW 
USI_STATUS_RX_BLOCKED 
USI_STATUS_UART_ERROR 
USI_STATUS_FORMAT_ERROR 
USI_STATUS_OK 
USI_STATUS_INVALID 

static void _cbInternalProtocol ( uint8_t  uc_port_idx,
uint8_t  uc_cmd 
)
static

This function decodes internal protocol messages.

Parameters
uc_port_idxPort on which message is received
uc_cmdCommand identifier

References CMD_LOCK_PORT, CMD_UNLOCK_PORT, TX_BLOCK_TIMEOUT, and USI_param_t::us_tx_block_timer.

Referenced by _process_msg().

static uint16_t _decode_copy ( uint8_t *  puc_dest,
uint8_t *  puc_orig,
uint16_t  us_size 
)
static

Decodes the escape sequences and copies the result into the destination buffer.

Parameters
puc_destpointer to the destination buffer
puc_origpointer to the source buffer
us_sizesize of the data to process
Returns
Length of the decoded array, -1 if error.

References ESC_ESCMARK, ESC_MSGMARK, ESCMARK, MSGMARK, and USI_STATUS_FORMAT_ERROR.

Referenced by usi_process().

static uint8_t _getPortFromProtocol ( uint8_t  uc_p_type)
static

This function extracts the port where the protocol is mapped to.

Parameters
uc_p_typeProtocol Type
Return values
USI_STATUS_PROTOCOL_NOT_FOUND,ifprotocol is not found number of port for the protocol, otherwise

References MNGP_PRIME_PROT, map_protocols_t::uc_port, and USI_STATUS_PROTOCOL_NOT_FOUND.

Referenced by usi_send_cmd().

uint8_t baseMng_receivedCmd ( uint8_t *  puc_rx_msg,
uint16_t  us_len 
)
uint8_t Dummy_serial_parser ( uint8_t *  puc_rx_msg,
uint16_t  us_len 
)

Dummy serialization function.

References UNUSED.

uint8_t mngl_rcv_cmd ( uint8_t *  puc_rx_msg,
uint16_t  us_len 
)
uint8_t phySerial_receivedCmd ( uint8_t *  puc_rx_msg,
uint16_t  us_len 
)

Referenced by _process_msg().

uint8_t serial_432_if_api_parser ( uint8_t *  puc_rx_msg,
uint16_t  us_len 
)

Received message.

Note
Process Dialogue with peer
  • Proces Profiles
  • Wait for received message
  • Process incoming message
  • Send response if necessary
Parameters
puc_rx_msgPointer to the received data
us_lenData length of the received data
Return values
1primitive stored
0primitive could not be stored

References _sscs432_Unpack_Cl432EstablishRequest(), _sscs432_Unpack_Cl432ReleaseRequest(), _sscs432_Unpack_Dl432BroadcastRequest(), _sscs432_Unpack_Dl432DataRequest(), _sscs432_Unpack_Dl432ReplyRequest(), _sscs432_Unpack_Dl432UpdateReplyRequest(), CL_432_ESTABLISH_REQUEST, CL_432_RELEASE_REQUEST, cmd, CMD_432_PROTOCOL, DL432_BROADCAST_REQUEST, DL432_DATA_REQUEST, DL432_REPLY_REQUEST, DL432_UPDATE_REPLY_REQUEST, GET_TYPE_432_PROTOCOL, SSCS432_ERROR, SSCS432_OK, and UNUSED.

Referenced by _process_msg().

uint8_t serial_if_api_parser ( uint8_t *  puc_rx_msg,
uint16_t  us_len 
)
uint8_t serial_if_plme_api_parser ( uint8_t *  puc_rx_msg,
uint16_t  us_len 
)

Received message.

Note
Process Dialogue with peer
  • Proces Profiles
  • Wait for received message
  • Process incoming message
  • Send response if necessary
Parameters
puc_rx_msgPointer to the data attached to the connection request
us_lenData length of the data attached to the request
Return values
1primitive stored
0primitive could not be stored

References _serial_if_plme_unpack_get_req(), _serial_if_plme_unpack_set_req(), _serial_if_plme_unpack_testmode_req(), CMD_PRIME_PROTOCOL, PRIME_PLME_GET_REQUEST, PRIME_PLME_RESET_REQUEST, prime_PLME_RESET_request(), PRIME_PLME_RESUME_REQUEST, prime_PLME_RESUME_request(), PRIME_PLME_SET_REQUEST, PRIME_PLME_SLEEP_REQUEST, prime_PLME_SLEEP_request(), PRIME_PLME_TESTMODE_REQUEST, and UNUSED.

Referenced by _process_msg().

uint8_t serial_if_sniffer_api_parser ( uint8_t *  puc_rx_msg,
uint16_t  us_len 
)

Received message.

Parameters
puc_rx_msgPointer to the received data
us_lenData length of the received data
Return values
trueif there is no error
falseif length is invalid or sniffer command is wrong
Note
Process Dialogue with peer
  • Proces Profiles
  • Wait for received message
  • Process incoming message
  • Send response if necessary
Parameters
puc_rx_msgPointer to the data attached to the connection request
us_lenData length of the data attached to the request
Return values
trueprimitive stored
falseprimitive could not be stored

References PHY_ID_CFG_TXRX_CHANNEL, phy_mac_crc_disable(), phy_mac_crc_enable(), phy_set_cfg_param(), puc_rx, SNIFFER_ACTIVATE_CRC, SNIFFER_ATPL210, SNIFFER_ATPL240, SNIFFER_IF_PHY_COMMAND_ENABLE_PRIME_PLUS_ROBUST, SNIFFER_IF_PHY_COMMAND_MAC_CRC, SNIFFER_IF_PHY_COMMAND_MESSAGE, SNIFFER_IF_PHY_COMMAND_SET_CHANNEL, and SNIFFER_SELECT_CHANNEL.

Referenced by _process_msg().

uint8_t serial_if_user_def_api_parser ( uint8_t *  puc_rx_msg,
uint16_t  us_len 
)

Task to manage the serialization of the user defined protocol.

Parameters
puc_rx_msgPointer to the message received through USI
us_lenLength of the received message
Return values
trueif there is no error
falseif length is invalid or serial command is wrong

References x_usi_serial_cmd_params_t::ptr_buf, puc_rx, SERIAL_IF_USER_DEF_GET_CMD, SERIAL_IF_USER_DEF_GET_CMD_RSP, SERIAL_IF_USER_DEF_SET_CMD, SERIAL_IF_USER_DEF_SET_CMD_RSP, uc_serial_rsp_buf, x_usi_serial_cmd_params_t::us_len, and usi_send_cmd().

Referenced by _process_msg().

void usi_txrx_block_timer ( void  )

Function that updates the USI flow control timers.

References USI_param_t::us_rx_block_timer, and USI_param_t::us_tx_block_timer.

Referenced by _update_1ms_proc().

pf_usi_decode_cmd cbFnPhySerial = NULL
cmd_params_t internal_command
uint8_t puc_rx_aux_buf[TXAUX_SIZE+2]
static
uint8_t puc_tx_aux_buf[TXAUX_SIZE+2]
static
uint8_t uc_int_cmd_lock = CMD_LOCK_PORT

Referenced by usi_process().

uint8_t uc_int_cmd_unlock = CMD_UNLOCK_PORT

Referenced by usi_process().

uint8_t uc_message_status
static

Referenced by usi_process().

const map_buffers_t usi_aux_rx_buf = {2 * TXAUX_SIZE + 2, &puc_rx_aux_buf[0]}
static
const map_buffers_t usi_aux_tx_buf = {TXAUX_SIZE + 2, &puc_tx_aux_buf[0]}
static
const map_buffers_t* const usi_cfg_aux_rx_buf = &usi_aux_rx_buf
const map_buffers_t* const usi_cfg_aux_tx_buf = &usi_aux_tx_buf
const map_ports_t* const usi_cfg_map_ports = &usiMapPorts[0]
const map_protocols_t* const usi_cfg_map_protocols = &usi_map_protocols[0]
USI_param_t usi_cfg_param[NUM_PORTS]
static
map_buffers_t* const usi_cfg_rx_buf = &usi_rx_buf[0]
const map_buffers_t* const usi_cfg_tx_buf = &usi_tx_buf[0]
const map_protocols_t usi_map_protocols[NUM_PROTOCOLS+1]
static
map_buffers_t usi_rx_buf[NUM_PORTS+1]
static
Initial value:
= {
{0xFF, NULL}
}
#define NULL
Definition: wilc/bsp/include/nm_bsp.h:70
const map_buffers_t usi_tx_buf[NUM_PORTS+1]
static
Initial value:
= {
{0xFF, NULL}
}
#define NULL
Definition: wilc/bsp/include/nm_bsp.h:70
const map_ports_t usiMapPorts[NUM_PORTS+1]
static
Initial value:
= {
{0xff, 0xff, 0, 0, 0}
}