41 MOTOR_CMD_RESET_PEAKS,
120#define MOTOR_PROTO_MIXED 0xFFu
154 uint64_t pins,
bool known,
unsigned cells);
175 uint64_t pins,
bool known,
bool armed,
bool *warn);
220float motor_screen_throttle(
void);
257void motor_invalidate(
void);
The bench readings, in the units a person reads: V, A, W, rpm (revolutions per minute),...
The panel's half of the throttle's pulse endpoints, Idle pulse and Full pulse, on the CHAN_CFG (0x23)...
endpoints_block_t
Why a switch to ARMED is refused for the pair, endpoints_block().
Definition endpoints_link.h:118
gfx: an RGB565 (16-bit red, green, blue) rasteriser with no dependencies.
const ui_keypad_t * motor_screen_keypad(void)
SETTINGS' keypad, open or closed, for a test to read what it opened with and where its keys are.
Definition motor_settings_page.c:400
void motor_screen_set_throttle(float pct)
Definition motor_screen.c:459
bool motor_screen_target_locked(void)
Definition motor_screen.c:450
void motor_screen_knob(float span_fraction)
Definition motor_screen.c:485
uint8_t motor_dshot_ports(void)
Definition motor_workbench.c:186
void motor_screen_knob_frame(void)
Definition motor_screen.c:465
size_t motor_output_strip(char *out, size_t size, uint8_t proto, uint64_t pins, bool known, bool armed, bool *warn)
Definition motor_program_page.c:276
const char * motor_endpoints_alert(endpoints_block_t why)
Definition motor_settings_page.c:421
unsigned motor_target_cells(void)
Definition motor_workbench.c:181
gfx_rect_t motor_settings_box(int row)
Definition motor_settings_page.c:434
void motor_screen_set_throttle_protocol(uint8_t proto)
Definition motor_screen.c:416
bool motor_screen_session_shown(void)
Definition motor_screen.c:454
void motor_screen_set_throttle_pins(uint64_t gpio_mask, bool known)
Definition motor_screen.c:404
bool motor_screen_peak_shown(int channel)
Whether channel channel's peak is drawn as a value – 0 voltage, 1 current, 2 power,...
Definition motor_screen.c:267
motor_plot_state_t
Definition motor_screen.h:76
@ MOTOR_PLOT_EMPTY
Definition motor_screen.h:77
@ MOTOR_PLOT_RECORDING
Definition motor_screen.h:78
@ MOTOR_PLOT_HELD
Definition motor_screen.h:79
int motor_screen_pane(void)
Definition motor_screen.c:456
void motor_screen_set_esc_kv(int kv)
Definition motor_screen.c:393
int motor_screen_keypad_setting(void)
Definition motor_settings_page.c:395
int motor_settings_heading(int row)
Definition motor_settings_page.c:415
void motor_screen_set_armed(bool armed)
What the bench is doing, which is what bounds a run.
Definition motor_screen.c:341
int motor_settings_rows(setting_id_t *out, int max)
Definition motor_settings_page.c:405
motor_cmd_kind_t
Definition motor_screen.h:36
@ MOTOR_CMD_THROTTLE
Definition motor_screen.h:40
int motor_screen_task(void)
Definition motor_screen.c:452
void motor_screen_knob_cancel(void)
Definition motor_screen.c:470
bool motor_screen_poll_cmd(motor_cmd_t *out)
Definition motor_screen.c:225
void motor_screen_cancel_arm(void)
Definition motor_screen.c:293
bool motor_throttle_target(char *out, size_t size, uint8_t proto, uint64_t pins, bool known, unsigned cells)
The TARGET row's value, protocol pins ("DSHOT300 GPIO 0 GPIO 1"), in at most cells characters.
Definition motor_workbench.c:300
int motor_screen_plot_samples(void)
Definition motor_screen.c:265
void motor_screen_push(const bench_state_t *b)
Definition motor_screen.c:238
Device settings: a typed schema, a value per entry, and a persistence seam.
setting_id_t
Every setting's id, in schema order.
Definition settings.h:67
The bench readings in the units a person reads: V, A, W and rpm, with their peaks.
Definition bench_state.h:54
Definition motor_screen.h:44
A numeric keypad: what it was opened with, what is typed, and the press it holds.
Definition ui_keypad.h:61
Definition ui_screen.h:68
A numeric keypad over part of a screen, for a value a slider is too coarse to place.