#include <service.hpp>
Classes | |
struct | CvRequest |
Public Member Functions | |
Service () | |
void | z21 (std::shared_ptr< z21::server::intf::System > z21_system_service, std::shared_ptr< z21::server::intf::Dcc > z21_dcc_service) |
intf::http::Response | getRequest (intf::http::Request const &req) |
intf::http::Response | postRequest (intf::http::Request const &req) |
intf::http::Response | locosGetRequest (intf::http::Request const &req) |
intf::http::Response | locosDeleteRequest (intf::http::Request const &req) |
intf::http::Response | locosPutRequest (intf::http::Request const &req) |
intf::http::Response | turnoutsGetRequest (intf::http::Request const &req) |
intf::http::Response | turnoutsDeleteRequest (intf::http::Request const &req) |
intf::http::Response | turnoutsPutRequest (intf::http::Request const &req) |
Private Member Functions | |
void | taskFunction (void *) |
void | operationsLoop () |
void | operationsDcc () |
Currently fills message buffer between 25 and 50%. | |
void | operationsBiDi () |
void | serviceLoop () |
std::optional< uint8_t > | serviceRead (uint16_t cv_addr) |
std::optional< uint8_t > | serviceWrite (uint16_t cv_addr, uint8_t byte) |
std::optional< bool > | serviceReceiveBit () |
std::optional< uint8_t > | serviceReceiveByte () |
void | sendToFront (Packet const &packet, size_t n=1uz) |
void | sendToBack (Packet const &packet, size_t n=1uz) |
z21::LocoInfo | locoInfo (uint16_t loco_addr) final |
void | locoDrive (uint16_t loco_addr, z21::LocoInfo::SpeedSteps speed_steps, uint8_t rvvvvvvv) final |
void | locoFunction (uint16_t loco_addr, uint32_t mask, uint32_t state) final |
z21::LocoInfo::Mode | locoMode (uint16_t loco_addr) final |
void | locoMode (uint16_t, z21::LocoInfo::Mode mode) final |
void | broadcastLocoInfo (uint16_t loco_addr) final |
z21::TurnoutInfo | turnoutInfo (uint16_t accy_addr) final |
z21::AccessoryInfo | accessoryInfo (uint16_t accy_addr) final |
void | turnout (uint16_t accy_addr, bool p, bool a, bool q) final |
void | accessory (uint16_t accy_addr, uint8_t dddddddd) final |
z21::TurnoutInfo::Mode | turnoutMode (uint16_t accy_addr) final |
void | turnoutMode (uint16_t accy_addr, z21::TurnoutInfo::Mode mode) final |
void | broadcastTurnoutInfo (uint16_t accy_addr) final |
void | broadcastExtAccessoryInfo (uint16_t accy_addr) final |
bool | cvRead (uint16_t cv_addr) final |
bool | cvWrite (uint16_t cv_addr, uint8_t byte) final |
void | cvPomRead (uint16_t loco_addr, uint16_t cv_addr) final |
void | cvPomWrite (uint16_t loco_addr, uint16_t cv_addr, uint8_t byte) final |
void | cvPomAccessoryRead (uint16_t accy_addr, uint16_t cv_addr) final |
void | cvPomAccessoryWrite (uint16_t accy_addr, uint16_t cv_addr, uint8_t byte) final |
void | cvNackShortCircuit () final |
void | cvNack () final |
void | cvAck (uint16_t cv_addr, uint8_t byte) final |
z21::RailComData | railComData (uint16_t loco_addr) final |
void | broadcastRailComData (uint16_t loco_addr) final |
void | resume () |
void | suspend () |
Address | basicOrExtendedLocoAddress (Address::value_type addr) const |
Private Attributes | |
Locos | _locos |
Turnouts | _turnouts |
std::mutex | _internal_mutex |
std::shared_ptr< z21::server::intf::System > | _z21_system_service |
std::shared_ptr< z21::server::intf::Dcc > | _z21_dcc_service |
uint8_t | _priority_count {Loco::min_priority} |
uint8_t | _loco_flags {} |
uint8_t | _accy_flags {} |
uint8_t | _programming_type {} |
uint8_t | _program_packet_count {} |
bool | _bit_verify_to_1 {} |
ztl::inplace_deque< CvRequest, Z21_SERVER_MAX_LOCO_ADDRESSES_PER_CLIENT > | _cv_request_deque {} |
ztl::inplace_deque< CvRequest, Z21_SERVER_MAX_LOCO_ADDRESSES_PER_CLIENT > | _cv_pom_request_deque {} |
mw::dcc::Service::Service | ( | ) |
|
finalprivate |
|
nodiscardfinalprivate |
|
private |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
nodiscardfinalprivate |
|
nodiscardfinalprivate |
intf::http::Response mw::dcc::Service::getRequest | ( | intf::http::Request const & | req | ) |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
|
finalprivate |
intf::http::Response mw::dcc::Service::locosDeleteRequest | ( | intf::http::Request const & | req | ) |
document
filters?
intf::http::Response mw::dcc::Service::locosGetRequest | ( | intf::http::Request const & | req | ) |
document
filters?
intf::http::Response mw::dcc::Service::locosPutRequest | ( | intf::http::Request const & | req | ) |
|
private |
|
private |
|
private |
intf::http::Response mw::dcc::Service::postRequest | ( | intf::http::Request const & | req | ) |
|
nodiscardfinalprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
finalprivate |
|
nodiscardfinalprivate |
|
nodiscardfinalprivate |
|
finalprivate |
intf::http::Response mw::dcc::Service::turnoutsDeleteRequest | ( | intf::http::Request const & | req | ) |
intf::http::Response mw::dcc::Service::turnoutsGetRequest | ( | intf::http::Request const & | req | ) |
intf::http::Response mw::dcc::Service::turnoutsPutRequest | ( | intf::http::Request const & | req | ) |
void mw::dcc::Service::z21 | ( | std::shared_ptr< z21::server::intf::System > | z21_system_service, |
std::shared_ptr< z21::server::intf::Dcc > | z21_dcc_service ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |