Instrument Neutral Distributed Interface INDI 2.2.5
Classes | Typedefs | Enumerations | Functions
geminipbh::instrumentation Namespace Reference

Classes

struct  ConnectionPayload
 
class  Dispatcher
 
struct  Event
 
class  EventFormatter
 
class  EventLogger
 
struct  FieldChange
 
struct  FieldChangesPayload
 
struct  FramePayload
 
struct  NamedValue
 
struct  ParserAnomalyPayload
 
struct  ReconnectAttemptPayload
 
struct  StatusDecodedPayload
 
struct  TimingPayload
 
struct  VerificationPayload
 
struct  WarningPayload
 

Typedefs

using Value = std::variant< std::monostate, bool, std::int64_t, std::uint64_t, double, std::string >
 
using Payload = std::variant< ConnectionPayload, FramePayload, StatusDecodedPayload, FieldChangesPayload, VerificationPayload, WarningPayload, ParserAnomalyPayload, ReconnectAttemptPayload, TimingPayload >
 

Enumerations

enum class  Level {
  Off = 0 , Error , Info , Protocol ,
  Verbose , Trace
}
 
enum class  EventType {
  Connection , FrameTransmitted , FrameReceived , StatusDecoded ,
  FieldChanges , Verification , Warning , ParserAnomaly ,
  ReconnectAttempt , Timing
}
 
enum class  ConnectionState { Connected , Disconnected , CommunicationFailure , ReconnectSuccess }
 
enum class  FrameDirection { Tx , Rx }
 
enum class  VerificationOperation { CommandStateConfirm }
 
enum class  VerificationOutcome { Passed , Failed }
 
enum class  WarningCode {
  FirmwareBelowRecommended , QueueFull , WritesNotAccepted , QueuedCommandsDiscarded ,
  CallbackException , TransportError , SerialWriteFailed , ProtocolRejected
}
 
enum class  ParserAnomalyCode {
  MalformedStatusFrame , IgnoredFrameWhileWaiting , UnexpectedFrame , OversizedFrameDiscarded ,
  MissingTerminator , TrailingData , InvalidField , OutOfRangeField
}
 
enum class  ReconnectResult {
  Starting , AttemptFailed , Succeeded , Cancelled ,
  Exhausted
}
 
enum class  TimingOperation {
  Open , Handshake , ReadFirmware , FirstStatusFrame ,
  Connect , ReconnectAttempt , SyncWrite , AsyncWrite ,
  ParseStatusPayload
}
 

Functions

Event makeEvent (Level level, EventType type, Payload payload)
 
const char * toString (Level level)
 
const char * toString (EventType type)
 
const char * toString (ConnectionState state)
 
const char * toString (FrameDirection direction)
 
const char * toString (VerificationOperation operation)
 
const char * toString (VerificationOutcome outcome)
 
const char * toString (WarningCode code)
 
const char * toString (ParserAnomalyCode code)
 
const char * toString (ReconnectResult result)
 
const char * toString (TimingOperation operation)
 
std::string formatValue (const Value &value)
 
std::string escapeFrame (const std::string &frame)
 

Typedef Documentation

◆ Payload

Definition at line 201 of file instrumentation.h.

◆ Value

using geminipbh::instrumentation::Value = typedef std::variant<std::monostate, bool, std::int64_t, std::uint64_t, double, std::string>

Definition at line 122 of file instrumentation.h.

Enumeration Type Documentation

◆ ConnectionState

Enumerator
Connected 
Disconnected 
CommunicationFailure 
ReconnectSuccess 

Definition at line 64 of file instrumentation.h.

◆ EventType

Enumerator
Connection 
FrameTransmitted 
FrameReceived 
StatusDecoded 
FieldChanges 
Verification 
Warning 
ParserAnomaly 
ReconnectAttempt 
Timing 

Definition at line 50 of file instrumentation.h.

◆ FrameDirection

Enumerator
Tx 
Rx 

Definition at line 72 of file instrumentation.h.

◆ Level

Enumerator
Off 
Error 
Info 
Protocol 
Verbose 
Trace 

Definition at line 40 of file instrumentation.h.

◆ ParserAnomalyCode

Enumerator
MalformedStatusFrame 
IgnoredFrameWhileWaiting 
UnexpectedFrame 
OversizedFrameDiscarded 
MissingTerminator 
TrailingData 
InvalidField 
OutOfRangeField 

Definition at line 88 of file instrumentation.h.

◆ ReconnectResult

Enumerator
Starting 
AttemptFailed 
Succeeded 
Cancelled 
Exhausted 

Definition at line 100 of file instrumentation.h.

◆ TimingOperation

Enumerator
Open 
Handshake 
ReadFirmware 
FirstStatusFrame 
Connect 
ReconnectAttempt 
SyncWrite 
AsyncWrite 
ParseStatusPayload 

Definition at line 109 of file instrumentation.h.

◆ VerificationOperation

Enumerator
CommandStateConfirm 

Definition at line 73 of file instrumentation.h.

◆ VerificationOutcome

Enumerator
Passed 
Failed 

Definition at line 74 of file instrumentation.h.

◆ WarningCode

Enumerator
FirmwareBelowRecommended 
QueueFull 
WritesNotAccepted 
QueuedCommandsDiscarded 
CallbackException 
TransportError 
SerialWriteFailed 
ProtocolRejected 

Definition at line 76 of file instrumentation.h.

Function Documentation

◆ escapeFrame()

std::string geminipbh::instrumentation::escapeFrame ( const std::string &  frame)

Definition at line 443 of file instrumentation.cpp.

◆ formatValue()

std::string geminipbh::instrumentation::formatValue ( const Value &  value)

Definition at line 409 of file instrumentation.cpp.

◆ makeEvent()

Event geminipbh::instrumentation::makeEvent ( Level  level,
EventType  type,
Payload  payload 
)

Definition at line 208 of file instrumentation.cpp.

◆ toString() [1/10]

const char * geminipbh::instrumentation::toString ( ConnectionState  state)

Definition at line 267 of file instrumentation.cpp.

◆ toString() [2/10]

const char * geminipbh::instrumentation::toString ( EventType  type)

Definition at line 239 of file instrumentation.cpp.

◆ toString() [3/10]

const char * geminipbh::instrumentation::toString ( FrameDirection  direction)

Definition at line 283 of file instrumentation.cpp.

◆ toString() [4/10]

const char * geminipbh::instrumentation::toString ( Level  level)

Definition at line 219 of file instrumentation.cpp.

◆ toString() [5/10]

const char * geminipbh::instrumentation::toString ( ParserAnomalyCode  code)

Definition at line 341 of file instrumentation.cpp.

◆ toString() [6/10]

const char * geminipbh::instrumentation::toString ( ReconnectResult  result)

Definition at line 365 of file instrumentation.cpp.

◆ toString() [7/10]

const char * geminipbh::instrumentation::toString ( TimingOperation  operation)

Definition at line 383 of file instrumentation.cpp.

◆ toString() [8/10]

const char * geminipbh::instrumentation::toString ( VerificationOperation  operation)

Definition at line 295 of file instrumentation.cpp.

◆ toString() [9/10]

const char * geminipbh::instrumentation::toString ( VerificationOutcome  outcome)

Definition at line 305 of file instrumentation.cpp.

◆ toString() [10/10]

const char * geminipbh::instrumentation::toString ( WarningCode  code)

Definition at line 317 of file instrumentation.cpp.