rcbench
Servo and ESC test bench: panel, IOmcu and shared C
Loading...
Searching...
No Matches
out_ppm.h
Go to the documentation of this file.
1
23#ifndef RCBENCH_OUT_PPM_H
24#define RCBENCH_OUT_PPM_H
25
26#include <stdbool.h>
27#include <stdint.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
38#ifndef OUT_PPM_MAX_PINS
39#define OUT_PPM_MAX_PINS 8u
40#endif
41
61bool out_ppm_bind(uint8_t pin, uint8_t channels, uint16_t rate_hz);
62
68void out_ppm_release(uint8_t pin);
69
82bool out_ppm_write(uint8_t pin, const uint16_t *channel_us, uint8_t channels);
83
91void out_ppm_stop(uint8_t pin);
92
93#ifdef __cplusplus
94}
95#endif
96
97#endif /* RCBENCH_OUT_PPM_H */
bool out_ppm_write(uint8_t pin, const uint16_t *channel_us, uint8_t channels)
Lay channels pulse widths into the frame and keep sending it.
Definition out_ppm.c:286
void out_ppm_release(uint8_t pin)
Give the pin, the state machine and both DMA channels back.
Definition out_ppm.c:270
void out_ppm_stop(uint8_t pin)
Stop emitting; the pin is left low.
Definition out_ppm.c:278
bool out_ppm_bind(uint8_t pin, uint8_t channels, uint16_t rate_hz)
Take pin for channels channels at rate_hz frames a second.
Definition out_ppm.c:174