Instrument Neutral Distributed Interface INDI 2.2.5
Classes | Namespaces | Enumerations | Functions
driver_support.h File Reference
#include <algorithm>
#include <chrono>
#include <cstddef>
#include <cstring>
#include <deque>
#include <mutex>
#include <optional>
#include <vector>
#include "indi-gemini-pbh/connection_event.h"
#include "indi-gemini-pbh/instrumentation.h"
#include "indi-gemini-pbh/operation_confirmation.h"

Go to the source code of this file.

Classes

struct  geminipbh::indi_driver::PendingOperation
 
class  geminipbh::indi_driver::CallbackStaging
 

Namespaces

namespace  geminipbh
 
namespace  geminipbh::indi_driver
 

Enumerations

enum class  geminipbh::indi_driver::DriverPropertyState { geminipbh::indi_driver::Idle , geminipbh::indi_driver::Ok , geminipbh::indi_driver::Busy , geminipbh::indi_driver::Alert }
 
enum class  geminipbh::indi_driver::PendingOperationKind { geminipbh::indi_driver::DcOutput , geminipbh::indi_driver::UsbOutput , geminipbh::indi_driver::HeaterEnabled , geminipbh::indi_driver::HeaterMode }
 
enum class  geminipbh::indi_driver::PendingEvaluation {
  geminipbh::indi_driver::Confirmed , geminipbh::indi_driver::Pending , geminipbh::indi_driver::Timeout , geminipbh::indi_driver::NotConfirmable ,
  geminipbh::indi_driver::InvalidTarget , geminipbh::indi_driver::ValueUnavailable
}
 

Functions

const char * geminipbh::indi_driver::errorName (Error error)
 
DriverPropertyState geminipbh::indi_driver::propertyStateForImmediateResult (Result result)
 
const char * geminipbh::indi_driver::pendingOperationName (PendingOperationKind kind)
 
bool geminipbh::indi_driver::sameLogicalOperation (const PendingOperation &operation, PendingOperationKind kind, std::size_t index)
 
void geminipbh::indi_driver::replacePendingOperation (std::vector< PendingOperation > &operations, PendingOperation replacement)
 
ValueResult< OperationTarget > geminipbh::indi_driver::makeBooleanTarget (PendingOperationKind kind, std::size_t index, bool enabled)
 
ValueResult< OperationTarget > geminipbh::indi_driver::makeHeaterModeTarget (std::size_t index, HeaterMode mode)
 
PendingEvaluation geminipbh::indi_driver::evaluatePendingOperation (const PendingOperation &operation, const TelemetrySnapshot *snapshot, std::chrono::steady_clock::time_point now)
 
const char * geminipbh::indi_driver::heaterModeName (HeaterMode mode)
 
bool geminipbh::indi_driver::heaterModeFromSwitchName (const char *name, HeaterMode &mode)
 
std::size_t geminipbh::indi_driver::heaterModeSwitchIndex (HeaterMode mode)
 
bool geminipbh::indi_driver::manualPowerIsTelemetryConfirmable ()
 
bool geminipbh::indi_driver::instrumentationDuplicatesSemanticDriverLog (const instrumentation::Event &event)