|
rcbench
Servo and ESC test bench: panel, IOmcu and shared C
|
#include <prog_registry.h>
Data Fields | |
| void(*) | init (gfx_rect_t area) |
| void(*) | entry (void) |
| void(*) | open (void) |
| bool(*) | is_open (void) |
| void(*) | back (void) |
| bool(*) | holds_port (void) |
| void(*) | armed (bool armed) |
| void(*) | tick (float dt_s) |
| bool(*) | has_press (uint8_t id) |
| void(*) | event (const touch_event_t *evt) |
| void(*) | render (gfx_canvas_t *c) |
| uint32_t(*) | revision (void) |
| uint32_t(*) | hold_revision (void) |
| gfx_rect_t(*) | hold_rect (void) |
| void(*) | leave (void) |
| void(*) | cancel (void) |
| uint8_t(*) | pin (void) |
| bool(*) | safe_at (int x, int y) |
A session's hooks, in ui_screen_t's shape: the host screen opens it over its left column, routes its touches and draws it while it is open, and tells it of the host's entry, leave, lost touches and the bench's arm. Every hook is required.
| void(*) prog_page_set_t::armed(bool armed) |
The bench is armed or asked to arm.
| void(*) prog_page_set_t::back(void) |
The home tag or BACK in the session: an editor open in it closes; otherwise the session closes, or, while it holds its port, asks for the way back first (KST LEAVE) and stays.
| void(*) prog_page_set_t::cancel(void) |
Touch events were lost.
| void(*) prog_page_set_t::entry(void) |
The host screen was entered.
| uint32_t(*) prog_page_set_t::hold_revision(void) |
Changes while a hold fills; hold_rect() is where.
| bool(*) prog_page_set_t::holds_port(void) |
The session holds its port: it stays open, and no other row on the port opens.
| void(*) prog_page_set_t::init(gfx_rect_t area) |
Start over: closed, nothing held, laid out in area.
| void(*) prog_page_set_t::leave(void) |
The host screen is left: presses and editors go, the port stays.
| uint8_t(*) prog_page_set_t::pin(void) |
The GPIO the session's port drives, or PROG_REG_NO_PIN.
| uint32_t(*) prog_page_set_t::revision(void) |
Changes whenever a render would show something else.
| bool(*) prog_page_set_t::safe_at(int x, int y) |
A press coming down at (x, y), in the host screen's coordinates, lands on a control of the session that stops what the bench drives and acts on it now; see ui_screen_t's safe_at.