|
OpenScanDeviceLib
OpenScan Device Programming Interface
|
Public header for OpenScanDeviceLib. More...
#include <stdbool.h>#include <stdint.h>#include <stdlib.h>

Go to the source code of this file.
Data Structures | |
| struct | OScDev_DeviceImpl |
| struct | OScDev_ModuleImpl |
| The module implementation function table. More... | |
| struct | OScDev_SettingImpl |
| struct | OScDevInternal_Interface |
| Interface function table for module to call OpenScanLib. More... | |
Macros | |
| #define | OScDev_API static inline |
| #define | OScDev_CHECK(err, call) ((err = (call)) != OScDev_OK) |
| Convenience macro for checking error return values. More... | |
| #define | OScDev_MAX_STR_LEN (OScDev_MAX_STR_SIZE - 1) |
| Maximum length for strings copied to provided buffer. | |
| #define | OScDev_MAX_STR_SIZE 512 |
| Buffer size for fixed-length strings. | |
| #define | OScDev_MODULE_IMPL OScDev_ModuleImpl OScDevInternal_TheModuleImpl |
| Define the device module implementation. More... | |
| #define | OScDev_RichError_OK ((OScDev_RichError *)NULL) |
| #define | OScDevInternal_ABI_VERSION OScDevInternal_MAKE_VERSION(13, 0) |
| Binary interface version between device module and OpenScanLib. More... | |
| #define | OScDevInternal_MAKE_VERSION(major, minor) (((uint32_t)(major) << 16) | (uint16_t)(minor)) |
| Create an ABI version number. More... | |
Typedefs | |
| typedef struct OScInternal_AcquisitionForDevice | OScDev_Acquisition |
| typedef int32_t | OScDev_ClockSource |
| typedef struct OScInternal_Device | OScDev_Device |
| typedef struct OScDev_DeviceImpl | OScDev_DeviceImpl |
| typedef int32_t | OScDev_Error |
| Error return value. More... | |
| typedef int32_t | OScDev_ErrorCodeFormat |
| typedef int32_t | OScDev_LogLevel |
| Log level. | |
| typedef struct OScDev_ModuleImpl | OScDev_ModuleImpl |
| typedef struct OScInternal_NumArray | OScDev_NumArray |
| Dynamic or static array of numbers. More... | |
| typedef struct OScInternal_NumRange | OScDev_NumRange |
| Continuous or discrete numerical range. More... | |
| typedef struct OScInternal_PtrArray | OScDev_PtrArray |
| Dynamic or static array of pointers. More... | |
| typedef struct RERR_Error | OScDev_RichError |
| typedef struct OScInternal_Setting | OScDev_Setting |
| typedef struct OScDev_SettingImpl | OScDev_SettingImpl |
| typedef int32_t | OScDev_TriggerSource |
| typedef int32_t | OScDev_ValueConstraint |
| typedef int32_t | OScDev_ValueType |
Enumerations | |
| enum | { OScDev_LogLevel_Debug , OScDev_LogLevel_Info , OScDev_LogLevel_Warning , OScDev_LogLevel_Error } |
| Constants for OScDev_LogLevel. | |
| enum | { OScDev_ErrorCodeFormat_I32 = 1 , OScDev_ErrorCodeFormat_U32 = 2 , OScDev_ErrorCodeFormat_Hex32 = 4 , OScDev_ErrorCodeFormat_I16 = 8 , OScDev_ErrorCodeFormat_U16 = 16 , OScDev_ErrorCodeFormat_Hex16 , OScDev_ErrorCodeFormat_HexNoPad = 1 << 31 } |
| enum | { OScDev_OK = 0 , OScDev_Error_Unknown = 10000 , OScDev_Error_Unsupported_Operation , OScDev_Error_Illegal_Argument , OScDev_Error_Device_Module_Already_Exists , OScDev_Error_No_Such_Device_Module , OScDev_Error_Driver_Not_Available , OScDev_Error_Device_Already_Open , OScDev_Error_Device_Not_Opened_For_LSM , OScDev_Error_Device_Does_Not_Support_Clock , OScDev_Error_Device_Does_Not_Support_Scanner , OScDev_Error_Device_Does_Not_Support_Detector , OScDev_Error_Wrong_Value_Type , OScDev_Error_Setting_Not_Writable , OScDev_Error_Wrong_Constraint_Type , OScDev_Error_Unknown_Enum_Value_Name , OScDev_Error_Acquisition_Running , OScDev_Error_Not_Armed , OScDev_Error_Waveform_Out_Of_Range , OScDev_Error_Waveform_Memory_Size_Mismatch , OScDev_Error_Data_Left_In_Fifo_After_Reading_Image } |
| enum | { OScDev_TriggerSource_Software , OScDev_TriggerSource_External } |
| enum | { OScDev_ClockSource_Internal , OScDev_ClockSource_External } |
| enum | { OScDev_ValueType_String , OScDev_ValueType_Bool , OScDev_ValueType_Int32 , OScDev_ValueType_Float64 , OScDev_ValueType_Enum } |
| enum | { OScDev_ValueConstraint_None , OScDev_ValueConstraint_DiscreteValues , OScDev_ValueConstraint_Range } |
Functions | |
| bool | OScDev_Acquisition_CallFrameCallback (OScDev_Acquisition *acq, uint32_t channel, void *pixels) |
| Send acquired data for one channel of a frame. More... | |
| OScDev_Error | OScDev_Acquisition_GetClockSource (OScDev_Acquisition *acq, OScDev_ClockSource *clock) |
| Determine the scanner and detector clock source for the given acquisition. More... | |
| OScDev_Error | OScDev_Acquisition_GetClockStartTriggerSource (OScDev_Acquisition *acq, OScDev_TriggerSource *startTrigger) |
| Determine the start trigger source for the clock for the given acquisition. More... | |
| uint32_t | OScDev_Acquisition_GetNumberOfFrames (OScDev_Acquisition *acq) |
| Determine the requested number of frames for the given acquisition. | |
| double | OScDev_Acquisition_GetPixelRate (OScDev_Acquisition *acq) |
| uint32_t | OScDev_Acquisition_GetResolution (OScDev_Acquisition *acq) |
| void | OScDev_Acquisition_GetROI (OScDev_Acquisition *acq, uint32_t *xOffset, uint32_t *yOffset, uint32_t *width, uint32_t *height) |
| double | OScDev_Acquisition_GetZoomFactor (OScDev_Acquisition *acq) |
| OScDev_Error | OScDev_Acquisition_IsClockRequested (OScDev_Acquisition *acq, bool *isRequested) |
| OScDev_Error | OScDev_Acquisition_IsDetectorRequested (OScDev_Acquisition *acq, bool *isRequested) |
| OScDev_Error | OScDev_Acquisition_IsScannerRequested (OScDev_Acquisition *acq, bool *isRequested) |
| OScDev_Error | OScDev_Device_Create (OScDev_Device **device, OScDev_DeviceImpl *impl, void *data) |
| void * | OScDev_Device_GetImplData (OScDev_Device *device) |
| OScDev_RichError * | OScDev_Error_AsRichError (OScDev_Error code) |
| OScDev_RichError * | OScDev_Error_Create (const char *message) |
| OScDev_RichError * | OScDev_Error_CreateWithCode (const char *domainName, int32_t code, const char *message) |
| void | OScDev_Error_Destroy (OScDev_RichError *error) |
| void | OScDev_Error_Format (OScDev_RichError *error, char *buffer, size_t bufsize) |
| void | OScDev_Error_FormatRecursive (OScDev_RichError *error, char *buffer, size_t bufsize) |
| OScDev_RichError * | OScDev_Error_GetCause (OScDev_RichError *error) |
| int32_t | OScDev_Error_GetCode (OScDev_RichError *error) |
| const char * | OScDev_Error_GetDomain (OScDev_RichError *error) |
| const char * | OScDev_Error_GetMessage (OScDev_RichError *error) |
| OScDev_RichError * | OScDev_Error_RegisterCodeDomain (const char *domainName, OScDev_ErrorCodeFormat codeFormat) |
| OScDev_Error | OScDev_Error_ReturnAsCode (OScDev_RichError *error) |
| OScDev_RichError * | OScDev_Error_Wrap (OScDev_RichError *cause, const char *message) |
| OScDev_RichError * | OScDev_Error_WrapWithCode (OScDev_RichError *cause, const char *domainName, int32_t code, const char *message) |
| void | OScDev_Log (OScDev_Device *device, OScDev_LogLevel level, const char *message) |
| Log a message. | |
| void | OScDev_Log_Debug (OScDev_Device *device, const char *message) |
| Log a debug-level message. | |
| void | OScDev_Log_Error (OScDev_Device *device, const char *message) |
| Log an error-level message. | |
| void | OScDev_Log_Info (OScDev_Device *device, const char *message) |
| Log an info-level message. | |
| void | OScDev_Log_Warning (OScDev_Device *device, const char *message) |
| Log a warning-level message. | |
| void | OScDev_NumArray_Append (OScDev_NumArray *arr, double val) |
| Append a value to an array. | |
| double | OScDev_NumArray_At (const OScDev_NumArray *arr, size_t index) |
| OScDev_NumArray * | OScDev_NumArray_Create (void) |
| Create an array of numbers. | |
| OScDev_NumArray * | OScDev_NumArray_CreateFromNaNTerminated (const double *nanTerminatedArray) |
| void | OScDev_NumArray_Destroy (const OScDev_NumArray *arr) |
| Destroy (free) an array of numbers. | |
| bool | OScDev_NumArray_Empty (const OScDev_NumArray *arr) |
| size_t | OScDev_NumArray_Size (const OScDev_NumArray *arr) |
| void | OScDev_NumRange_AppendDiscrete (OScDev_NumRange *range, double value) |
| OScDev_NumRange * | OScDev_NumRange_CreateContinuous (double rMin, double rMax) |
| OScDev_NumRange * | OScDev_NumRange_CreateDiscrete (void) |
| OScDev_NumRange * | OScDev_NumRange_CreateDiscreteFromNaNTerminated (const double *nanTerminatedArray) |
| void | OScDev_NumRange_Destroy (const OScDev_NumRange *range) |
| void | OScDev_PtrArray_Append (OScDev_PtrArray *arr, void *obj) |
| Append an object to an array. | |
| void * | OScDev_PtrArray_At (const OScDev_PtrArray *arr, size_t index) |
| OScDev_PtrArray * | OScDev_PtrArray_Create (void) |
| Create an array of objects. | |
| OScDev_PtrArray * | OScDev_PtrArray_CreateFromNullTerminated (void *const *nullTerminatedArray) |
| void | OScDev_PtrArray_Destroy (const OScDev_PtrArray *arr) |
| Destroy (free) an array of objects. | |
| bool | OScDev_PtrArray_Empty (const OScDev_PtrArray *arr) |
| size_t | OScDev_PtrArray_Size (const OScDev_PtrArray *arr) |
| OScDev_Error | OScDev_Setting_Create (OScDev_Setting **setting, const char *name, OScDev_ValueType valueType, OScDev_SettingImpl *impl, void *data) |
| void | OScDev_Setting_Destroy (OScDev_Setting *setting) |
| void * | OScDev_Setting_GetImplData (OScDev_Setting *setting) |
Variables | |
| struct OScDevInternal_Interface * | OScDevInternal_FunctionTable |
| Pointer to the interface function table provided by OpenScanLib. | |
| OScDev_ModuleImpl | OScDevInternal_TheModuleImpl |
| Pointer to the module implementation provided by the device module. More... | |
Public header for OpenScanDeviceLib.
This header is to be included by modules implementing OpenScan devices.
Definition in file OpenScanDeviceLib.h.