rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
supply_screen.h
Go to the documentation of this file.
1
28#pragma once
29
30#include <stdbool.h>
31#include <stddef.h>
32
33#include "supply.h"
34#include "ui_keypad.h"
35#include "ui_screen.h"
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
46typedef enum {
47 SUPPLY_BY_NONE = 0, /* off, or on and asked by nobody here */
48 SUPPLY_BY_SUPPLY, /* OUTPUT ON on SUPPLY */
49 SUPPLY_BY_SERVO, /* SERVO: OUTPUT ON, a test, the programmer */
50 SUPPLY_BY_STICK, /* a stick run on ESC STICK */
52
54typedef enum {
55 SUPPLY_PANE_PLOT = 0,
56 SUPPLY_PANE_TABLE,
57 SUPPLY_PANE_COUNT
59
69typedef struct {
70 bool on;
71 bool off;
72 bool reset;
75
80int supply_screen_task(void);
81
84
88
93void supply_screen_set_output(bool on);
94
97
99void supply_screen_set_model(bool model);
104bool supply_screen_model(void);
105
111void supply_screen_set_baud(uint32_t baud);
112
123void supply_screen_set_pins(int tx, int rx);
124
132void supply_screen_header_text(char *out, size_t size);
133
135float supply_screen_set_v(void);
141float supply_screen_set_i(void);
142
149
152
156
157/*
158 * For another screen that sets the supply: SERVO, beside the servo the
159 * supply feeds. The set points and the output stay this screen's, one of
160 * each; what SERVO types or switches lands here as if it were done here.
161 */
162
165
171bool supply_screen_typed_asks(void);
172
175void supply_screen_put(float v, float i);
176
188void supply_screen_set_port_held(bool held);
196void supply_screen_set_hitec_held(bool held);
202bool supply_screen_port_held(void);
203
206void supply_screen_adopt(float v, float i);
207
214bool supply_screen_output_on(void);
215
219
223uint32_t supply_screen_off_count(void);
224
228
232
240
250
253
255bool supply_screen_off_owed(void);
256
258void supply_screen_ask_off(void);
259
263
266
268void supply_screen_cancel_on(void);
269
276void supply_screen_set_on_coming(bool coming);
277
280
282void supply_invalidate(void);
287const ui_screen_t *supply_screen(void);
288
296
297#ifdef __cplusplus
298}
299#endif
#define s
Short name for esc_stick_s inside the five stick-class files.
Definition esc_stick_panel_int.h:295
What a supply can be set to.
Definition supply.h:32
Definition supply_screen.h:69
bool on
Definition supply_screen.h:70
bool off
Definition supply_screen.h:71
bool reset
Definition supply_screen.h:72
bool module_reset
Definition supply_screen.h:73
What the operator allows, on top of what the supply can do: caps on the set points,...
Definition supply.h:122
A supply's readings, set points, mode and trip state.
Definition supply.h:69
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 programmable supply: what it can be set to, what it was set to, and what it delivers.
supply_limits_t supply_screen_limits(void)
Definition supply_screen.c:586
bool supply_screen_off_pending(void)
Definition supply_screen.c:736
void supply_screen_settings_loaded(void)
Definition supply_screen.c:492
const ui_screen_t * supply_screen(void)
The SUPPLY screen as the router drives it.
Definition supply_screen.c:882
uint32_t supply_screen_off_count(void)
Definition supply_screen.c:694
const ui_keypad_t * supply_screen_keypad(void)
The keypad of the set points and of SETTINGS' rows, open or closed, for a test to read what it opened...
Definition supply_screen.c:593
void supply_screen_claim(supply_by_t by)
Definition supply_screen.c:702
bool supply_screen_model(void)
Whether the numbers come from the panel's model.
Definition supply_screen.c:487
void supply_screen_put(float v, float i)
Definition supply_screen.c:676
void supply_screen_ask_on(supply_by_t by)
Definition supply_screen.c:696
void supply_screen_entered(supply_by_t by)
Definition supply_screen.c:709
void supply_screen_limits_changed(void)
Definition supply_screen.c:743
void supply_screen_ask_off(void)
Definition supply_screen.c:734
supply_by_t
Definition supply_screen.h:46
void supply_invalidate(void)
Everything SUPPLY draws is drawn again on its next frame.
Definition supply_screen.c:63
const supply_state_t * supply_screen_reading(void)
Definition supply_screen.c:391
bool supply_screen_output_live(void)
Definition supply_screen.c:692
void supply_screen_set_port_held(bool held)
Definition supply_screen.c:653
supply_caps_t supply_screen_caps(void)
Definition supply_screen.c:591
void supply_screen_header_text(char *out, size_t size)
The left text of the header strip: the supply and its pins, the answer and the rate ("PD MINI TX GPIO...
Definition supply_draw.c:110
bool supply_screen_output_held(void)
Definition supply_screen.c:738
void supply_screen_set_caps(const supply_caps_t *caps)
Definition supply_screen.c:444
void supply_screen_set_baud(uint32_t baud)
Definition supply_screen.c:457
float supply_screen_set_v(void)
Definition supply_screen.c:489
bool supply_screen_output_on(void)
Whether the output is on as this screen believes it: what the supply reported, with an OFF this scree...
Definition supply_screen.c:690
void supply_screen_cancel_on(void)
Definition supply_screen.c:756
float supply_screen_set_i(void)
The current limit's set point as the screen holds it, snapped to the caps.
Definition supply_screen.c:490
void supply_screen_set_model(bool model)
Definition supply_screen.c:479
bool supply_screen_port_held(void)
Whether a programming port holds the supply (supply_screen_set_port_held()).
Definition supply_screen.c:665
supply_pane_t
LIVE's views of the readings: the plot or the table.
Definition supply_screen.h:54
void supply_screen_set_on_coming(bool coming)
Definition supply_screen.c:748
void supply_screen_push(const supply_state_t *s)
Definition supply_screen.c:370
bool supply_screen_off_owed(void)
Definition supply_screen.c:700
void supply_screen_left(supply_by_t by)
Definition supply_screen.c:716
int supply_screen_task(void)
Definition supply_screen.c:836
void supply_screen_set_hitec_held(bool held)
The Hitec programmer's word on the same hold: the supply is held while either programmer says so....
Definition supply_screen.c:659
supply_by_t supply_screen_owner(void)
Definition supply_screen.c:698
bool supply_screen_typed_asks(void)
Definition supply_screen.c:595
void supply_screen_set_pins(int tx, int rx)
The PD mini's UART pins, IOmcu GPIO numbers, named in the header ("PD MINI TX GPIO 12 RX GPIO 13").
Definition supply_screen.c:465
void supply_screen_adopt(float v, float i)
Definition supply_screen.c:667
void supply_screen_set_output(bool on)
Definition supply_screen.c:407
bool supply_screen_poll_cmd(supply_cmd_t *out)
Definition supply_screen.c:354
A numeric keypad over part of a screen, for a value a slider is too coarse to place.
Screen router.