rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
panel_main.h
Go to the documentation of this file.
1
13#pragma once
14
15#include <stdatomic.h>
16#include <stdbool.h>
17
18#include "panel.h"
19#include "settings.h"
20
21/* ------------------------------------------------------------ panel_boot.c */
22
29bool bring_up(void);
30
33extern bool s_bus_ok;
35extern bool s_touch_ok;
38extern char s_boot_alert[ALERT_MAX];
39
40/* -------------------------------------------------------- panel_settings.c */
41
48
55
58void publish_poles(void);
63void publish_endpoints(void);
65void publish_pdmini(void);
67void publish_tone(void);
69void publish_log_auto(void);
71void publish_hitec_rx(void);
77void publish_time_zone(void);
84void log_clock_at_start(void);
85
88extern atomic_bool s_log_auto;
89
90/* --------------------------------------------------------- panel_control.c */
91
93void heartbeat_init(void);
94
96void tsens_init(void);
97
102void control_task(void *arg);
103
106extern atomic_bool s_stop_live;
107
108/* ----------------------------------------------------------- panel_frame.c */
109
111void panel_frame_loop(void);
What the panel's files share: firmware/panel/main/main.c and the files cut from it....
bool bring_up(void)
Bring the board up and report each step to the splash.
Definition panel_boot.c:123
bool s_touch_ok
touch_init() answered.
Definition panel_boot.c:62
bool s_bus_ok
The start-up's CAN (Controller Area Network) echo test passed; until it says otherwise,...
Definition panel_boot.c:61
char s_boot_alert[ALERT_MAX]
What the start check found, for the band once the splash has gone.
Definition panel_boot.c:65
void tsens_init(void)
Start the die temperature sensor.
Definition panel_control.c:90
void control_task(void *arg)
The control task; app_main creates it on core 1.
Definition panel_control.c:411
void heartbeat_init(void)
Set the heartbeat's pin up as an output, low.
Definition panel_control.c:58
atomic_bool s_stop_live
Whether a STOP is drawn to press, from the render loop to the control task's hit test.
Definition panel_control.c:121
void panel_frame_loop(void)
The render loop (panel_main.h). Does not return.
Definition panel_frame.c:75
void log_clock_at_start(void)
Two console lines at the start-up on the clock: the slow clock the RTC (real-time clock) timer counts...
Definition panel_settings.c:235
void publish_time_zone(void)
The time zone setting to the C library: setenv("TZ") and tzset(), so FatFs's file stamps and localtim...
Definition panel_settings.c:196
void publish_hitec_rx(void)
Publishes the Hitec receive set-up to the control task.
Definition panel_settings.c:180
void publish_poles(void)
Each value once, at the start-up, whatever the observer was told.
Definition panel_settings.c:50
void publish_endpoints(void)
Publishes the throttle's pulse endpoints (Idle pulse, Full pulse) to the control task.
Definition panel_settings.c:79
void publish_pdmini(void)
Publishes the PD mini's wiring to the control task.
Definition panel_settings.c:90
void publish_log_auto(void)
Publishes the AUTO LOGS setting to the control task.
Definition panel_settings.c:151
void publish_log_folder(setting_text_id_t id)
The settings model's observer for texts: hands a log folder to the log writer.
Definition panel_settings.c:162
void publish_tone(void)
Publishes the phase tap's set-up to the control task.
Definition panel_settings.c:115
atomic_bool s_log_auto
AUTO LOGS, for the control task's log_follow_runs() (main.c).
Definition panel_settings.c:149
void settings_changed(setting_id_t id)
The settings model's observer for values: hands the changed one to the code that follows it.
Definition panel_settings.c:260
Device settings: a typed schema, a value per entry, and a persistence seam.
setting_id_t
Every setting's id, in schema order.
Definition settings.h:67
setting_text_id_t
Definition settings.h:230