rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
prog_models.h File Reference

The modelled ESC (electronic speed controller) protocols: BLHeli_S, AM32, ESCape32 and VESC, each a table of parameters. More...

#include <stddef.h>
#include "ui_text.h"

Go to the source code of this file.

Data Structures

struct  prog_param_t
 One parameter of a protocol. More...
struct  prog_model_t
 One modelled protocol. More...

Macros

#define PROG_MODEL_PARAMS_MAX   10

Enumerations

enum  prog_param_kind_t { PROG_PARAM_ENUM = 0 , PROG_PARAM_BOOL , PROG_PARAM_NUMBER }
 What a parameter's value is. More...
enum  prog_model_class_t { PROG_MODEL_ESC = 0 , PROG_MODEL_SERVO }

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.

Detailed Description

The modelled ESC (electronic speed controller) protocols: BLHeli_S, AM32, ESCape32 and VESC, each a table of parameters.

No transport on the IOmcu carries these protocols, so no PROGRAM list shows them; a protocol gets a row in the programmers' registry (prog_registry.h) once one does.

Pure data; no state.

SPDX-License-Identifier: MIT

Macro Definition Documentation

◆ PROG_MODEL_PARAMS_MAX

#define PROG_MODEL_PARAMS_MAX   10

The most parameters a protocol's table holds.

Enumeration Type Documentation

◆ prog_model_class_t

The class a protocol programs.

◆ prog_param_kind_t

What a parameter's value is.

Enumerator
PROG_PARAM_ENUM 

one of a named few

PROG_PARAM_BOOL 

on or off

PROG_PARAM_NUMBER 

a bounded number, with a unit

Function Documentation

◆ prog_model_name()

const char * prog_model_name ( const prog_model_t * m)

A protocol's name: the firmware's, the same in every language.

Parameters
mthe protocol
Returns
its name; "" for NULL

◆ prog_models()

const prog_model_t * prog_models ( size_t * count)

The protocols, and their count in count (may be NULL).