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

Data Fields

bool link_up
bool armed
uint8_t armed_roles
uint16_t faults
uint32_t run_seconds
const char * mode
bool simulated
uint16_t capabilities
uint32_t link_errors
uint32_t link_refused
float mcu_temp_c

Field Documentation

◆ armed_roles

uint8_t ui_bench_status_t::armed_roles

UI_ARMED_* bits while armed. One of them names the role on the chip, ARMED MOTOR or ARMED SERVO; both, or none, read ARMED: every output.

◆ faults

uint16_t ui_bench_status_t::faults

a link_fault_t bitmap; 0 is quiet

◆ link_errors

uint32_t ui_bench_status_t::link_errors

Link errors since boot: the IOmcu's CRC (cyclic redundancy check) failures and resyncs added together. Zero is a clean bus.

◆ link_refused

uint32_t ui_bench_status_t::link_refused

CAN frames the IOmcu refused to decode since its power-up, modulo 2^32: STATUS registers 8 and 9, protocol 4.21. 0 for an IOmcu older than 4.21, which does not count them, and until the first status read after a link-up.

◆ mcu_temp_c

float ui_bench_status_t::mcu_temp_c

The panel's own die temperature in degrees Celsius, or NAN when it is not read. The panel's, not the IOmcu's: the two boards run at different temperatures and this one is the display's.

◆ mode

const char* ui_bench_status_t::mode

ui_band_mode(): BENCH or SIM, or NULL

◆ simulated

bool ui_bench_status_t::simulated

The numbers are modelled, not measured.

Set when the bench numbers come from the panel's own simulator, which runs only while no IOmcu answers. An IOmcu that answers reports what it can see and nothing else, so the flag it sends (LINK_BN_SIMULATED) is never set by this firmware; the field it has no source for is empty instead. The router draws SIMULATION across the whole screen while this is set, and no screen can opt out.


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