REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
#include <run_manager.h>

Public Member Functions | |
RunManager (RunManager &other)=delete | |
void | operator= (const RunManager &other)=delete |
bool | end_repetitive_runs () |
Returns true on success. | |
void | clear_queue () |
Clears the run queue. | |
void | run_next (carrier::Carrier &carrier_, run::RunStateChangeHandler *state_change_handler, run::RunDataHandler *run_data_handler, client::StreamingRunDataNotificationHandler *alt_run_data_handler) |
void | run_next_flexio (run::Run &run, run::RunStateChangeHandler *state_change_handler, run::RunDataHandler *run_data_handler) |
void | run_next_traditional (run::Run &run, run::RunStateChangeHandler *state_change_handler, run::RunDataHandler *run_data_handler, client::StreamingRunDataNotificationHandler *alt_run_data_handler) |
int | start_run (JsonObjectConst msg_in, JsonObject &msg_out) |
Static Public Member Functions | |
static RunManager & | get () |
Public Attributes | |
std::queue< run::Run > | queue |
Protected Member Functions | |
RunManager ()=default | |
Detailed Description
Definition at line 19 of file run_manager.h.
Constructor & Destructor Documentation
◆ RunManager() [1/2]
|
protecteddefault |
◆ RunManager() [2/2]
|
delete |
Member Function Documentation
◆ clear_queue()
|
inline |
◆ end_repetitive_runs()
|
inline |
Returns true on success.
Definition at line 35 of file run_manager.h.
References queue.
Referenced by msg::handlers::StopRunRequestHandler::handle().
◆ get()
|
inlinestatic |
Definition at line 32 of file run_manager.h.
Referenced by msg::handlers::ManualControlHandler::can_manual_control(), msg::handlers::StartRunRequestHandler::handle(), msg::handlers::StopRunRequestHandler::handle(), and msg::JsonLinesProtocol::process_out_of_band_handlers().
◆ operator=()
|
delete |
◆ run_next()
FLASHMEM void run::RunManager::run_next | ( | carrier::Carrier & | carrier_, |
run::RunStateChangeHandler * | state_change_handler, | ||
run::RunDataHandler * | run_data_handler, | ||
client::StreamingRunDataNotificationHandler * | alt_run_data_handler ) |
Definition at line 21 of file run_manager.cpp.
References carrier_, LOG_ALWAYS, LOG_ERROR, queue, run_next_flexio(), and run_next_traditional().
Referenced by msg::JsonLinesProtocol::process_out_of_band_handlers().
◆ run_next_flexio()
void run::RunManager::run_next_flexio | ( | run::Run & | run, |
run::RunStateChangeHandler * | state_change_handler, | ||
run::RunDataHandler * | run_data_handler ) |
Definition at line 178 of file run_manager.cpp.
References run::DONE, run::ERROR, mode::FlexIOControl::force_start(), daq::stream::get(), utils::HeapSingleton< PerformanceCounter >::get(), mode::FlexIOControl::get_actual_op_time(), mode::HALT, run::RunStateChangeHandler::handle(), mode::IC, mode::IGNORE, mode::FlexIOControl::init(), run::RunDataHandler::init(), mode::FlexIOControl::is_done(), LOG_ERROR, mode::OP, run::RunDataHandler::prepare(), mode::FlexIOControl::reset(), and mode::FlexIOControl::to_end().
Referenced by run_next().
◆ run_next_traditional()
void run::RunManager::run_next_traditional | ( | run::Run & | run, |
run::RunStateChangeHandler * | state_change_handler, | ||
run::RunDataHandler * | run_data_handler, | ||
client::StreamingRunDataNotificationHandler * | alt_run_data_handler ) |
Definition at line 43 of file run_manager.cpp.
References run::DONE, mode::RealManualControl::enable(), run::ERROR, client::StreamingRunDataNotificationHandler::handle(), run::RunStateChangeHandler::handle(), LOG_ERROR, LOGMEV, daq::NUM_CHANNELS, daq::sample_raw(), mode::RealManualControl::to_halt(), mode::RealManualControl::to_ic(), mode::RealManualControl::to_op(), and uint32_t.
Referenced by run_next().
Member Data Documentation
◆ queue
std::queue<run::Run> run::RunManager::queue |
Definition at line 27 of file run_manager.h.
Referenced by clear_queue(), end_repetitive_runs(), and run_next().
The documentation for this class was generated from the following files:
- lib/computation/src/run/run_manager.h
- lib/computation/src/run/run_manager.cpp