rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
ui_text.h
Go to the documentation of this file.
1
23
24#pragma once
25
26#include <stddef.h>
27
28#include "servo_str.h"
29#include "settings.h"
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
36typedef enum {
37 UI_LANG_EN = 0,
38 UI_LANG_DE,
39 UI_LANG_COUNT
40} ui_lang_t;
41
43typedef enum {
45#define UI_TEXT(id, cells, en, de) TX_##id,
46#include "ui_text.def"
48 TX_COUNT
50
57typedef struct {
58 const char *const *text;
59 const char *const *setting_label;
60 const char *const *setting_help;
63 const char *const *const *options;
64 const char *const *category;
65 const char *const *servo;
67
68extern const ui_language_t ui_lang_de;
69
72ui_lang_t ui_text_language(void);
73
75const char *ui_tr(ui_text_id_t id);
76#define TR(id) ui_tr(TX_##id)
77
84const char *ui_tr_pad(const ui_text_id_t *set, int count, int i, char *buf,
85 size_t n);
86
88const char *ui_tr_in(ui_lang_t lang, ui_text_id_t id);
89
92
98
101const char *ui_text_name(ui_text_id_t id);
102
105
106/* ---------------------------------------------------- the settings schema */
107
108/*
109 * The schema in shared/settings is English and is the fallback. These
110 * return a setting's words in the language showing.
111 */
112const char *ui_setting_label(setting_id_t id);
113const char *ui_setting_help(setting_id_t id);
114const char *ui_setting_category(setting_cat_t cat);
116const char *ui_setting_value(setting_id_t id, char *buf, size_t n);
118const char *ui_setting_value_of(setting_id_t id, float value, char *buf,
119 size_t n);
121const char *ui_setting_option(setting_id_t id, int k);
122
123/* ----------------------------------------------------- the servo test's */
124
129const char *ui_servo_str(servo_str_t id);
130
132const char *const *ui_servo_table(void);
133
135const char *ui_on_off(int on);
136
137/* ---------------------------------------------------------------- units */
138
148int ui_unit_is_symbol(const char *unit);
149
158const char *ui_unit_gap(const char *unit);
159
168int ui_unit_is_prefix(const char *unit);
169
178const char *ui_pin_holder(const char *held_by);
179
180#ifdef GFX_TEXT_TRACE
183#endif
184
185#ifdef __cplusplus
186}
187#endif
#define k
Short name for kst_panel_k inside the overlay's seven files.
Definition kst_panel_int.h:238
The automatic servo test's words by id: every string the run writes or the SERVO screen shows about i...
servo_str_t
Definition servo_str.h:24
Device settings: a typed schema, a value per entry, and a persistence seam.
setting_cat_t
Definition settings.h:28
setting_id_t
Every setting's id, in schema order.
Definition settings.h:67
A language: its column of ui_text.def.
Definition ui_text.h:57
const char *const *const * options
One per UI_OPTIONS() of ui_text.def, in its order (settings_option_list()), each as long as the Engli...
Definition ui_text.h:63
const char *const * servo
Definition ui_text.h:65
const char *const * setting_label
Definition ui_text.h:59
const char *const * setting_help
Definition ui_text.h:60
const char *const * category
Definition ui_text.h:64
const char *const * text
Definition ui_text.h:58
const char * ui_text_name(ui_text_id_t id)
Definition ui_text.c:217
const char * ui_tr_in(ui_lang_t lang, ui_text_id_t id)
Definition ui_text.c:163
const char * ui_tr(ui_text_id_t id)
Definition ui_text.c:173
int ui_text_cells(ui_text_id_t id)
Definition ui_text.c:212
const char * ui_servo_str(servo_str_t id)
Definition ui_text.c:328
const char * ui_setting_value(setting_id_t id, char *buf, size_t n)
Definition ui_text.c:290
const char * ui_setting_option(setting_id_t id, int k)
Definition ui_text.c:275
const char * ui_on_off(int on)
Definition ui_text.c:285
ui_text_id_t
The screens' strings, TX_<ID> for each UI_TEXT() of ui_text.def.
Definition ui_text.h:43
int ui_unit_is_symbol(const char *unit)
Whether unit is a unit symbol, written with no space after its number: one of k_unit_symbols (ui_text...
Definition ui_text.c:417
void ui_text_set_language(ui_lang_t lang)
Definition ui_text.c:141
const char * ui_tr_pad(const ui_text_id_t *set, int count, int i, char *buf, size_t n)
Definition ui_text.c:181
const ui_language_t ui_lang_de
The German tables, as ui_text.h declares them.
Definition ui_text.c:124
int ui_unit_is_prefix(const char *unit)
Whether unit is written before its number: the pin word UI_PIN_WORD, "GPIO", so that a pin reads "GPI...
Definition ui_text.c:471
const char *const * ui_servo_table(void)
Definition ui_text.c:322
const char * ui_pin_holder(const char *held_by)
What holds a reserved pin, in the language showing: the words out_bind.c gives a catalogue's LINK_PIN...
Definition ui_text.c:442
ui_lang_t
Definition ui_text.h:36
const char * ui_unit_gap(const char *unit)
What stands between a number and unit: "" before a symbol ("6.00V", "1000.0mΩ", "40s") and before no ...
Definition ui_text.c:465
const char * ui_setting_value_of(setting_id_t id, float value, char *buf, size_t n)
Definition ui_text.c:295
const ui_language_t * ui_text_table(ui_lang_t lang)
Definition ui_text.c:152
void ui_text_trace(ui_text_id_t id)
int ui_text_has(ui_lang_t lang, ui_text_id_t id)
Definition ui_text.c:203