58typedef enum : uint16_t {
72typedef enum : uint8_t {
109 const uint8_t* params,
122typedef void (*
ra8_ble_acl_fn_t)(
void* ctx, uint16_t handle,
const uint8_t* payload, uint16_t len);
ra8_err_t ra8_ble_open(const ra8_ble_config_t *cfg)
Power up the BLE controller and open the HCI mailbox.
ra8_err_t ra8_ble_attach_event_handler(ra8_ble_event_fn_t fn, void *ctx)
Register a handler for inbound HCI events.
ra8_err_t ra8_ble_set_advertising_data(const uint8_t *data, uint8_t len)
Send LE_Set_Advertising_Data (opcode 0x2008).
void(* ra8_ble_acl_fn_t)(void *ctx, uint16_t handle, const uint8_t *payload, uint16_t len)
Fired when an HCI ACL data packet has been received.
ra8_ble_hci_pkt_t
H4 HCI packet-type indicator bytes (Bluetooth Core 5.3 Vol 4 Part A 2).
@ k_ra8_ble_pkt_cmd
HCI command packet indicator.
@ k_ra8_ble_pkt_event
HCI event packet indicator.
@ k_ra8_ble_pkt_acl_data
HCI ACL data packet indicator.
ra8_err_t ra8_ble_set_random_address(const uint8_t addr[k_ra8_ble_addr_bytes])
Send LE_Set_Random_Address (opcode 0x2005).
ra8_err_t ra8_ble_set_advertising_enable(uint8_t enable)
Send LE_Set_Advertising_Enable (opcode 0x200A).
ra8_err_t ra8_ble_close(void)
Close the HCI mailbox and put the controller back in reset.
void(* ra8_ble_event_fn_t)(void *ctx, uint8_t evt_code, const uint8_t *params, uint8_t params_len)
Fired when an HCI event packet has been received.
ra8_err_t ra8_ble_attach_acl_handler(ra8_ble_acl_fn_t fn, void *ctx)
Register a handler for inbound HCI ACL data.
ra8_ble_limits_t
Driver-side packet bounds.
@ k_ra8_ble_adv_data_max
Legacy advertising-data byte cap.
@ k_ra8_ble_max_evt_params
HCI event max parameter byte count.
@ k_ra8_ble_max_cmd_params
HCI command max parameter byte count.
@ k_ra8_ble_max_acl_payload
LE Data Length Extension default cap.
@ k_ra8_ble_addr_bytes
48-bit BD_ADDR length.
ra8_err_t ra8_ble_scan_start(uint8_t active, uint16_t interval, uint16_t window)
Send LE_Set_Scan_Parameters then LE_Set_Scan_Enable.
ra8_err_t ra8_ble_hci_send_command(uint16_t opcode, const uint8_t *params, uint8_t params_len)
Emit an HCI command packet.
ra8_err_t ra8_ble_hci_send_acl_data(uint16_t handle, const uint8_t *payload, uint16_t len)
Emit an HCI ACL data packet.
ra8_err_t ra8_ble_dispatch(void)
Pump the HCI receive path – call from ISR or main loop.
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Configuration passed to ra8_ble_open.
uint8_t deep_sleep_enable
1 = allow controller deep-sleep.
uint8_t use_external_osc
1 = drive radio from external 32 MHz xtal.