Firmware  0.0.0
Loading...
Searching...
No Matches
out::track::dcc::anonymous_namespace{task_function.cpp} Namespace Reference

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()}
 

Function Documentation

◆ append_current_measurements()

template<std::ranges::contiguous_range R>
void out::track::dcc::anonymous_namespace{task_function.cpp}::append_current_measurements ( R && r)
Todo
document

◆ dcc_encoder_config()

dcc_encoder_config_t out::track::dcc::anonymous_namespace{task_function.cpp}::dcc_encoder_config ( State dcc_state = state.load())
Todo
document

◆ detect_ack()

template<std::ranges::contiguous_range R>
bool out::track::dcc::anonymous_namespace{task_function.cpp}::detect_ack ( R && r,
analog::Current ack_current )
Todo
document this is the mean version of ack detection

◆ gptimer_callback()

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 *  )
Todo
document

◆ make_offsets()

Offsets out::track::dcc::anonymous_namespace{task_function.cpp}::make_offsets ( )
consteval
Todo
document
Bug
DCC/RailCom timings seem to get worse when the DCC tasks runs the second time?

◆ operations_loop()

esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::operations_loop ( dcc_encoder_config_t const & encoder_config)
Todo
document

◆ peek_current_measurements()

analog::CurrentsQueue::value_type out::track::dcc::anonymous_namespace{task_function.cpp}::peek_current_measurements ( )
Todo
document

◆ receive_bidi()

Datagram out::track::dcc::anonymous_namespace{task_function.cpp}::receive_bidi ( )
Todo
document

◆ receive_packet()

std::optional< Packet > out::track::dcc::anonymous_namespace{task_function.cpp}::receive_packet ( )
Todo
document

◆ rmt_callback()

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 *  )
Todo
document

◆ service_loop()

esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::service_loop ( dcc_encoder_config_t const & )
Todo

document

read timeout would theoretically be only 50ms?

◆ transmit_ack()

esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::transmit_ack ( bool ack)
Todo
document

◆ transmit_bidi()

esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::transmit_bidi ( RxQueue::value_type item)
Todo
document

◆ transmit_packet()

esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::transmit_packet ( Packet const & packet)
Todo
document

Variable Documentation

◆ gpio1_state

bool out::track::dcc::anonymous_namespace{task_function.cpp}::gpio1_state {}
Todo
remove

◆ gpio2_state

bool out::track::dcc::anonymous_namespace{task_function.cpp}::gpio2_state {}

◆ offsets

auto const out::track::dcc::anonymous_namespace{task_function.cpp}::offsets {make_offsets()}
Todo
document