ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
c6_camera_server.h
Go to the documentation of this file.
1
14
15#pragma once
16
17#include <stdint.h>
18
19#include "ra8_c6link.h"
20#include "ra8_err.h"
21
46
48typedef struct {
49 uint32_t ip;
50 uint32_t mask;
51 uint32_t gateway;
52 uint32_t dhcp_server;
53 bool bound;
55
57typedef struct {
58 uint32_t timestamp_ms;
59 uint32_t capture_ms;
60 uint32_t convert_ms;
61 uint32_t encode_ms;
63
65[[nodiscard]] int32_t c6_cam_app_run(void);
66
68[[nodiscard]] ra8_err_t c6_cam_camera_init(void);
69[[nodiscard]] ra8_err_t c6_cam_camera_capture_jpeg(const uint8_t** out_jpeg,
70 uint32_t* out_bytes,
71 c6_cam_frame_timing_t* out_timing);
73[[nodiscard]] const char* c6_cam_camera_description(void);
85
87[[nodiscard]] ra8_err_t c6_cam_audio_start(void);
88
90[[nodiscard]] ra8_err_t
91c6_cam_audio_snapshot_wav(const uint8_t** out_wav, uint32_t* out_bytes, uint32_t* out_timestamp_ms);
92
94[[nodiscard]] ra8_err_t
96
98[[noreturn]] void c6_cam_http_serve(void);
99
111void c6_cam_puts(const char* text);
112
124void c6_cam_put_u32(uint32_t value);
125
137void c6_cam_put_ip(uint32_t ip);
void c6_cam_http_serve(void)
Serve the browser UI and fresh JPEG frames forever.
Definition c6_cam_net.c:550
void c6_cam_put_u32(uint32_t value)
Write one unsigned decimal value to SCI8.
ra8_err_t c6_cam_audio_snapshot_wav(const uint8_t **out_wav, uint32_t *out_bytes, uint32_t *out_timestamp_ms)
Snapshot the rolling microphone ring as mono PCM-S16LE WAV.
ra8_err_t c6_cam_camera_init(void)
Camera image and board-switch initialization, then one CEU capture.
c6_cam_cfg_t
Application sizing, pacing and fixed network values.
@ k_c6_cam_tcp_window
HTTP socket receive window.
@ k_c6_cam_arena_bytes
C6-link caller-owned arena size.
@ k_c6_cam_net_ip_stack
NetX IP thread stack bytes.
@ k_c6_cam_worker_prio
ThreadX worker priority.
@ k_c6_cam_uart_baud
Diagnostic console baud rate.
@ k_c6_cam_request_max
Maximum parsed request bytes.
@ k_c6_cam_net_pool_bytes
NetX packet pool bytes.
@ k_c6_cam_edge_poll_ms
C6 interrupt-edge poll period.
@ k_c6_cam_dhcp_wait_ms
DHCP lease timeout.
@ k_c6_cam_net_arp_bytes
NetX ARP cache bytes.
@ k_c6_cam_sck_hz
Camera-stream ESP-hosted SPI rate.
@ k_c6_cam_net_pkt_payload
NetX packet payload bytes.
@ k_c6_cam_assoc_polls
Maximum association status polls.
@ k_c6_cam_net_ip_prio
NetX IP thread priority.
@ k_c6_cam_listen_backlog
Single-client listen backlog.
@ k_c6_cam_assoc_gap_ms
Delay between association polls.
@ k_c6_cam_http_chunk
Maximum HTTP send chunk.
@ k_c6_cam_worker_stack
Worker thread stack bytes.
@ k_c6_cam_boot_wait_ms
C6 boot stabilization delay.
@ k_c6_cam_stream_frames
Frames served before client reconnect.
@ k_c6_cam_http_port
Browser server TCP port.
ra8_err_t c6_cam_audio_start(void)
Start continuous MIC1 capture into the SDRAM audio ring.
void c6_cam_put_ip(uint32_t ip)
Write one IPv4 address to SCI8.
ra8_err_t c6_cam_camera_capture_jpeg(const uint8_t **out_jpeg, uint32_t *out_bytes, c6_cam_frame_timing_t *out_timing)
ra8_err_t c6_cam_net_up(ra8_c6link_t *link, const ra8_c6link_mac_t *mac, c6_cam_lease_t *out)
Bind NetX to an associated raw C6 link and obtain a DHCP lease.
Definition c6_cam_net.c:107
int32_t c6_cam_app_run(void)
Run the shared runtime-provisioned C6, DHCP, and HTTP application flow.
Definition c6_cam_app.c:498
void c6_cam_puts(const char *text)
Write a bounded NUL-terminated string to SCI8.
void c6_cam_camera_report_last_error(void)
Emit backend-specific diagnostics for the last capture failure.
const char * c6_cam_camera_description(void)
Human-readable description of the selected camera backend.
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
Per-frame pipeline latency exposed in HTTP Server-Timing headers.
uint32_t convert_ms
Pixel conversion latency.
uint32_t timestamp_ms
Capture-start monotonic timestamp.
uint32_t capture_ms
Camera capture latency.
uint32_t encode_ms
Codec latency.
DHCP lease returned by the raw, bench-validated C6/NetX path.
bool bound
True after a lease is bound.
uint32_t dhcp_server
DHCP server IPv4 address.
uint32_t ip
Assigned IPv4 address.
uint32_t gateway
Assigned IPv4 default gateway.
uint32_t mask
Assigned IPv4 network mask.