31 "wifi_hal: PASS ra8_wifi joined the bench Wi-Fi and DHCP leased an address\r\n";
33 "wifi_hal: FAIL Wi-Fi join to a DHCP lease did not complete\r\n";
55 for (uint32_t i = 0U; i < budget; i++) {
80 if ((cfg ==
nullptr) || (cfg->
wifi ==
nullptr) || (cfg->
wifi_cfg ==
nullptr) ||
81 (cfg->
ssid ==
nullptr)) {
91 if (cfg->
ssid[0] ==
'\0') {
Error Code Definitions for ra8-firmware.
@ k_ra8_err_not_initialized
Module not initialized – _init() not yet called successfully.
@ k_ra8_ok
Success – operation completed with all postconditions satisfied.
A small, uniform Wi-Fi facade: init, connect, get an IP, disconnect.
ra8_err_t ra8_wifi_init(ra8_wifi_t *wifi, const ra8_wifi_cfg_t *cfg)
Bring the radio and its link up and make a handle usable.
ra8_err_t ra8_wifi_get_mac(ra8_wifi_t *wifi, ra8_wifi_mac_t *out)
Read the station's own MAC address.
ra8_err_t ra8_wifi_get_ap(ra8_wifi_t *wifi, ra8_wifi_ap_t *out)
Read what the backend knows about the associated AP.
struct ra8_wifi ra8_wifi_t
ra8_err_t ra8_wifi_wait_ip(ra8_wifi_t *wifi, ra8_wifi_lease_t *out)
Obtain an IP address for the associated station, blocking until bound.
ra8_wifi_link_t
The instantaneous association state a backend reports.
@ k_ra8_wifi_link_down
Station is not associated.
ra8_err_t ra8_wifi_status(const ra8_wifi_t *wifi, ra8_wifi_status_t *out)
Read a handle's cached status without touching the wire.
struct ra8_wifi_status ra8_wifi_status_t
ra8_err_t ra8_wifi_connect(ra8_wifi_t *wifi, const char *ssid, const char *psk)
Join a network by SSID and passphrase, blocking until associated.
ra8_err_t ra8_wifi_poll(ra8_wifi_t *wifi, ra8_wifi_link_t *out)
Service the link once and refresh the cached association state.
bool associated
The station is joined.
ra8_wifi_lease_t lease
The DHCP lease, once bound.
ra8_wifi_ap_t ap
AP record, once associated.
ra8_err_t init_err
What ra8_wifi_init returned.
bool passed
The whole journey completed.
bool associated
The station joined the network.
bool ip_bound
A DHCP lease was obtained.
ra8_wifi_mac_t mac
Station MAC, once associated.
ra8_err_t ip_err
What ra8_wifi_wait_ip returned.
ra8_err_t connect_err
What ra8_wifi_connect returned.
bool init_ok
The facade initialised.
const char * psk
Passphrase, or null for an open network.
uint32_t poll_budget
Association poll attempts after connect.
ra8_wifi_t * wifi
Caller-allocated facade handle.
const ra8_wifi_cfg_t * wifi_cfg
Facade config: backend + ip provider.
const char * ssid
Target SSID; empty means "no creds".
static bool wifi_hal_settle(ra8_wifi_t *wifi, uint32_t budget)
Poll the Wi-Fi facade until association or budget exhaustion.
bool wifi_hal_join_run(const wifi_hal_run_cfg_t *cfg, wifi_hal_result_t *out)
The example's whole network journey, hardware-free: init, join, DHCP.
Constants, console formatters and the DHCP provider for the HAL join.
const char k_wifi_hal_pass_line[]
The exact PASS line the run prints; the HIL gate keys on it.
struct wifi_hal_run_cfg wifi_hal_run_cfg_t
struct wifi_hal_result wifi_hal_result_t
const char k_wifi_hal_fail_line[]
The summary FAIL line the run prints when it did not reach an IP.