API for ZRC profile includes cmd discovery and RC commands.
Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.
#include "rf4ce.h"
Data Structures | |
struct | zrc_cmd_frm_tag |
ZRC command frame structure. More... | |
struct | zrc_indication_callback |
struct for zrc indication callback. More... | |
Macros | |
#define | aplcKeyExchangeTransferCount_def aplcMinKeyExchangeTransferCount |
Default value of the key exchange transfer count. More... | |
#define | aplcMaxCmdDiscRxOnDuration 200 /* ms */ |
The maximum duration that the receiver is enabled on a controller after pairing to receive any command discovery request command frames. More... | |
#define | aplcMaxKeyRepeatInterval_ms 100 /* ms */ |
The maximum time between consecutive user control repeated command frame transmissions. More... | |
#define | aplcMaxPairIndicationWaitTime 1.2 /* second */ |
The maximum amount of time a device waits after receiving a successful NLME-AUTO-DISCOVERY.confirm primitive for a pair indication to arrive from the pairing initiator. More... | |
#define | aplcMaxPairIndicationWaitTime_us |
The maximum amount of time a device waits after receiving a successful NLME-AUTO-DISCOVERY.confirm primitive for a pair indication to arrive from the pairing initiator. More... | |
#define | aplcMaxResponseWaitTime 200 /* ms */ |
The maximum time a device shall wait for a response command frame following a request command frame. More... | |
#define | aplcMaxResponseWaitTime_us (aplcMaxResponseWaitTime * 1000L) |
The maximum time a device shall wait for a response command frame following a request command frame. More... | |
#define | aplcMinKeyExchangeTransferCount 3 |
The minimum value of the KeyExTransferCount parameter passed to the pair request primitive during the push button pairing procedure. More... | |
#define | aplcMinTargetBlackoutPeriod 500 /* ms */ |
The minimum amount of time a device must wait after a successful pairing attempt with a target before attempting command discovery. More... | |
#define | aplcMinTargetBlackoutPeriod_us |
The minimum amount of time a device must wait after a successful pairing attempt with a target before attempting command discovery. More... | |
#define | aplKeyRepeatInterval_def (aplcMaxKeyRepeatInterval_ms) |
Default value of the key repeat interval. More... | |
#define | aplKeyRepeatWaitTime_def (2 * aplcMaxKeyRepeatInterval_ms) |
Default value of the key repeat wait time. More... | |
#define | AUTO_DISC_DURATION_SYM 0x1C9C38 |
The automatic discovery response mode duration shall be set to 0x1c9c38 (30s). More... | |
#define | DISCOVERY_DURATION 0x00186A |
ZRC profile constants. More... | |
#define | DISCOVERY_REPETITION_INTERVAL 0x00F424 |
Default value for the discovery repetition interval. More... | |
#define | MAX_DISCOVERY_REPETITIONS 0x1E |
Default value for maximum number of times the discovery request command is sent. More... | |
#define | MAX_REPORTED_NODE_DESCRIPTORS 1 |
Default value for Number of reported node descriptor received during discovery process. More... | |
Typedefs | |
typedef enum cec_code_tag | cec_code_t |
Enums used for the RC command codes / CEC commands from HDMI spec. More... | |
typedef void(* | vendor_data_ind_cb_t )(uint8_t PairingRef, uint16_t VendorId, uint8_t nsduLength, uint8_t *nsdu, uint8_t RxLinkQuality, uint8_t RxFlags) |
typedef enum zrc_cmd_code_tag | zrc_cmd_code_t |
Enums used for ZRC command codes. More... | |
typedef void(* | zrc_cmd_disc_confirm_cb_t )(nwk_enum_t Status, uint8_t PairingRef, uint8_t *SupportedCmd) |
Callback ZRC command discovery confirm. More... | |
typedef void(* | zrc_cmd_disc_indication_cb_t )(uint8_t PairingRef) |
Callback function to the application indicating the status the sent ZRC command request. More... | |
typedef struct zrc_cmd_frm_tag | zrc_cmd_frm_t |
ZRC command frame structure. More... | |
typedef void(* | zrc_cmd_indication_cb_t )(uint8_t PairingRef, uint8_t nsduLength, uint8_t *nsdu, uint8_t RxLinkQuality, uint8_t RxFlags) |
API indicating a received the command to ZRC application. More... | |
typedef struct zrc_indication_callback | zrc_indication_callback_t |
struct for zrc indication callback. More... | |
Functions | |
void | register_zrc_indication_callback (zrc_indication_callback_t *zrc_ind_callback) |
Registering zrc indication callback. More... | |
bool | zrc_cmd_disc_request (uint8_t PairingRef, FUNC_PTR confirm_cb) |
Initialites the command transmission from the application. More... | |
bool | zrc_cmd_disc_response (uint8_t PairingRef, uint8_t *SupportedCmd) |
ZRC command discovery response. More... | |
char * | zrc_print_rc_cmd_text (uint8_t command) |
Prints RC command code text; used for example apps and debugging. More... | |
#define aplcKeyExchangeTransferCount_def aplcMinKeyExchangeTransferCount |
Default value of the key exchange transfer count.
#define aplcMaxCmdDiscRxOnDuration 200 /* ms */ |
The maximum duration that the receiver is enabled on a controller after pairing to receive any command discovery request command frames.
#define aplcMaxKeyRepeatInterval_ms 100 /* ms */ |
The maximum time between consecutive user control repeated command frame transmissions.
#define aplcMaxPairIndicationWaitTime 1.2 /* second */ |
The maximum amount of time a device waits after receiving a successful NLME-AUTO-DISCOVERY.confirm primitive for a pair indication to arrive from the pairing initiator.
Unit is seconds.
#define aplcMaxPairIndicationWaitTime_us |
The maximum amount of time a device waits after receiving a successful NLME-AUTO-DISCOVERY.confirm primitive for a pair indication to arrive from the pairing initiator.
Unit is micro seconds.
#define aplcMaxResponseWaitTime 200 /* ms */ |
The maximum time a device shall wait for a response command frame following a request command frame.
Unit is milli seconds.
#define aplcMaxResponseWaitTime_us (aplcMaxResponseWaitTime * 1000L) |
The maximum time a device shall wait for a response command frame following a request command frame.
Unit is micro seconds.
#define aplcMinKeyExchangeTransferCount 3 |
The minimum value of the KeyExTransferCount parameter passed to the pair request primitive during the push button pairing procedure.
#define aplcMinTargetBlackoutPeriod 500 /* ms */ |
The minimum amount of time a device must wait after a successful pairing attempt with a target before attempting command discovery.
Unit is milli seconds.
#define aplcMinTargetBlackoutPeriod_us |
The minimum amount of time a device must wait after a successful pairing attempt with a target before attempting command discovery.
Unit is micro seconds.
Referenced by pbp_org_pair_confirm().
#define aplKeyRepeatInterval_def (aplcMaxKeyRepeatInterval_ms) |
Default value of the key repeat interval.
#define aplKeyRepeatWaitTime_def (2 * aplcMaxKeyRepeatInterval_ms) |
Default value of the key repeat wait time.
#define AUTO_DISC_DURATION_SYM 0x1C9C38 |
The automatic discovery response mode duration shall be set to 0x1c9c38 (30s).
#define DISCOVERY_REPETITION_INTERVAL 0x00F424 |
Default value for the discovery repetition interval.
#define MAX_DISCOVERY_REPETITIONS 0x1E |
Default value for maximum number of times the discovery request command is sent.
#define MAX_REPORTED_NODE_DESCRIPTORS 1 |
Default value for Number of reported node descriptor received during discovery process.
typedef void(* vendor_data_ind_cb_t)(uint8_t PairingRef, uint16_t VendorId, uint8_t nsduLength, uint8_t *nsdu, uint8_t RxLinkQuality, uint8_t RxFlags) |
typedef struct zrc_cmd_frm_tag zrc_cmd_frm_t |
ZRC command frame structure.
bool zrc_cmd_disc_response | ( | uint8_t | PairingRef, |
uint8_t * | SupportedCmd | ||
) |
ZRC command discovery response.
The command discovery response allows a device to answer to an incoming command discovery request.
PairingRef | Pairing reference used for the command discovery request |
SupportedCmd | Pointer to 32 byte array containing supported CEC commands |
ZRC command discovery response.
PairingRef | pairing ref of the originator device. |
SupportedCmd | Address of provided 32 byte array containing supported command codes |
References EOT, get_next_tx_buffer(), NULL, RF4CONTROL_PID, ZRC_CMD_DISCOVERY_RESP_LEN, and ZRC_CMD_DISCOVERY_RESPONSE.
Referenced by handle_incoming_msg(), and zrc_cmd_disc_indication().