51#define HITEC_PANEL_MSG_LINES 2
53#define HITEC_PANEL_LINE 128
57 HITEC_PANEL_SERVO = 0,
#define s
Short name for esc_stick_s inside the five stick-class files.
Definition esc_stick_panel_int.h:295
gfx: an RGB565 (16-bit red, green, blue) rasteriser with no dependencies.
void hitec_panel_file_done(bool ok)
How the card took it (hitec_prog_file_done()).
Definition hitec_panel.c:545
gfx_rect_t hitec_panel_tab_rect(int page)
A tab, one fifth of the row left of CLOSE, 48px tall.
Definition hitec_panel.c:274
const prog_page_set_t hitec_panel_pages
The session's hooks for its row on SERVO > PROGRAM.
Definition hitec_panel.c:560
bool hitec_panel_holds_port(void)
A port is held, by this panel or another session, or a request is on its way: the overlay is shown,...
Definition hitec_panel.c:443
bool hitec_panel_safe_at(int x, int y)
None of the session's controls stops what the bench drives: it works on a SAFE bench only....
Definition hitec_panel.c:455
hitec_prog_t * hitec_panel_model(void)
The model.
Definition hitec_panel.c:322
bool hitec_panel_row_live(int page, int row, int col)
Whether the control of a row takes a tap now.
Definition hitec_panel.c:352
void hitec_panel_init(gfx_rect_t area)
Start over: closed, nothing held, laid out in area.
Definition hitec_panel.c:397
gfx_rect_t hitec_panel_choice_cancel_rect(void)
A list's CANCEL, 150 x 48px at the foot's right.
Definition hitec_panel.c:300
size_t hitec_panel_file_take(char *out, size_t n)
The record's text for the card (hitec_prog_file_take()).
Definition hitec_panel.c:540
gfx_rect_t hitec_panel_value_rect(int page, int row, int col)
The control of a row: a button, or the box of a value.
Definition hitec_panel.c:286
const char * hitec_panel_value(int page, int row, int col)
The text in the control of a row: a button's, or the value.
Definition hitec_panel.c:339
gfx_rect_t hitec_panel_apply_rect(void)
A hold page's button, 300 x 56px at the foot's left.
Definition hitec_panel.c:306
int hitec_panel_editor(void)
What is open over the page.
Definition hitec_panel.c:366
void hitec_panel_feed(const hitec_prog_feed_t *f)
The link task's feed for this frame.
Definition hitec_panel.c:524
const char * hitec_panel_choice_label(int i)
The open list's entry i.
Definition hitec_panel.c:376
uint8_t hitec_panel_pin(void)
The GPIO the port the overlay names drives.
Definition hitec_panel.c:448
void hitec_panel_gate(hitec_prog_gate_t *g)
The gate the link task claims each command at; kept over hitec_panel_init(). NULL for none.
Definition hitec_panel.c:391
void hitec_panel_bench_armed(bool armed)
The bench is armed or asked to arm: CONNECT, READ ALL and every write are refused.
Definition hitec_panel.c:535
int hitec_panel_text_rows(const char *s)
The rows of 10 x 20 cells a line takes, wrapped at a space to the overlay's width less 10px a side: 6...
Definition hitec_panel.c:248
const char * hitec_panel_label(int page, int row, int col)
The label of a row as it is drawn now.
Definition hitec_panel.c:332
bool hitec_panel_is_open(void)
Whether the overlay is open.
Definition hitec_panel.c:438
bool hitec_panel_file_load(const char *text, size_t len)
The record's text as the card held it at the start (hitec_prog_file_load()).
Definition hitec_panel.c:551
const char * hitec_panel_page_line(int i)
Line i of the open hold page, its title first.
Definition hitec_panel.c:381
uint32_t hitec_panel_hold_revision(void)
Changes while a page's hold fills; hitec_panel_apply_rect() is where.
Definition hitec_panel.c:469
gfx_rect_t hitec_panel_choice_rect(int i)
Entry i of the open list, 48px tall at a 56px pitch.
Definition hitec_panel.c:293
gfx_rect_t hitec_panel_close_rect(void)
CLOSE, 120 x 48px at the top right.
Definition hitec_panel.c:279
gfx_rect_t hitec_panel_cancel_rect(void)
A hold page's CANCEL, 180 x 56px at the foot's right.
Definition hitec_panel.c:313
void hitec_panel_open(void)
Opens the overlay.
Definition hitec_panel.c:429
ui_keypad_t * hitec_panel_keypad(void)
The keypad.
Definition hitec_panel.c:327
int hitec_panel_page(void)
The tab shown.
Definition hitec_panel.c:371
uint32_t hitec_panel_revision(void)
Changes whenever a render would show something else.
Definition hitec_panel.c:464
const char * hitec_panel_port_line(int i)
Line i of the PORT row's label: 0 the port, the pin and the series, 1 the receive mode and the supply...
Definition hitec_panel.c:359
void hitec_panel_screen_entry(void)
The SERVO screen was entered: the options are read from the settings, and ENABLE WRITE TO SERVO goes ...
Definition hitec_panel.c:421
bool hitec_panel_take(hitec_prog_cmd_t *out)
The next command for the link task.
Definition hitec_panel.c:530
hitec_panel_page_t
The tabs.
Definition hitec_panel.h:56
#define HITEC_PANEL_MSG_LINES
Lines a message takes at most, and the bytes of one.
Definition hitec_panel.h:51
#define HITEC_PANEL_LINE
The bytes of one line of a message, a note or a page.
Definition hitec_panel.h:53
void hitec_panel_render(gfx_canvas_t *c)
Draws the overlay.
Definition hitec_panel_draw.c:455
const char * hitec_panel_note(int i)
The note lines of the tab shown, from the top, the message's lines after them.
Definition hitec_panel_draw.c:284
gfx_rect_t hitec_panel_notes_drawn(void)
The rows the notes and the message of the tab shown take, from the first note's top to the last line'...
Definition hitec_panel_draw.c:295
int hitec_panel_message_lines(const hitec_prog_msg_t *m, char out[HITEC_PANEL_MSG_LINES][HITEC_PANEL_LINE])
A message's lines, in the language in force.
Definition hitec_panel_text.c:808
void hitec_panel_close(void)
CLOSE: closes while the port is not held; asks for LEAVE on this panel's port and for RELEASE PORT on...
Definition hitec_panel_touch.c:99
void hitec_panel_leave(void)
The screen is left: presses and editors go; the port stays.
Definition hitec_panel_touch.c:251
bool hitec_panel_has_press(uint8_t id)
Whether a press that began in the overlay is on the glass.
Definition hitec_panel_touch.c:211
void hitec_panel_back(void)
The home tag or BACK: an editor closes as its CANCEL does, otherwise as hitec_panel_close().
Definition hitec_panel_touch.c:114
void hitec_panel_cancel(void)
Touch events were lost: the press and its hold are dropped.
Definition hitec_panel_touch.c:241
void hitec_panel_event(const touch_event_t *evt)
A press in the overlay's area, or the rest of one it owns.
Definition hitec_panel_touch.c:226
void hitec_panel_tick(float dt_s)
One frame: the hold of a page.
Definition hitec_panel_touch.c:258
The programmer for servos by Hitec as the SERVO screen runs it: the session with one servo,...
The registry of programmers and runs: one static table that the PROGRAM (and later TEST) lists of a w...
One call for the task that owns the link module.
Definition hitec_prog.h:253
What the task that owns the link module publishes, every frame.
Definition hitec_prog.h:311
The pass a command needs to be carried out, as kst_prog.h's gate.
Definition hitec_prog.h:275
The last message, its level, its arguments and its number.
Definition hitec_prog.h:235
The programmer's state.
Definition hitec_prog.h:389
Definition prog_registry.h:129
A DOWN, MOVE or UP of one contact.
Definition touch_types.h:69
A numeric keypad: what it was opened with, what is typed, and the press it holds.
Definition ui_keypad.h:61
Plain data types shared by the touch controller driver, the coordinate mapper and the event tracker....
A numeric keypad over part of a screen, for a value a slider is too coarse to place.