rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
hitec_card.h
Go to the documentation of this file.
1
39#pragma once
40
41#include <stdbool.h>
42#include <stddef.h>
43#include <stdint.h>
44
45#include "hitec_reg.h"
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
53#define HITEC_CARD_RECORD "HITEC"
56#define HITEC_CARD_TEXT_MAX 256u
58#define HITEC_CARD_NO_PIN 0xFFu
59
61typedef struct {
62 uint8_t series;
63 uint8_t port;
64 uint8_t pin;
68
78
86unsigned hitec_card_addrs(uint8_t series, uint8_t out[HITEC_C_BLOCK_LEN]);
87
100size_t hitec_card_text(const hitec_card_record_t *r, char *out, size_t n);
101
113hitec_card_result_t hitec_card_parse(const char *text, size_t len,
115
116#ifdef __cplusplus
117}
118#endif
unsigned hitec_card_addrs(uint8_t series, uint8_t out[HITEC_C_BLOCK_LEN])
The addresses a record holds for series.
Definition hitec_card.c:24
size_t hitec_card_text(const hitec_card_record_t *r, char *out, size_t n)
The text of r, or of no record for NULL.
Definition hitec_card.c:99
hitec_card_result_t hitec_card_parse(const char *text, size_t len, hitec_card_record_t *out)
Parse a text.
Definition hitec_card.c:231
hitec_card_result_t
What a parse found.
Definition hitec_card.h:70
@ HITEC_CARD_NONE
Definition hitec_card.h:72
@ HITEC_CARD_ERR_FIELD
Definition hitec_card.h:76
@ HITEC_CARD_ERR_HEADER
Definition hitec_card.h:73
@ HITEC_CARD_ERR_TRUNCATED
Definition hitec_card.h:74
@ HITEC_CARD_ERR_CHECK
Definition hitec_card.h:75
@ HITEC_CARD_OK
Definition hitec_card.h:71
Hitec servo programming protocols: the register models, the parameter table and the write plans.
#define HITEC_C_BLOCK_LEN
Definition hitec_reg.h:72
A record of a write.
Definition hitec_card.h:61
uint8_t port
Definition hitec_card.h:63
hitec_image_t target
Definition hitec_card.h:66
uint8_t pin
Definition hitec_card.h:64
hitec_image_t before
Definition hitec_card.h:65
uint8_t series
Definition hitec_card.h:62
The registers or cells of one servo, as read.
Definition hitec_reg.h:95