RF4CE API parser.
Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>
#include "compiler.h"
#include "nwk_msg_code.h"
#include "app_config.h"
#include "conf_sio2ncp.h"
#include "sio2ncp.h"
#include "api_parser.h"
#include "rf4ce.h"
#include "pb_pairing.h"
#include "zrc.h"
#include "vendor_data.h"
#include "nwk_config.h"
#define | SOT (1) |
The start of transmission delimiter. More... | |
#define | EOT (4) |
The end of transmission delimiter. More... | |
#define | UART_RX_STATE_SOT (1) |
A UART state that expects a SOT to be received as the next character. More... | |
#define | UART_RX_STATE_LENGTH (2) |
A UART state that expects the length to be received as the next character. More... | |
#define | UART_RX_PROTOCOL_ID (3) |
A UART state that expects the length to be received as the next character. More... | |
#define | UART_RX_STATE_DATA (4) |
A UART state that expects the next data character to be received. More... | |
#define | UART_RX_STATE_EOT (5) |
A UART state that expects a EOT to be received as the next character. More... | |
#define | SIO_BUF_COUNT (2) |
#define | SIO_RX2NCP_BUF_SIZE (200) |
#define | SIO_TX_BUF_SIZE SIO_RX2NCP_BUF_SIZE |
#define | GET_NIB_ATTR_SIZE(x) |
Gets attribute size by reading from a table stored in flash. More... | |
static uint8_t | sio_rx_buf [SIO_RX2NCP_BUF_SIZE] |
This is the receive buffer of the UART. More... | |
static uint8_t | sio_tx_buf [SIO_BUF_COUNT][SIO_TX_BUF_SIZE] |
This is the transmit buffer of the UART. More... | |
static uint8_t * | sio_rx_ptr |
This pointer points to the next free element inside the receive buffer of the UART. More... | |
static volatile uint8_t | sio_rx_state |
This is the receiver state of the UART. More... | |
static uint8_t | sio_rx_length |
This is the length of the message should be received. More... | |
static uint8_t | data [20] |
This is the length of the message should be transmitted. More... | |
static uint8_t | data_length |
static uint8_t | rx_index |
static uint8_t | head |
static uint8_t | buf_count |
static uint8_t | protocol_id |
static zrc_indication_callback_t | zrc_ind_cb |
static nwk_indication_callback_t | nwk_ind_callback |
nlme_start_confirm_cb_t | nlme_start_confirm_cb |
nlme_reset_confirm_cb_t | nlme_reset_confirm_cb |
nlme_rx_enable_confirm_cb_t | nlme_rx_enable_confirm_cb |
nlde_data_confirm_cb_t | nlde_data_confirm_cb |
nlme_auto_discovery_confirm_cb_t | nlme_auto_discovery_confirm_cb |
nlme_discovery_confirm_cb_t | nlme_discovery_confirm_cb |
nlme_get_confirm_cb_t | nlme_get_confirm_cb |
nlme_pair_confirm_cb_t | nlme_pair_confirm_cb |
nlme_set_confirm_cb_t | nlme_set_confirm_cb |
nlme_unpair_confirm_cb_t | nlme_unpair_confirm_cb |
nlme_update_key_confirm_cb_t | nlme_update_key_confirm_cb |
nwk_ch_agility_confirm_cb_t | nwk_ch_agility_confirm_cb |
pbp_org_pair_confirm_cb_t | pbp_org_pair_confirm_cb |
pbp_rec_pair_confirm_cb_t | pbp_rec_pair_confirm_cb |
zrc_cmd_confirm_cb_t | zrc_cmd_confirm_cb |
zrc_cmd_disc_confirm_cb_t | zrc_cmd_disc_confirm_cb |
static void | process_incoming_data (void) |
static uint8_t * | get_next_tx_buffer (void) |
static void | handle_incoming_msg (void) |
static | FLASH_DECLARE (uint8_t nib_attr_size[]) |
Size constants for NIB attributes. More... | |
void | serial_api_init (void) |
This function does the initialization of the SIO or UART. More... | |
nwk_enum_t | nwk_init (void) |
Initialization of RF4CE network layer. More... | |
bool | nwk_task (void) |
Function to handle the state machine serial data exchange. More... | |
bool | nlme_reset_request (bool SetDefaultNIB, FUNC_PTR confirm_cb) |
NLME-RESET.request primitive API. More... | |
bool | nlde_data_request (uint8_t PairingRef, profile_id_t ProfileId, uint16_t VendorId, uint8_t nsduLength, uint8_t *nsdu, uint8_t TxOptions, uint8_t Handle, FUNC_PTR confirm_cb) |
NLDE-DATA.request primitive API. More... | |
bool | nlme_auto_discovery_request (uint8_t RecAppCapabilities, dev_type_t RecDevTypeList[DEVICE_TYPE_LIST_SIZE], profile_id_t RecProfileIdList[PROFILE_ID_LIST_SIZE], uint32_t AutoDiscDuration, FUNC_PTR confirm_cb) |
bool | nlme_discovery_request (uint16_t DstPANId, uint16_t DstNwkAddr, uint8_t OrgAppCapabilities, dev_type_t OrgDevTypeList[3], profile_id_t OrgProfileIdList[7], dev_type_t SearchDevType, uint8_t DiscProfileIdListSize, profile_id_t DiscProfileIdList[7], uint32_t DiscDuration, FUNC_PTR confirm_cb) |
NLME-DISCOVERY.request primitive API. More... | |
bool | nlme_discovery_response (nwk_enum_t Status, uint64_t DstIEEEAddr, uint8_t RecAppCapabilities, dev_type_t RecDevTypeList[3], profile_id_t RecProfileIdList[7], uint8_t DiscReqLQI) |
NLME-DISCOVERY.response primitive API. More... | |
bool | nlme_pair_request (uint8_t LogicalChannel, uint16_t DstPANId, uint64_t DstIEEEAddr, uint8_t OrgAppCapabilities, dev_type_t OrgDevTypeList[DEVICE_TYPE_LIST_SIZE], profile_id_t OrgProfileIdList[PROFILE_ID_LIST_SIZE], uint8_t KeyExTransferCount, FUNC_PTR confirm_cb) |
bool | nlme_pair_response (nwk_enum_t Status, uint16_t DstPANId, uint64_t DstIEEEAddr, uint8_t RecAppCapabilities, dev_type_t RecDevTypeList[3], profile_id_t RecProfileIdList[7], uint8_t ProvPairingRef) |
NLME-PAIR.response primitive API. More... | |
bool | nlme_get_request (nib_attribute_t NIBAttribute, uint8_t NIBAttributeIndex, FUNC_PTR confirm_cb) |
NLME-GET.request primitive API. More... | |
bool | nlme_rx_enable_request (uint32_t RxOnDuration, FUNC_PTR confirm_cb) |
NLME-RX-ENABLE.request primitive API. More... | |
bool | nlme_set_request (nib_attribute_t NIBAttribute, uint8_t NIBAttributeIndex, uint8_t *NIBAttributeValue, FUNC_PTR confirm_cb) |
NLME-SET.request primitive API. More... | |
bool | nlme_start_request (FUNC_PTR confirm_cb) |
NLME-START.request primitive API. More... | |
bool | nlme_unpair_request (uint8_t PairingRef, FUNC_PTR confirm_cb) |
NLME-UNPAIR.request primitive API. More... | |
bool | nlme_unpair_response (uint8_t PairingRef) |
NLME-UNPAIR.response primitive API. More... | |
bool | nlme_update_key_request (uint8_t PairingRef, uint8_t NewLinkKey[16], FUNC_PTR confirm_cb) |
NLME-UPDATE-KEY.request primitive API. More... | |
bool | nwk_ch_agility_request (nwk_agility_mode_t AgilityMode, FUNC_PTR confirm_cb) |
Sets channel agility mode. More... | |
bool | pbp_org_pair_request (uint8_t OrgAppCapabilities, dev_type_t OrgDevTypeList[DEVICE_TYPE_LIST_SIZE], profile_id_t OrgProfileIdList[PROFILE_ID_LIST_SIZE], dev_type_t SearchDevType, uint8_t DiscProfileIdListSize, profile_id_t DiscProfileIdList[PROFILE_ID_LIST_SIZE], FUNC_PTR confirm_cb) |
bool | pbp_rec_pair_request (uint8_t RecAppCapabilities, dev_type_t RecDevTypeList[3], profile_id_t RecProfileIdList[7], FUNC_PTR confirm_cb) |
Recipient pair request; target use. More... | |
bool | zrc_cmd_request (uint8_t PairingRef, uint16_t VendorId, zrc_cmd_code_t CmdCode, uint8_t CmdLength, uint8_t *Cmd, uint8_t TxOptions, FUNC_PTR confirm_cb) |
Handles the key press from the application. More... | |
bool | zrc_cmd_disc_request (uint8_t PairingRef, FUNC_PTR confirm_cb) |
Handles the cmd discovery request. More... | |
bool | zrc_cmd_disc_response (uint8_t PairingRef, uint8_t *SupportedCmd) |
Send out the cmd discovery response. More... | |
void | register_nwk_indication_callback (nwk_indication_callback_t *nwk_ind_cb) |
Registering network indication callback. More... | |
void | register_zrc_indication_callback (zrc_indication_callback_t *zrc_ind_callback) |
Registering zrc indication callback. More... | |
uint8_t | nwk_get_nib_attribute_size (uint8_t nib_attribute_id) |
Gets the NIB attribute value size. More... | |