REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
This class allows to compose a specific JSON message without using ArduinoJSON. More...
#include <protocol_oob.h>


Public Member Functions | |
RunDataNotificationHandler (carrier::Carrier &carrier, Print &target) | |
void | prepare (run::Run &run) override |
void | handle (volatile uint32_t *data, size_t outer_count, size_t inner_count, const run::Run &run) override |
void | stream (volatile uint32_t *buffer, run::Run &run) override |
![]() | |
virtual void | init () |
Static Public Member Functions | |
static size_t | calculate_inner_buffer_length (size_t inner_count) |
static size_t | calculate_outer_buffer_position (size_t outer_count, size_t inner_count) |
static size_t | calculate_total_buffer_length (size_t outer_count, size_t inner_count) |
Public Attributes | |
carrier::Carrier & | carrier |
Print & | target |
![]() | |
volatile bool | first_data = false |
volatile bool | last_data = false |
Detailed Description
This class allows to compose a specific JSON message without using ArduinoJSON.
The message contains ADC/DAQ data and using ArduinoJSON buffering turns out to be toos slow in practice.
The class is only used internally in the RunStateChangeNotificationHandler.
This class is rather hacky, should be considered to be replaced with
- See also
- utils::StreamingJson or even some tailored binary stuff, see tickets/issues where JSON alternatives are discussed.
Definition at line 44 of file protocol_oob.h.
Constructor & Destructor Documentation
◆ RunDataNotificationHandler()
FLASHMEM client::RunDataNotificationHandler::RunDataNotificationHandler | ( | carrier::Carrier & | carrier, |
Print & | target ) |
Definition at line 30 of file protocol_oob.cpp.
Member Function Documentation
◆ calculate_inner_buffer_length()
|
static |
Definition at line 115 of file protocol_oob.cpp.
◆ calculate_outer_buffer_position()
|
static |
Definition at line 120 of file protocol_oob.cpp.
◆ calculate_total_buffer_length()
|
static |
Definition at line 127 of file protocol_oob.cpp.
◆ handle()
|
overridevirtual |
Implements run::RunDataHandler.
Definition at line 33 of file protocol_oob.cpp.
References LOG_ERROR, daq::raw_to_float(), daq::raw_to_str(), and uint32_t.
◆ prepare()
|
overridevirtual |
Implements run::RunDataHandler.
Definition at line 89 of file protocol_oob.cpp.
◆ stream()
|
overridevirtual |
Implements run::RunDataHandler.
Definition at line 85 of file protocol_oob.cpp.
Member Data Documentation
◆ carrier
carrier::Carrier& client::RunDataNotificationHandler::carrier |
Definition at line 48 of file protocol_oob.h.
◆ target
Print& client::RunDataNotificationHandler::target |
Definition at line 49 of file protocol_oob.h.
The documentation for this class was generated from the following files:
- lib/communication/src/protocol/protocol_oob.h
- lib/communication/src/protocol/protocol_oob.cpp