ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_net_provision.h
Go to the documentation of this file.
1
19
20#pragma once
21
22#include <stddef.h>
23#include <stdint.h>
24
25#include "ra8_err.h"
26
52
83
91typedef ra8_err_t (*ra8_net_provision_uart_write_fn)(const uint8_t* data, size_t length);
92
102 size_t capacity,
103 size_t* out_length);
104
111typedef void (*ra8_net_provision_wait_fn)(uint32_t delay_ms);
112
135
144extern const char k_ra8_net_provision_ready_prompt[];
145
175[[nodiscard]] ra8_err_t
176ra8_net_provision_parse(const uint8_t* line, size_t line_length, ra8_net_credentials_t* out);
177
210 uint32_t timeout_ms,
212
-proof
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
void(* ra8_net_provision_wait_fn)(uint32_t delay_ms)
Injected millisecond wait used between incomplete UART polls.
struct ra8_net_credentials ra8_net_credentials_t
ra8_err_t(* ra8_net_provision_uart_write_fn)(const uint8_t *data, size_t length)
Injected UART write operation.
struct ra8_net_provision_uart ra8_net_provision_uart_t
ra8_err_t ra8_net_provision_parse(const uint8_t *line, size_t line_length, ra8_net_credentials_t *out)
Parse one complete version-one ASCII-hex provisioning line.
const char k_ra8_net_provision_ready_prompt[]
Exact non-secret line emitted before the receiver drains UART input.
ra8_net_provision_limit_t
Static bounds for the version-one provisioning protocol.
@ k_ra8_net_provision_timeout_ms_max
Longest accepted receive timeout.
@ k_ra8_net_provision_psk_bytes_max
Maximum decoded PSK text bytes.
@ k_ra8_net_provision_timeout_ms
Standard application RX timeout.
@ k_ra8_net_provision_ssid_bytes_max
Maximum decoded SSID bytes.
@ k_ra8_net_provision_line_bytes_max
Longest complete encoded line.
@ k_ra8_net_provision_prefix_bytes
Bytes in RA8NET1:.
@ k_ra8_net_provision_url_bytes_max
Maximum decoded optional URL.
ra8_err_t ra8_net_provision_receive(const ra8_net_provision_uart_t *uart, uint32_t timeout_ms, ra8_net_credentials_t *out)
Prompt once and receive one provisioning line within a fixed timeout.
ra8_err_t(* ra8_net_provision_uart_read_fn)(uint8_t *data, size_t capacity, size_t *out_length)
Injected non-blocking UART read operation.
void ra8_net_provision_clear(ra8_net_credentials_t *credentials)
Explicitly erase one decoded credential record.
Decoded runtime network configuration.
uint8_t psk_len
Decoded PSK bytes, excluding the NUL.
char psk[k_ra8_net_provision_psk_bytes_max+1U]
NUL-terminated PSK storage.
uint16_t url_len
Decoded URL bytes, excluding the NUL.
char url[k_ra8_net_provision_url_bytes_max+1U]
NUL-terminated optional URL storage.
uint8_t ssid_len
Decoded SSID bytes, excluding the NUL.
char ssid[k_ra8_net_provision_ssid_bytes_max+1U]
NUL-terminated SSID storage.
UART and pacing operations used by the bounded receiver.
ra8_net_provision_uart_read_fn read
Non-blocking input drain.
ra8_net_provision_wait_fn wait_ms
Incomplete-poll pacing operation.