rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
mo_state_t Struct Reference

MOTOR & ESC's LIVE state: the plot, the throttle slider and the bench's report, the ARM gate, the knob's pending command, the revisions each frame buffer last drew and the touches tracked. More...

#include <motor_live_int.h>

Data Fields

ui_plot_t plot
ui_slider_t slider
ui_tabs_t tabs
bench_state_t bench
ui_value_gate_t gate
 Whether the throttle follows its controls; gate.armed is what the ARM button reads.
motor_cmd_t pending
bool knob_pending
 Whether the knob's throttle command waits in pending.
bool knob_had_cmd
 Whether a throttle was pending before the knob moved.
float knob_prev
bool knob_finger
 Whether a finger owned the slider since knob_frame().
unsigned drawn_mask
 Bit per frame buffer: its title and strip were drawn.
bool bench_armed
uint32_t drawn_push [2]
 Push count last painted into each frame buffer; UINT32_MAX for none.
uint32_t drawn_plot [2]
uint8_t drawn_title [2]
 Telemetry tag last painted into each frame buffer; 0xFF for none.
uint32_t ctrl_rev
uint32_t drawn_ctrl [2]
uint32_t thr_rev
uint32_t drawn_thr [2]
uint32_t arm_rev
uint32_t drawn_arm [2]
int esc_kv
uint64_t thr_pins
bool thr_pins_known
uint8_t thr_proto
 Protocol they are bound as: an outbind_protos() index, 0 for none known, MOTOR_PROTO_MIXED for several.
uint32_t thr_ports_rev
 Port_view_revision() when the TARGET row last named the DShot programming ports.
uint32_t drawn_strip [2]
uint32_t drawn_page [2]
 SETTINGS page revision last painted into each frame buffer.
bool target_locked
bool drawn_sess_shown [2]
 Whether PROGRAM's session was shown in each frame buffer.
uint32_t drawn_sess [2]
uint32_t drawn_ostrip [2]
 The output strip's text signature in each frame buffer.
bool pk_ok [S_COUNT]
ui_hold_t arm
bool kst_held
bool no_pin
gfx_rect_t arm_rect
gfx_rect_t reset_rect
gfx_rect_t down_rect
gfx_rect_t up_rect
int pressed
uint8_t press_id
bool have_press

Detailed Description

MOTOR & ESC's LIVE state: the plot, the throttle slider and the bench's report, the ARM gate, the knob's pending command, the revisions each frame buffer last drew and the touches tracked.

Field Documentation

◆ arm

ui_hold_t mo_state_t::arm

the ARM gesture: ui_widgets owns it

◆ arm_rect

gfx_rect_t mo_state_t::arm_rect

ARM and DISARM

◆ arm_rev

uint32_t mo_state_t::arm_rev

revision of the ARM button, which animates

◆ bench

bench_state_t mo_state_t::bench

the bench's report

◆ bench_armed

bool mo_state_t::bench_armed

arm state of the bench itself, which bounds a run

◆ ctrl_rev

uint32_t mo_state_t::ctrl_rev

revision of the buttons and the tab row

◆ down_rect

gfx_rect_t mo_state_t::down_rect

one percentage point down

◆ drawn_arm

uint32_t mo_state_t::drawn_arm[2]

arm_rev last painted into each frame buffer

◆ drawn_ctrl

uint32_t mo_state_t::drawn_ctrl[2]

ctrl_rev last painted into each frame buffer

◆ drawn_plot

uint32_t mo_state_t::drawn_plot[2]

plot revision last painted into each frame buffer

◆ drawn_sess

uint32_t mo_state_t::drawn_sess[2]

the session's revision in each frame buffer

◆ drawn_strip

uint32_t mo_state_t::drawn_strip[2]

strip revision last painted into each frame buffer

◆ drawn_thr

uint32_t mo_state_t::drawn_thr[2]

thr_rev last painted into each frame buffer

◆ esc_kv

int mo_state_t::esc_kv

as reported by the ESC, 0 if it does not

◆ have_press

bool mo_state_t::have_press

whether a press is on the glass

◆ knob_prev

float mo_state_t::knob_prev

slider value before the knob moved it

◆ kst_held

bool mo_state_t::kst_held

the servo programmer holds a port

◆ no_pin

bool mo_state_t::no_pin

the binding is read, with no motor pin

◆ pending

motor_cmd_t mo_state_t::pending

the command waiting for the application

◆ pk_ok

bool mo_state_t::pk_ok[S_COUNT]

per channel: whether its peak is a measurement

◆ plot

ui_plot_t mo_state_t::plot

plot of volts, amps, power and RPM

◆ press_id

uint8_t mo_state_t::press_id

touch id of the press

◆ pressed

int mo_state_t::pressed

0 none, 1 arm, 2 reset, 3 -1, 4 +1

◆ reset_rect

gfx_rect_t mo_state_t::reset_rect

RESET PEAKS

◆ slider

ui_slider_t mo_state_t::slider

throttle slider

◆ tabs

ui_tabs_t mo_state_t::tabs

PLOT | TABLE tabs

◆ target_locked

bool mo_state_t::target_locked

whether the TARGET row was drawn locked

◆ thr_pins

uint64_t mo_state_t::thr_pins

GPIOs bound as throttle, bit n for GPIO n

◆ thr_pins_known

bool mo_state_t::thr_pins_known

whether a binding was read

◆ thr_rev

uint32_t mo_state_t::thr_rev

revision of the throttle's readout and track

◆ up_rect

gfx_rect_t mo_state_t::up_rect

and one up


The documentation for this struct was generated from the following file: