|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
The ESP32-C6 backend for the ra8_wifi facade, over ra8_c6link. More...
Go to the source code of this file.
Data Structures | |
| struct | ra8_wifi_c6link_cfg |
| What ra8_wifi_c6link_setup needs to wire this backend to a link. More... | |
| struct | ra8_wifi_c6link |
| Caller-allocated backend context for the ESP32-C6 radio. More... | |
Typedefs | |
| typedef struct ra8_wifi_c6link_cfg | ra8_wifi_c6link_cfg_t |
| typedef struct ra8_wifi_c6link | ra8_wifi_c6link_t |
Functions | |
| ra8_err_t | ra8_wifi_c6link_setup (ra8_wifi_c6link_t *self, const ra8_wifi_c6link_cfg_t *cfg, ra8_wifi_cfg_t *out_wcfg) |
| Wire this backend into the backend half of an ra8_wifi_cfg_t. | |
Variables | |
| const ra8_wifi_backend_t | k_ra8_wifi_backend_c6link |
| The ESP32-C6 ra8_wifi_backend_t, exported for ra8_wifi_cfg::backend. | |
The ESP32-C6 backend for the ra8_wifi facade, over ra8_c6link.
The first ra8_wifi_backend_t. It maps each facade operation onto the ra8_c6link station calls and owns the event callback that turns the co-processor's asynchronous connect/disconnect announcements into the simple "associated / not associated" reading the facade asks for. Everything the facade is designed to hide – the RPC ids, the transaction pump, the interface index, the wifi_mode_t – stays on this side of the seam.
Definition in file ra8_wifi_c6link.h.
| typedef struct ra8_wifi_c6link_cfg ra8_wifi_c6link_cfg_t |
| typedef struct ra8_wifi_c6link ra8_wifi_c6link_t |
|
nodiscard |
Wire this backend into the backend half of an ra8_wifi_cfg_t.
Copies cfg into self, clears the event latches, and fills out_wcfg 's backend and backend_ctx. It leaves ip_bind and ip_ctx untouched so the application can set its IP provider on the same structure. No hardware is touched; the link is opened later, from ra8_wifi_init.
| [out] | self | Backend context to populate; must be non-null. |
| [in] | cfg | Backend configuration; must be non-null with a link and an arena of at least k_ra8_c6link_arena_min bytes. |
| [out] | out_wcfg | Facade configuration whose backend half is filled; must be non-null. |
| k_ra8_ok | out_wcfg selects this backend with self as context. |
| k_ra8_err_null_ptr | self, cfg, out_wcfg, or cfg->link was null. |
| k_ra8_err_invalid_size | cfg->arena_bytes is below k_ra8_c6link_arena_min. |
out_wcfg->backend is k_ra8_wifi_backend_c6link. out_wcfg is not modified.Definition at line 430 of file ra8_wifi_c6link.c.
References ra8_wifi_c6link::arena, ra8_wifi_c6link_cfg::arena, ra8_wifi_c6link::arena_bytes, ra8_wifi_c6link_cfg::arena_bytes, ra8_wifi_cfg::backend, ra8_wifi_cfg::backend_ctx, k_ra8_c6link_arena_min, k_ra8_err_invalid_size, k_ra8_ok, k_ra8_wifi_backend_c6link, ra8_wifi_c6link::link, ra8_wifi_c6link_cfg::link, RA8_CHECK_NULL_PTR, RA8_WIFI_C6_TAG, ra8_wifi_c6link::rx_cb, ra8_wifi_c6link_cfg::rx_cb, ra8_wifi_c6link::transport, and ra8_wifi_c6link_cfg::transport.
Referenced by wifi_hal_make_cfg().
|
extern |
The ESP32-C6 ra8_wifi_backend_t, exported for ra8_wifi_cfg::backend.
The one ESP32-C6 backend table; see the header for the contract.
A single const table shared by every handle that runs on the co-processor. Applications take its address through ra8_wifi_c6link_setup rather than naming it directly, but it is exported so a test or a bespoke wiring can reference it.
Every row points at a translation-unit-local mapping above.
Definition at line 417 of file ra8_wifi_c6link.c.
Referenced by ra8_wifi_c6link_setup().