17static inline bool modal_open(
void)
19 return s.kp.open ||
s.tk.open ||
s.ch.open ||
s.warn.open ||
s.ask.open;
33static inline bool prog_shown(
void) {
return prog_shown_set() != NULL; }
41void prog_cancel(
void);
42void prog_armed(
bool armed);
43void prog_tick(
float dt_s);
45void prog_follow_hold(
void);
48void prog_page_follow(
void);
52static inline int rows_page(
void)
55 case UI_WB_SETTINGS:
return s.tabs.selected;
57 return (
s.run_list == RL_AUTO) ? PG_AUTO
58 : (
s.run_list == RL_LIMIT) ? PG_LIMRUN : -1;
65static inline bool ov_shown(
void)
67 return modal_open() || rows_page() >= 0;
72static inline bool live_shown(
void)
74 return wb_task() == UI_WB_LIVE && !modal_open() && !prog_shown();
107void prog_search_done(
const char *text);
133#define RUN_CARD_X (PAD + 10)
134#define RUN_CARD_W (LCARD_W - 20)
135#define RUN_CARD_H 200
136#define RUN_CARD_GAP 4
138#define RUN_CARD_Y(k) (CARD_Y + RUN_CARD_GAP + (k) * (RUN_CARD_H + RUN_CARD_GAP))
144#define RUN_LINE_DY 120
148#define RUN_CAPS_Y (RUN_CARD_Y(1) + RUN_CARD_H + RUN_CARD_GAP)
150 "the caps line ends above the alert band");
152 "a card's three lines under START end inside it");
192#define RUN_PAGE_NAME_DY 4
194#define RUN_PAGE_SAVE_DY 28
206 if (rows_page() >= PG_COUNT) {
207 const int x =
OV_X + 10;
212 (int16_t)(
OV_W - 20), 20 };
215 "a run's save line ends over its first row");
#define PAD
Definition analyser_screen.c:26
#define LCARD_W
Definition analyser_screen.c:52
#define CARD_H
Definition balance_screen.c:56
#define CARD_Y
Definition balance_screen.c:44
#define s
Short name for esc_stick_s inside the five stick-class files.
Definition esc_stick_panel_int.h:295
#define k
Short name for kst_panel_k inside the overlay's seven files.
Definition kst_panel_int.h:238
#define STOP_FLOOR
The lowest row a control that stops what the bench drives, or a line of text, may reach: 4px above th...
Definition motor_screen_int.h:75
#define OV_X
Definition servo_screen_int.h:191
#define OV_W
Definition servo_screen_int.h:193
#define OV_SAVE_Y
The save line under SETTINGS' rows and notes, 20px tall, ending 4px above the alert band.
Definition servo_screen_int.h:224
#define RL_ROW0
Definition servo_screen_int.h:214
void draw_rows_page(gfx_canvas_t *c)
A page of rows in the page area: SETTINGS' page under its tabs, or a run's settings under the run's n...
Definition servo_settings_draw.c:264
void draw_caps_line(gfx_canvas_t *c, int x, int y)
SUPPLY's caps in force, which a run's steps and a set point stay inside, read-only here: their home i...
Definition servo_workbench.c:544
gfx_rect_t lim_start_rect(void)
START LIMIT RUN, on the LIMIT RUN card: START TEST's place on its own card.
Definition servo_workbench.c:385
void draw_test_page(gfx_canvas_t *c)
TEST: the two run cards, then the caps.
Definition servo_workbench.c:557
void wb_init(void)
The strip, the TARGET row and PROGRAM's list laid out; LIVE.
Definition servo_workbench.c:305
static gfx_rect_t run_card_rect(int k)
Run card k.
Definition servo_workbench_int.h:159
static gfx_rect_t run_set_rect(int k)
A card's SETTINGS, right of its START: its run's settings, one level down. Clear of CLOSE on the run'...
Definition servo_workbench_int.h:172
#define RUN_CAPS_Y
The caps line under the two cards.
Definition servo_workbench_int.h:148
#define RUN_CARD_X
Definition servo_workbench_int.h:133
#define RUN_CARD_W
Definition servo_workbench_int.h:134
#define RUN_PAGE_SAVE_DY
The save line on a run's settings, under the name.
Definition servo_workbench_int.h:194
#define RUN_LINE_DY
Definition servo_workbench_int.h:144
#define RUN_BTN_H
Definition servo_workbench_int.h:143
#define RUN_BTN_DY
Definition servo_workbench_int.h:141
static gfx_rect_t run_close_rect(void)
CLOSE on a run's settings, top right in the line of the run's name: back to TEST, as the home tag goe...
Definition servo_workbench_int.h:185
#define RUN_LINE_P
Definition servo_workbench_int.h:145
#define RUN_BTN_W
Definition servo_workbench_int.h:142
#define RUN_CARD_H
Definition servo_workbench_int.h:135
static gfx_rect_t save_line_rect(void)
The save line of a page of rows, 20px tall. On SETTINGS' pages along the bottom, under the notes; on ...
Definition servo_workbench_int.h:204
#define RUN_CARD_Y(k)
Run card k's top (0 AUTOMATIC TEST, 1 LIMIT RUN).
Definition servo_workbench_int.h:138
#define RUN_SET_W
Definition servo_workbench_int.h:146
static gfx_rect_t test_start_rect(void)
START TEST, on the AUTOMATIC TEST card.
Definition servo_workbench_int.h:218
setting_id_t
Every setting's id, in schema order.
Definition settings.h:67
Definition prog_registry.h:129
A DOWN, MOVE or UP of one contact.
Definition touch_types.h:69
#define UI_TAP_MIN
The smallest touch target for a control, in pixels: 48px, 7.2mm.
Definition ui_layout.h:71
ui_wb_task_t ui_wb_strip_task(const ui_wb_strip_t *w)
Definition ui_workbench.c:38
ui_wb_task_t
Definition ui_workbench.h:39