Ipc#

group bsp_ipc

Control the IPC peripheral (nRF53 only)

Author

Alexandre Abadie alexandre.abadie@inria.fr

Copyright

Inria, 2023

Defines

IPC_IRQ_PRIORITY#

Enums

enum ipc_req_t#

Values:

enumerator DB_IPC_REQ_NONE#

Sorry, but nothing.

enumerator DB_IPC_RADIO_INIT_REQ#

Request for radio initialization.

enumerator DB_IPC_RADIO_FREQ_REQ#

Request for radio set frequency.

enumerator DB_IPC_RADIO_CHAN_REQ#

Request for radio set channel.

enumerator DB_IPC_RADIO_ADDR_REQ#

Request for radio set network address.

enumerator DB_IPC_RADIO_RX_REQ#

Request for radio rx.

enumerator DB_IPC_RADIO_DIS_REQ#

Request for radio disable.

enumerator DB_IPC_RADIO_TX_REQ#

Request for radio tx.

enumerator DB_IPC_RADIO_RSSI_REQ#

Request for RSSI.

enumerator DB_IPC_RNG_INIT_REQ#

Request for rng init.

enumerator DB_IPC_RNG_READ_REQ#

Request for rng read.

enum ipc_channels_t#

Values:

enumerator DB_IPC_CHAN_REQ#

Channel used for request events.

enumerator DB_IPC_CHAN_RADIO_RX#

Channel used for radio RX events.

Functions

static inline void mutex_lock(void)#

Lock the mutex, blocks until the mutex is locked.

static inline void mutex_unlock(void)#

Unlock the mutex, has no effect if the mutex is already unlocked.

Variables

ipc_shared_data_t ipc_shared_data#

Variable in RAM containing the shared data structure.

struct ipc_radio_pdu_t#

Public Members

uint8_t length#

Length of the pdu in bytes.

uint8_t buffer[UINT8_MAX]#

Buffer containing the pdu data.

struct ipc_radio_data_t#

Public Members

db_radio_ble_mode_t mode#

db_radio_init function parameters

uint8_t frequency#

db_set_frequency function parameters

uint8_t channel#

db_set_channel function parameters

uint32_t addr#

db_set_network_address function parameters

ipc_radio_pdu_t tx_pdu#

PDU to send.

ipc_radio_pdu_t rx_pdu#

Received pdu.

int8_t rssi#

RSSI value.

struct ipc_rng_data_t#

Public Members

uint8_t value#

Byte containing the random value read.

struct ipc_shared_data_t#

Public Members

bool net_ready#

Network core is ready.

bool net_ack#

Network core acked the latest request.

ipc_req_t req#

IPC network request.

ipc_radio_data_t radio#

Radio shared data.

ipc_rng_data_t rng#

Rng share data.