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

A new build's first start, kept once the panel works as a whole. More...

#include <stdatomic.h>
#include <stdbool.h>
#include <stdint.h>

Go to the source code of this file.

Functions

void panel_trial_begin (bool ui_up)
 Settle the start's check at the display and touch step.
void panel_trial_mark (uint32_t steps)
 Record start-up steps (FW_TRIAL_CARD, FW_TRIAL_SETTINGS) from app_main.
void panel_trial_frame (bool flushed, bool quiet)
 Once per pass of the screen loop, after the flip: keep the build when fw_trial_poll() says so.

Variables

atomic_bool s_trial_control_ran
 The control task finished one pass; set by that task.
atomic_bool s_trial_logger_ran
 The logger task finished one pass; set by that task.

Detailed Description

A new build's first start, kept once the panel works as a whole.

The bootloader starts a new build once on trial; a panic, a watchdog reset, a restart or a power cut before the build is kept starts the build before it (CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE). The steps the keep waits for and its bound are shared/fwupdate/fw_trial.h's; this is where the panel reports them.

SPDX-License-Identifier: MIT

Function Documentation

◆ panel_trial_begin()

void panel_trial_begin ( bool ui_up)

Settle the start's check at the display and touch step.

Without the display or touch (ui_up false) a trial start goes back to the build before it here and does not return. A start that is no trial is settled here too: the band's line for a build that went back. A trial start with both up stays on trial until panel_trial_frame() keeps it.

Parameters
ui_upWhether the display and touch came up.

◆ panel_trial_frame()

void panel_trial_frame ( bool flushed,
bool quiet )

Once per pass of the screen loop, after the flip: keep the build when fw_trial_poll() says so.

Parameters
flushedWhether this pass's frame reached the display.
quietWhether the bench can take a flash write now (flash_gate_open(), as the settings save asks).

◆ panel_trial_mark()

void panel_trial_mark ( uint32_t steps)

Record start-up steps (FW_TRIAL_CARD, FW_TRIAL_SETTINGS) from app_main.

Parameters
stepsOne or more FW_TRIAL_* steps.