Firmware  0.4.1
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 "drv/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  drv::out::track::dcc::anonymous_namespace{task_function.cpp}::Offsets
 

Namespaces

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

Functions

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

Variables

bool drv::out::track::dcc::anonymous_namespace{task_function.cpp}::gpio1_state {}
 
bool drv::out::track::dcc::anonymous_namespace{task_function.cpp}::gpio2_state {}
 
auto const drv::out::track::dcc::anonymous_namespace{task_function.cpp}::offsets {make_offsets()}
 

Detailed Description

Author
Vincent Hamp
Date
10/02/2023