17#ifndef RCBENCH_OUTPUTS_HW_H
18#define RCBENCH_OUTPUTS_HW_H
104 uint8_t parked, uint8_t dshot, uint8_t channel0);
DShot: sixteen bits per frame to an ESC (electronic speed controller), and the GCR (group-coded recor...
dshot_telem_kind_t
What one response carried.
Definition dshot.h:187
The intermediary every output goes through: one set of rules for arming, clamping,...
void outputs_hw_ports_drive(uint8_t ports)
Which bound ports render their channel's pulse while the bank drives, bit n for port n.
Definition outputs_hw.c:571
void outputs_hw_apply(const outputs_t *o, const uint16_t *rate_hz)
Make the bindings match the bank's slot table, each slot at the rate in rate_hz (OUT_MAX_SLOTS entrie...
Definition outputs_hw.c:235
bool outputs_hw_edt(dshot_telem_kind_t kind, uint16_t *value, uint32_t *age_ms)
The last extended-telemetry reading of kind, and how long ago in milliseconds.
Definition outputs_hw.c:743
void outputs_hw_init(void)
Forget every binding.
Definition outputs_hw.c:161
void outputs_hw_watch(int ch)
Watch output channel ch for a move capture's edge; a negative ch stops watching.
Definition outputs_hw.c:576
bool outputs_hw_bound(uint8_t slot)
Whether slot slot is configured and bound to real silicon.
Definition outputs_hw.c:170
bool outputs_hw_erpm(uint32_t *erpm, uint32_t *age_ms)
The last electrical rpm a bidirectional DShot ESC (electronic speed controller) reported,...
Definition outputs_hw.c:731
void outputs_hw_ports(const uint8_t *pin, const uint16_t *rate_hz, uint8_t parked, uint8_t dshot, uint8_t channel0)
The programming ports' pins: pin[n] for port n, LINK_PG_PORTS_MAX entries, a value above OUT_MAX_PIN ...
Definition outputs_hw.c:503
bool outputs_hw_edge(uint64_t *us)
The edge stamped since the last call, once: true with its time in us.
Definition outputs_hw.c:582
void outputs_hw_apply_only(const outputs_t *o, const uint16_t *rate_hz, uint8_t may_bind)
As outputs_hw_apply(), with only the slots in may_bind bound; a slot outside it is released and left ...
Definition outputs_hw.c:240
void outputs_hw_service(const outputs_t *o)
Render the bank onto the pins.
Definition outputs_hw.c:643
uint8_t outputs_hw_ports_bound(void)
The ports whose function holds their pin, bit n for port n: bound to the generator or to DShot,...
Definition outputs_hw.c:560
The state of a bank of channels and slots.
Definition outputs.h:143