25#ifndef RCBENCH_HITEC_RX_LINK_H
26#define RCBENCH_HITEC_RX_LINK_H
39#define HITEC_RX_LINK_ACK 0
40#define HITEC_RX_LINK_NO_ANSWER (-1)
43#define HITEC_RX_LINK_RETRY_MS 500u
bool hitec_rx_link_next(const hitec_rx_link_t *l, uint32_t now_ms, uint16_t *value)
Whether to write the page's register 23 at now_ms, and with what.
Definition hitec_rx_link.c:70
void hitec_rx_link_lost(hitec_rx_link_t *l)
The link went down.
Definition hitec_rx_link.c:50
void hitec_rx_link_want(hitec_rx_link_t *l, uint8_t mode)
The setting as it is now; a change owes it.
Definition hitec_rx_link.c:23
void hitec_rx_link_init(hitec_rx_link_t *l)
No IOmcu, PULL-UP asked, nothing owed.
Definition hitec_rx_link.c:16
hitec_rx_link_mark_t hitec_rx_link_mark(const hitec_rx_link_t *l)
What the row says now.
Definition hitec_rx_link.c:98
void hitec_rx_link_done(hitec_rx_link_t *l, int result, uint32_t now_ms)
How the write hitec_rx_link_next() gave went: HITEC_RX_LINK_ACK, a NACK's reason, or HITEC_RX_LINK_NO...
Definition hitec_rx_link.c:83
void hitec_rx_link_came_up(hitec_rx_link_t *l, uint16_t minor)
A link-up edge with an IOmcu of minor: the mode is owed again.
Definition hitec_rx_link.c:38
hitec_rx_link_mark_t
What the row of SETUP says, hitec_rx_link_mark().
Definition hitec_rx_link.h:46
@ HITEC_RX_LINK_HELD
Nothing: the IOmcu holds the mode, no IOmcu answers, or one older than 4.24 with PULL-UP asked.
Definition hitec_rx_link.h:51
@ HITEC_RX_LINK_NO_LINE
An IOmcu older than 4.23 with PRECHARGE asked: it has no Hitec line.
Definition hitec_rx_link.h:65
@ HITEC_RX_LINK_OLD
An IOmcu of 4.23 with PRECHARGE asked: it receives with the pull-up.
Definition hitec_rx_link.h:60
@ HITEC_RX_LINK_PENDING
The mode asked is not acknowledged yet.
Definition hitec_rx_link.h:53
@ HITEC_RX_LINK_REFUSED
The IOmcu refused it.
Definition hitec_rx_link.h:55
The panel's state of the Hitec receive mode.
Definition hitec_rx_link.h:71
uint8_t owed
Definition hitec_rx_link.h:76
uint32_t sent_ms
Definition hitec_rx_link.h:72
uint8_t want
Definition hitec_rx_link.h:73
uint8_t waiting
Definition hitec_rx_link.h:78
uint8_t refused
Definition hitec_rx_link.h:77
uint8_t up
Definition hitec_rx_link.h:74
uint8_t minor
Definition hitec_rx_link.h:75