8#ifndef logger_types_telem_adctrack_hpp
9#define logger_types_telem_adctrack_hpp
54 static_cast<size_t>( len ) );
63 static_cast<void>( len );
67 std::string msg =
"[adctrack] ";
70 msg += fbs->tracking() ?
"On " :
"Off ";
72 msg +=
"delta_angle: ";
73 msg += std::to_string( fbs->delta_angle() ) +
" ";
75 msg +=
"adc1_delta: ";
76 msg += std::to_string( fbs->adc1_delta() ) +
" ";
78 msg +=
"adc2_delta: ";
79 msg += std::to_string( fbs->adc2_delta() ) +
" ";
82 msg += std::to_string( fbs->min_zd() ) +
" ";
90 return fbs->tracking();
96 return fbs->delta_angle();
102 return fbs->adc1_delta();
108 return fbs->adc2_delta();
114 return fbs->min_zd();
124 if( member ==
"tracking" )
129 reinterpret_cast<void *
>( &
tracking ) } );
131 else if( member ==
"delta_angle" )
138 else if( member ==
"adc1_delta" )
145 else if( member ==
"adc2_delta" )
152 else if( member ==
"min_zd" )
157 reinterpret_cast<void *
>( &
min_zd ) } );
161 std::cerr <<
"No member " << member <<
" in telem_adctrack\n";
The MagAO-X logger flatbuffer log base type.
uint16_t eventCodeT
The type of an event code (16-bit unsigned int).
msgLen2T msgLenT
The type used to refer to the message length, regardless of length.
int8_t logPrioT
The type of the log priority code.
static void * messageBuffer(bufferPtrT &logBuffer)
Get the message buffer address.
std::shared_ptr< char > bufferPtrT
The log entry buffer smart pointer.
static constexpr flatlogs::eventCodeT TELEM_ADCTRACK
const MagAOX::logger::Telem_adctrack_fb * GetTelem_adctrack_fb(const void *buf)
bool VerifyTelem_adctrack_fbBuffer(::flatbuffers::Verifier &verifier)
inline ::flatbuffers::Offset< Telem_adctrack_fb > CreateTelem_adctrack_fb(::flatbuffers::FlatBufferBuilder &_fbb, bool tracking=false, float delta_angle=0.0f, float adc1_delta=0.0f, float adc2_delta=0.0f, float min_zd=0.0f)
static constexpr logPrioT LOG_TELEM
A telemetry recording.
Message type for resolving log messages with a f.b. builder.
flatbuffers::FlatBufferBuilder builder
Base class for logs consisting of a flatbuffer message.
The type of the input message.
messageT(const bool &tracking, const float &delta_angle, const float &adc1_delta, const float &adc2_delta, const float &min_zd)
Construct from components.
Log entry recording ADC tracker operator-adjustable state.
static float min_zd(void *msgBuffer)
static std::string msgString(void *msgBuffer, flatlogs::msgLenT len)
Get the message formatted for human consumption.
static float delta_angle(void *msgBuffer)
static bool tracking(void *msgBuffer)
static timespec lastRecord
The timestamp of the last time this log was recorded. Used by the telemetry system.
static const flatlogs::eventCodeT eventCode
The event code.
static float adc1_delta(void *msgBuffer)
static float adc2_delta(void *msgBuffer)
static const flatlogs::logPrioT defaultLevel
The default level.
static logMetaDetail getAccessor(const std::string &member)
Get the logMetaDetail for a member by name.
static bool verify(flatlogs::bufferPtrT &logBuff, flatlogs::msgLenT len)