rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
panel_main.h File Reference

What main.c shares with the four files split from it. More...

#include <stdatomic.h>
#include <stdbool.h>
#include "panel.h"
#include "settings.h"

Go to the source code of this file.

Functions

bool bring_up (void)
 Bring the board up and report each step to the splash.
void settings_changed (setting_id_t id)
 The settings model's observer for values: hands the changed one to the code that follows it.
void publish_log_folder (setting_text_id_t id)
 The settings model's observer for texts: hands a log folder to the log writer.
void publish_poles (void)
 Each value once, at the start-up, whatever the observer was told.
void publish_endpoints (void)
 Publishes the throttle's pulse endpoints (Idle pulse, Full pulse) to the control task.
void publish_pdmini (void)
 Publishes the PD mini's wiring to the control task.
void publish_tone (void)
 Publishes the phase tap's set-up to the control task.
void publish_log_auto (void)
 Publishes the AUTO LOGS setting to the control task.
void publish_hitec_rx (void)
 Publishes the Hitec receive set-up to the control task.
void publish_time_zone (void)
 The time zone setting to the C library: setenv("TZ") and tzset(), so FatFs's file stamps and localtime() read it from the next call. At the start-up before the card mounts.
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, crystal or RC fallback, and the time kept across a software restart, or "not set" after a power-on.
void heartbeat_init (void)
 Set the heartbeat's pin up as an output, low.
void tsens_init (void)
 Start the die temperature sensor.
void control_task (void *arg)
 The control task; app_main creates it on core 1.
void panel_frame_loop (void)
 The render loop. Does not return.

Variables

bool s_bus_ok
 The start-up's CAN (Controller Area Network) echo test passed; until it says otherwise, true.
bool s_touch_ok
 touch_init() answered.
char s_boot_alert [ALERT_MAX]
 What the start check found, for the band once the splash has gone.
atomic_bool s_log_auto
 AUTO LOGS, for the control task's log_follow_runs() (main.c).
atomic_bool s_stop_live
 Whether a STOP is drawn to press, from the render loop to the control task's hit test.

Detailed Description

What main.c shares with the four files split from it.

The four files: the start-up (panel_boot.c), the settings the control task follows (panel_settings.c), the control task (panel_control.c) and the render loop (panel_frame.c). Everything else the panel's files share is in panel.h.

SPDX-License-Identifier: MIT

Function Documentation

◆ bring_up()

bool bring_up ( void )

Bring the board up and report each step to the splash.

Returns
false when a step the bench cannot run without failed (no display, no touch, an IOmcu that speaks another protocol); the splash names it.

◆ control_task()

void control_task ( void * arg)

The control task; app_main creates it on core 1.

Parameters
argUnused.

◆ panel_frame_loop()

void panel_frame_loop ( void )

The render loop. Does not return.

The render loop (panel_main.h). Does not return.

The render loop. Does not return.

◆ publish_hitec_rx()

void publish_hitec_rx ( void )

Publishes the Hitec receive set-up to the control task.

Hitec D receive to the control task (s_hitec_rx_want), at the load and at every edit, so the first write after a link-up is the kept mode.

Publishes the Hitec receive set-up to the control task.

◆ publish_log_folder()

void publish_log_folder ( setting_text_id_t id)

The settings model's observer for texts: hands a log folder to the log writer.

Parameters
idThe text setting that changed.

◆ publish_pdmini()

void publish_pdmini ( void )

Publishes the PD mini's wiring to the control task.

The PD mini's wiring, as the settings screen left it; see s_pdmini_wiring.

Publishes the PD mini's wiring to the control task.

◆ settings_changed()

void settings_changed ( setting_id_t id)

The settings model's observer for values: hands the changed one to the code that follows it.

Parameters
idThe setting that changed.

Variable Documentation

◆ s_bus_ok

bool s_bus_ok
extern

The start-up's CAN (Controller Area Network) echo test passed; until it says otherwise, true.

whether the CAN self-test passed

◆ s_touch_ok

bool s_touch_ok
extern

touch_init() answered.

whether touch_init() answered