|
rcbench
Servo and ESC test bench: panel, IOmcu and shared C
|
The modelled ESC (electronic speed controller) and servo protocols: their parameters as data. More...
Macros | |
| #define | MODEL_COUNT (sizeof(k_models) / sizeof(k_models[0])) |
Functions | |
| const prog_model_t * | prog_models (size_t *count) |
| const char * | prog_model_name (const prog_model_t *m) |
| A protocol's name: the firmware's, the same in every language. | |
Variables | |
| static const char *const | k_dir [] = { "NORMAL", "REVERSED", "BIDIRECTIONAL" } |
| static const char *const | k_timing [] |
| static const char *const | k_pwm [] = { "24kHz", "48kHz", "96kHz" } |
| The PWM frequencies an ESC offers. | |
| static const char *const | k_demag [] = { "OFF", "LOW", "HIGH" } |
| The demagnetisation compensation settings. | |
| static const char *const | k_mtype [] = { "BLDC", "FOC" } |
| VESC's motor types. | |
| static const prog_param_t | k_blheli [] |
| static const prog_param_t | k_am32 [] |
| static const prog_param_t | k_escape32 [] |
| static const prog_param_t | k_vesc [] |
| static const prog_model_t | k_models [] |
The modelled ESC (electronic speed controller) and servo protocols: their parameters as data.
BLHeli_S and AM32 speak a one-wire bootloader at 19,200 baud; ESCape32 answers a text CLI (command-line interface); VESC uses framed packets at 115,200 baud. No transport on the IOmcu (the RP2350 board) carries any of them, so no PROGRAM list shows them (owner decision, 2026-10-18): a protocol gets a registry row (prog_registry.h) once a transport reaches the device. The tables stay as the parameter model such a row starts from. Servos by Hitec have a programmer of their own (hitec_panel.h) and no table here.
A definition says what kind of setting it is (a switch, a choice, a bounded number); a programmer draws one widget per kind. The names and the choices are the firmware's own and stay English in every language, as its configurators show them; the group and the help line are translated.
BLHeli_32 is absent: its parameters are stored in a form the bench cannot read. docs/BLHeli32.md has the detail.
SPDX-License-Identifier: MIT
| const char * prog_model_name | ( | const prog_model_t * | m | ) |
A protocol's name: the firmware's, the same in every language.
| m | the protocol |
| const prog_model_t * prog_models | ( | size_t * | count | ) |
The protocols, and their count in count (may be NULL).
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |