Firmware  0.0.0
Loading...
Searching...
No Matches
task_function.cpp File Reference

DCC task function. More...

#include "task_function.hpp"
#include <driver/gpio.h>
#include <driver/uart.h>
#include <hal/uart_hal.h>
#include <dcc/dcc.hpp>
#include <ranges>
#include <ztl/fail.hpp>
#include <ztl/inplace_deque.hpp>
#include "../current_limit.hpp"
#include "analog/convert.hpp"
#include "log.h"
#include "mem/nvs/settings.hpp"
#include "resume.hpp"
#include "suspend.hpp"
Include dependency graph for task_function.cpp:

Classes

struct  out::track::dcc::anonymous_namespace{task_function.cpp}::Offsets
 

Namespaces

namespace  out
 
namespace  out::track
 
namespace  out::track::dcc
 
namespace  out::track::dcc::anonymous_namespace{task_function.cpp}
 

Functions

consteval Offsets out::track::dcc::anonymous_namespace{task_function.cpp}::make_offsets ()
 
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 *)
 
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 *)
 
dcc_encoder_config_t out::track::dcc::anonymous_namespace{task_function.cpp}::dcc_encoder_config (State dcc_state=state.load())
 
std::optional< Packet > out::track::dcc::anonymous_namespace{task_function.cpp}::receive_packet ()
 
esp_err_t out::track::dcc::anonymous_namespace{task_function.cpp}::transmit_packet (Packet const &packet)
 
Datagram out::track::dcc::anonymous_namespace{task_function.cpp}::receive_bidi ()
 
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}::operations_loop (dcc_encoder_config_t const &encoder_config)
 
analog::CurrentsQueue::value_type out::track::dcc::anonymous_namespace{task_function.cpp}::peek_current_measurements ()
 
template<std::ranges::contiguous_range R>
void out::track::dcc::anonymous_namespace{task_function.cpp}::append_current_measurements (R &&r)
 
template<std::ranges::contiguous_range R>
bool out::track::dcc::anonymous_namespace{task_function.cpp}::detect_ack (R &&r, analog::Current ack_current)
 
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}::service_loop (dcc_encoder_config_t const &)
 
void out::track::dcc::task_function (void *)
 

Variables

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

Detailed Description

Author
Vincent Hamp
Date
10/02/2023