29 #ifndef CLPROTOCOL_CLPROTOCOL_H 30 #define CLPROTOCOL_CLPROTOCOL_H 32 #include <CLProtocol/ClSerialTypes.h> 40 #if (defined(__cplusplus) || defined(__cplusplus__)) 41 #define USER_EXTERN_C extern "C" 42 #define USER_EXTERN_C_START extern "C" { 43 #define USER_EXTERN_C_END } 46 #define USER_EXTERN_C_START 47 #define USER_EXTERN_C_END 50 #ifdef CLPROTOCOL_EXPORTS 52 #define CLPROTOCOLEXPORT USER_EXTERN_C __declspec(dllexport) 53 #define CLPROTOCOL_DECL __declspec(dllexport) 55 #define CLPROTOCOLEXPORT USER_EXTERN_C __attribute__((visibility("default"))) 56 #define CLPROTOCOL_DECL __attribute__((visibility("default"))) 60 #define CLPROTOCOLEXPORT USER_EXTERN_C __declspec(dllimport) 61 #define CLPROTOCOL_DECL __declspec(dllimport) 63 #define CLPROTOCOLEXPORT USER_EXTERN_C __attribute__((visibility("default"))) 64 #define CLPROTOCOL_DECL __attribute__((visibility("default"))) 70 #define CLPROTOCOL __cdecl 72 #if !defined(__x86_64) && !defined(__arm__) && !defined(__aarch64__) && !defined(VXWORKS) 73 #define CLPROTOCOL __attribute__((cdecl)) 84 typedef void (CLPROTOCOL *clp_logger_t)( CLINT32 level,
const char* stringFormat, va_list argptr);
86 typedef struct clpLogCallback_t
101 CLP_LOG_CALLBACK = 2,
103 CLP_STOP_PROBE_DEVICE = 3,
106 CLP_DEVICE_BAUDERATE = -1,
110 CLP_DEVICE_SUPPORTED_BAUDERATES = -2
116 enum CLP_LOG_LEVEL_VALUE
123 CLP_LOG_NOTICE = 500,
153 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
155 CLP_LOG_LEVEL_VALUE logLevel);
163 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
238 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
clpProbeDevice(
ISerial *pSerial,
const CLINT8* pDeviceIDTemplate, CLINT8* pDeviceID, CLUINT32 *pBufferSize, CLUINT32 *pCookie,
const CLUINT32 TimeOut );
281 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
clpGetXMLIDs (
ISerial *pSerial,
const CLUINT32 Cookie, CLINT8* pXMLIDs, CLUINT32* pBufferSize,
const CLUINT32 TimeOut );
318 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
319 clpGetXMLDescription(
ISerial *pSerial,
const CLUINT32 Cookie,
const CLINT8* pXMLID, CLINT8* pXMLBuffer, CLUINT32* pBufferSize,
const CLUINT32 TimeOut );
351 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
352 clpReadRegister(
ISerial *pSerial,
const CLUINT32 Cookie,
const CLINT64 Address, CLINT8* pBuffer,
const CLINT64 BufferSize,
const CLUINT32 TimeOut );
386 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
387 clpWriteRegister(
ISerial *pSerial,
const CLUINT32 Cookie,
const CLINT64 Address,
const CLINT8* pBuffer,
const CLINT64 BufferSize,
const CLUINT32 TimeOut );
412 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
444 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
445 clpGetErrorText( CLINT32 errorCode, CLINT8* errorText, CLUINT32* errorTextSize,
const CLUINT32 Cookie = 0);
459 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
473 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
495 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
496 clpGetParam(
ISerial *pSerial, CLP_PARAMS param,
const CLUINT32 Cookie, CLINT8* pBuffer,
const CLINT64 BufferSize,
const CLUINT32 TimeOut);
516 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
517 clpSetParam(
ISerial *pSerial, CLP_PARAMS param,
const CLUINT32 Cookie,
const CLINT8* pBuffer,
const CLINT64 BufferSize,
const CLUINT32 TimeOut);
528 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
554 CLPROTOCOLEXPORT CLINT32 CLPROTOCOL
555 clpGetEventData(
const CLUINT32 Cookie, CLINT8* pBuffer, CLUINT32* pBufferSize);
562 #endif // CLPROTOCOL_CLPROTOCOL_H CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpGetParam(ISerial *pSerial, CLP_PARAMS param, const CLUINT32 Cookie, CLINT8 *pBuffer, const CLINT64 BufferSize, const CLUINT32 TimeOut)
This function is call to read a CLProtocol parameter value.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpSetParam(ISerial *pSerial, CLP_PARAMS param, const CLUINT32 Cookie, const CLINT8 *pBuffer, const CLINT64 BufferSize, const CLUINT32 TimeOut)
This function is call to change a CLProtocol parameter value.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpProbeDevice(ISerial *pSerial, const CLINT8 *pDeviceIDTemplate, CLINT8 *pDeviceID, CLUINT32 *pBufferSize, CLUINT32 *pCookie, const CLUINT32 TimeOut)
Connects and identifies the device and returns a DeviceID.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpInitLib(clp_logger_t logger, CLP_LOG_LEVEL_VALUE logLevel)
This function is call to initialize the library after it is loaded.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpGetErrorText(CLINT32 errorCode, CLINT8 *errorText, CLUINT32 *errorTextSize, const CLUINT32 Cookie=0)
This function converts an error code to error text for display in a dialog box or in a standard I/O w...
Abstract interface used by the CLProtocol driver to use a serial port.
Definition: ISerial.h:42
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpContinueWriteRegister(ISerial *pSerial, const CLUINT32 Cookie, const BOOL8 ContinueWaiting, const CLUINT32 TimeOut)
Calling This function is called after a write function returned CL_ERR_PENDING_WRITE. It either issues another wait for write cycle or cancels the write action.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpIsParamSupported(CLP_PARAMS param)
This function is call know if a parameter is supported by a CLProtocol.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpDisconnect(const CLUINT32 Cookie)
This function disconnects the DLL from the device.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpCloseLib(void)
This function is call to close the library before unloading.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpGetShortDeviceIDTemplates(CLINT8 *pShortDeviceTemplates, CLUINT32 *pBufferSize)
This function returns a list of short device templates coded into a single string.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpGetEventData(const CLUINT32 Cookie, CLINT8 *pBuffer, CLUINT32 *pBufferSize)
This function is call to get a possible event by a CLProtocol.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpGetXMLDescription(ISerial *pSerial, const CLUINT32 Cookie, const CLINT8 *pXMLID, CLINT8 *pXMLBuffer, CLUINT32 *pBufferSize, const CLUINT32 TimeOut)
This function retrieves an XML file from the camera if possible.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpGetCLProtocolVersion(CLUINT32 *pVersionMajor, CLUINT32 *pVersionMinor)
This function returns the version of the CLProtocol interface version.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpWriteRegister(ISerial *pSerial, const CLUINT32 Cookie, const CLINT64 Address, const CLINT8 *pBuffer, const CLINT64 BufferSize, const CLUINT32 TimeOut)
This function writes numBytes to the serial device referred to by serialRef. clSerialRead will return...
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpGetXMLIDs(ISerial *pSerial, const CLUINT32 Cookie, CLINT8 *pXMLIDs, CLUINT32 *pBufferSize, const CLUINT32 TimeOut)
This function returns a list of XML IDs coded into a single string.
CLPROTOCOLEXPORT CLINT32 CLPROTOCOL clpReadRegister(ISerial *pSerial, const CLUINT32 Cookie, const CLINT64 Address, CLINT8 *pBuffer, const CLINT64 BufferSize, const CLUINT32 TimeOut)
This function reads numBytes from the serial device referred to by serialRef. clSerialRead will retur...