ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
wifi_hal_join.h
Go to the documentation of this file.
1
22
23#pragma once
24
25#include <stdint.h>
26
27#include "ra8_err.h"
28#include "ra8_wifi.h"
29
60
86
118
139
149extern const char k_wifi_hal_pass_line[];
150
158extern const char k_wifi_hal_fail_line[];
159
194
222
259[[nodiscard]] bool wifi_hal_join_run(const wifi_hal_run_cfg_t* cfg, wifi_hal_result_t* out);
260
298[[nodiscard]] ra8_err_t
299wifi_hal_ip_bind(void* ip_ctx, const ra8_wifi_mac_t* mac, ra8_wifi_lease_t* out);
300
316void wifi_hal_puts(const char* text);
317
332void wifi_hal_put_u32(uint32_t value);
333
349void wifi_hal_put_hex(uint32_t value, uint8_t digits);
350
365void wifi_hal_put_ip(uint32_t ip);
366
381void wifi_hal_put_mac(const ra8_wifi_mac_t* mac);
382
398void wifi_hal_print_banner(uint32_t cpuclk_hz, uint32_t pclka_hz);
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
A small, uniform Wi-Fi facade: init, connect, get an IP, disconnect.
struct ra8_wifi_ap ra8_wifi_ap_t
struct ra8_wifi_mac ra8_wifi_mac_t
struct ra8_wifi_lease ra8_wifi_lease_t
struct ra8_wifi ra8_wifi_t
struct ra8_wifi_cfg ra8_wifi_cfg_t
The observable outcome of one wifi_hal_join_run, for the banner and the host test.
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.
Injected dependencies for the hardware-free wifi_hal_join_run.
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".
const char k_wifi_hal_pass_line[]
The exact PASS line the run prints; the HIL gate keys on it.
wifi_hal_ip_shift_t
Bit shifts that pick each octet out of a packed IPv4 address.
@ k_wifi_hal_ip_shift_1
Shift for the second octet.
@ k_wifi_hal_ip_shift_0
Shift for the first (highest) octet.
@ k_wifi_hal_ip_shift_3
Shift for the fourth (lowest) octet.
@ k_wifi_hal_ip_shift_2
Shift for the third octet.
wifi_hal_fmt_t
Widths the bounded console formatters work to.
@ k_wifi_hal_hex_byte
Hex digits printed for a byte-wide field.
@ k_wifi_hal_dec_digits
Digits in the widest 32-bit decimal value.
@ k_wifi_hal_ip_mask
Single-octet mask for IPv4 formatting.
@ k_wifi_hal_hex_bits
Bits per hexadecimal digit.
@ k_wifi_hal_hex_digits
Digits in the widest 32-bit hex value.
@ k_wifi_hal_hex_alpha
First nibble value spelled with a letter.
@ k_wifi_hal_dec_radix
Decimal radix.
@ k_wifi_hal_hex_mask
Nibble mask.
@ k_wifi_hal_ip_octets
Octets in an IPv4 address.
@ k_wifi_hal_str_max
Longest string the console helper emits.
void wifi_hal_put_ip(uint32_t ip)
Write a packed IPv4 address as a dotted quad.
void wifi_hal_puts(const char *text)
Write a NUL-terminated string to the console, bounded.
void wifi_hal_print_banner(uint32_t cpuclk_hz, uint32_t pclka_hz)
Print the start-up banner naming the clocks and the link geometry.
void wifi_hal_put_mac(const ra8_wifi_mac_t *mac)
Write a station MAC as colon-separated hex octets.
struct wifi_hal_run_cfg wifi_hal_run_cfg_t
wifi_hal_cfg_t
Clocking, pacing and RAM budgets the application sets.
@ k_wifi_hal_worker_prio
Worker priority and preemption cap.
@ k_wifi_hal_boot_wait_ms
Settling delay before the first frame.
@ k_wifi_hal_worker_stack
Worker-thread stack, in bytes.
@ k_wifi_hal_sck_hz
SPI bit rate; the rate silicon ran at.
@ k_wifi_hal_uart_baud
Console rate over the J-Link OB VCOM.
@ k_wifi_hal_heartbeat_ms
Heartbeat gap after the verdict.
@ k_wifi_hal_arena_bytes
Decode arena handed to the facade.
@ k_wifi_hal_edge_poll_ms
Poll period for a side-band pin.
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.
void wifi_hal_put_u32(uint32_t value)
Write an unsigned 32-bit value in decimal.
void wifi_hal_put_hex(uint32_t value, uint8_t digits)
Write the low digits nibbles of a value in hexadecimal.
ra8_err_t wifi_hal_ip_bind(void *ip_ctx, const ra8_wifi_mac_t *mac, ra8_wifi_lease_t *out)
The application's IP provider: a NetX Duo DHCP client to a lease.
wifi_hal_wait_t
How long the application waits at each blocking step.
@ k_wifi_hal_dhcp_wait_ms
DHCP lease wait budget, ticks.
@ k_wifi_hal_assoc_gap_ms
Gap between association polls.
@ k_wifi_hal_assoc_polls
Extra association polls after connect.
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.