Classes | |
struct | Offsets |
Functions | |
consteval Offsets | make_offsets () |
bool IRAM_ATTR | rmt_callback (rmt_channel_handle_t, rmt_tx_done_event_data_t const *, void *) |
bool IRAM_ATTR | gptimer_callback (gptimer_handle_t timer, gptimer_alarm_event_data_t const *edata, void *) |
dcc_encoder_config_t | dcc_encoder_config (State dcc_state=state.load()) |
std::optional< Packet > | receive_packet () |
esp_err_t | transmit_packet (Packet const &packet) |
Datagram | receive_bidi () |
esp_err_t | transmit_bidi (RxQueue::value_type item) |
esp_err_t | operations_loop (dcc_encoder_config_t const &encoder_config) |
analog::CurrentsQueue::value_type | peek_current_measurements () |
template<std::ranges::contiguous_range R> | |
void | append_current_measurements (R &&r) |
template<std::ranges::contiguous_range R> | |
bool | detect_ack (R &&r, analog::Current ack_current) |
esp_err_t | transmit_ack (bool ack) |
esp_err_t | service_loop (dcc_encoder_config_t const &) |
Variables | |
bool | gpio1_state {} |
bool | gpio2_state {} |
auto const | offsets {make_offsets()} |
void out::track::dcc::anonymous_namespace{task_function.cpp}::append_current_measurements | ( | R && | r | ) |
dcc_encoder_config_t out::track::dcc::anonymous_namespace{task_function.cpp}::dcc_encoder_config | ( | State | dcc_state = state.load() | ) |
bool out::track::dcc::anonymous_namespace{task_function.cpp}::detect_ack | ( | R && | r, |
analog::Current | ack_current ) |
bool IRAM_ATTR out::track::dcc::anonymous_namespace{task_function.cpp}::gptimer_callback | ( | gptimer_handle_t | timer, |
gptimer_alarm_event_data_t const * | edata, | ||
void * | ) |
|
consteval |
esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::operations_loop | ( | dcc_encoder_config_t const & | encoder_config | ) |
analog::CurrentsQueue::value_type out::track::dcc::anonymous_namespace{task_function.cpp}::peek_current_measurements | ( | ) |
Datagram out::track::dcc::anonymous_namespace{task_function.cpp}::receive_bidi | ( | ) |
std::optional< Packet > out::track::dcc::anonymous_namespace{task_function.cpp}::receive_packet | ( | ) |
bool IRAM_ATTR out::track::dcc::anonymous_namespace{task_function.cpp}::rmt_callback | ( | rmt_channel_handle_t | , |
rmt_tx_done_event_data_t const * | , | ||
void * | ) |
esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::service_loop | ( | dcc_encoder_config_t const & | ) |
document
read timeout would theoretically be only 50ms?
esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::transmit_ack | ( | bool | ack | ) |
esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::transmit_bidi | ( | RxQueue::value_type | item | ) |
esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::transmit_packet | ( | Packet const & | packet | ) |
bool out::track::dcc::anonymous_namespace{task_function.cpp}::gpio1_state {} |
bool out::track::dcc::anonymous_namespace{task_function.cpp}::gpio2_state {} |
auto const out::track::dcc::anonymous_namespace{task_function.cpp}::offsets {make_offsets()} |