Data structures used for communicating with the JS20/JS25 scanheads. More...
#include <stddef.h>#include <atlsafe.h>#include <windef.h>Go to the source code of this file.
Classes | |
| struct | tagProfileDataPoint |
| Represents a coordinate and its associated pixel brightness. More... | |
| struct | tagScanDataPoint |
| Represents a subpixel point from a scanner and its brightness. More... | |
| struct | tagProfile |
| Profile data from the scanner. More... | |
| struct | tagImage |
| Image data from the scanner. More... | |
| struct | tagScan |
| Scan data from the scanner. More... | |
| struct | tagResponsePacket |
| Responses from scanners on the network. More... | |
| struct | tagOldCalibrationValue |
| Old position calibration parameters sent to the scanner. More... | |
Typedefs | |
| typedef signed char | INT8 |
| Signed 8 bit integer. More... | |
| typedef signed short | INT16 |
| Signed 16 bit integer. More... | |
| typedef signed int | INT32 |
| Signed 32 bit integer. More... | |
| typedef unsigned char | UINT8 |
| Unsigned 8 bit integer. More... | |
| typedef unsigned short | UINT16 |
| Unsigned 16 bit integer. More... | |
| typedef unsigned int | UINT32 |
| Unsigned 32 bit integer. More... | |
| typedef enum jsLaserIndexTag | jsLaserIndex |
| A type for specifying which laser to use. More... | |
| typedef void * | JCONNECTION |
| An opaque handle for connections to scanners. More... | |
| typedef struct tagProfileDataPoint | ProfileDataPoint |
| Represents a coordinate and its associated pixel brightness. More... | |
| typedef struct tagScanDataPoint | ScanDataPoint |
| Represents a subpixel point from a scanner and its brightness. More... | |
| typedef struct tagProfile | jsProfile |
| Profile data from the scanner. More... | |
| typedef struct tagImage | jsImage |
| Image data from the scanner. More... | |
| typedef struct tagScan | jsScan |
| Scan data from the scanner. More... | |
| typedef struct tagResponsePacket | jsResponsePacket |
| Responses from scanners on the network. More... | |
| typedef struct tagOldCalibrationValue | jsOldCalibrationValue |
| Old position calibration parameters sent to the scanner. More... | |
Enumerations | |
| enum | jsConstants { OPERATION_FAILURE = 21, SCANNER_FAILURE = -1, INVALID_PARAMETER = -2, PROFILE_UNAVAILABLE = -3, SOCKET_TIMEOUT = -4, SYNC_MODE_OVERRUN = 0x00000001, MAX_HORIZONTAL = 324, MAX_VERTICAL = 243, IPS_STATIC = 0, IPS_BY_ID = 1, IPS_BY_DHCP = 2, STATUS_NORMAL = 0, STATUS_ACTIVE = 1, OPTIONS_SIZE = 512, DATE_LENGTH = 32 } |
Constants that avoid the traditional problems of #define constants. More... | |
| enum | jsLaserIndexTag { LASER0 = 0, LASER1 = 1, LASER2 = 2, LASER3 = 3, LASER4 = 4 } |
| A type for specifying which laser to use. More... | |
Functions | |
| int | jsGetJcamDllMajorVersionNumber () |
| Returns the major revision number of the DLL. More... | |
| int | jsGetJcamDllMinorVersionNumber () |
| Returns the minor revision number of the DLL. More... | |
| JCONNECTION | jsOpenConnection (char const *const host) |
| Opens a connection to the specified host. More... | |
| JCONNECTION | jsOpenConnectionInt (int const host) |
| Opens a connection to the specified host. More... | |
| JCONNECTION | jsOpenConnectionBase (char const *const host, UINT32 const cableID) |
| Opens a connection to the specified scanner using Base IP + Cable ID addressing. More... | |
| int | jsCloseConnection (JCONNECTION const jc) |
Closes a JCONNECTION. More... | |
| int | jsSendProfileRequestN (JCONNECTION const jc, jsLaserIndex const laserIndex) |
| Sends a request for a profile from the specified laser. More... | |
| int | jsReadProfileN (JCONNECTION const jc, jsProfile *const profile) |
| Reads a profile from the connection. More... | |
| int | jsGetProfileN (JCONNECTION const jc, jsLaserIndex const laserIndex, jsProfile *const profile) |
| Requests and reads a profile from the specified laser. More... | |
| int | jsGetProfileFromAllLasers (JCONNECTION const jc, jsProfile *const profiles, size_t const cProfiles) |
| Requests and reads a profile from each laser the scanner has. More... | |
| int | jsGetImage (JCONNECTION const jc, jsImage *const image) |
| Requests and reads an image. More... | |
| int | jsGetImageN (JCONNECTION const jc, jsLaserIndex const laserIndex, jsImage *const image) |
| Requests and reads an image with the specified laser on. More... | |
| int | jsGetScan (JCONNECTION const jc, jsScan *const scan) |
| Requests and reads a scan. More... | |
| int | jsGetScanN (JCONNECTION const jc, jsLaserIndex const laserIndex, jsScan *const scan) |
| Requests and reads a scan with the specified laser on. More... | |
| int | jsGetImageScan (JCONNECTION const jc, jsImage *const image, jsScan *const scan) |
| Requests and reads an image and scan. More... | |
| int | jsGetImageScanN (JCONNECTION const jc, jsLaserIndex const laserIndex, jsImage *const image, jsScan *const scan) |
| Requests and reads an image and scan with the specified laser on. More... | |
| int | jsGetDiagnosticScan (JCONNECTION const jc, int const cameraExposure, int const laserExposure, const jsLaserIndex laserIndex, jsScan *const scan) |
| Requests and reads a scan with the specified laser and camera timings. This function requires firmware revision 13817 and higher. More... | |
| int | jsGetDiagnosticImageScan (JCONNECTION const jc, int const cameraExposure, int const laserExposure, const jsLaserIndex laserIndex, jsImage *const image, jsScan *const scan) |
| Requests and reads an image and scan with the specified laser and camera timings. This function requires firmware revision 13817 and higher. More... | |
| int | jsEnterPulseSyncMode (JCONNECTION const jc) |
| Causes the scanner to enter Start Scan Triggered Synchronized Scanning Mode. More... | |
| int | jsEnterEncoderSyncMode (JCONNECTION const jc) |
| Causes the scanner to enter Encoder Synchronized Scanning Mode. More... | |
| int | jsEnterTimeSyncMode (JCONNECTION const jc) |
| Causes the scanner to enter Time Synchronized Scanning Mode. More... | |
| int | jsStartPulseMaster (JCONNECTION const jc, int pulseInterval, int pulseCount) |
| Causes the scanner to output a pulse train on the Start Scan I/O. The period and number of pulses are configurable. More... | |
| int | jsStopPulses (JCONNECTION const jc) |
| Causes the scanner to stop generating a pulse train on the Start Scan I/O. More... | |
| int | jsSetAlternatingExposure (JCONNECTION const jc, bool const enable, int const exposure1, int const exposure2) |
| Set the alternating exposure parameters. Only works in sync mode. Settings are lost when exiting sync mode and must be resent after re-entering syncmode. More... | |
| int | jsHaltSyncMode (JCONNECTION const jc) |
| Causes the scanner to halt Time or Encoder Synchronized Scanning Mode. More... | |
| int | jsExitSyncMode (JCONNECTION const jc) |
| Causes the scanner to exit Time or Encoder Synchronized Scanning Mode. More... | |
| int | jsSendMultipleProfileRequest (JCONNECTION const jc, UINT32 const nProfiles) |
Sends a request for up to nProfiles profiles to the scanner while in Synchronized Scanning Mode. More... | |
| int | jsReadMultipleProfiles (JCONNECTION const jc, jsProfile *const profiles, UINT32 nProfiles) |
Reads up to nProfiles profiles from jc after a jsSendMultipleProfileRequest() call in Synchronized Scanning Mode. More... | |
| int | jsReadMultipleProfilesTimeout (JCONNECTION const jc, jsProfile *const profiles, UINT32 cProfiles, long timeoutMilliseconds) |
| Requests and reads up to n profiles from the scanner while in either Synchronized Scanning Mode. More... | |
| int | jsGetMultipleProfiles (JCONNECTION const jc, jsProfile *const profiles, UINT32 const cProfiles) |
| Requests and reads up to n profiles from the scanner while in either Synchronized Scanning Mode. More... | |
| int | jsSendProfileRequest (JCONNECTION const jc) |
| Sends a request for a profile. More... | |
| int | jsReadProfile (JCONNECTION const jc, jsProfile *const profile) |
| Reads a profile from the connection. More... | |
| int | jsGetProfile (JCONNECTION const jc, jsProfile *const profile) |
| Requests and reads a profile from the default laser. More... | |
| size_t | jsGetNumberOfOutstandingRequests (JCONNECTION const jc) |
Returns the number of unread requests from either jsSendProfileRequestN() or jsSendMultipleProfileRequest(). More... | |
| int | jsCleanUpOutstandingRequests (JCONNECTION const jc) |
Reads and discards all the profiles in the TCP/IP stack generated by jsSendProfileRequestN() or jsSendMultipleProfileRequest(). More... | |
| int | jsSetEncoderValue (JCONNECTION const jc, UINT16 newEncoderValue) |
| Sets the scanner's internal encoder value. More... | |
| int | jsSetEncoderValue32 (JCONNECTION const jc, UINT32 newEncoderValue) |
| Sets the scanner's internal encoder value. More... | |
| int | jsBeginSendParameterFileToScanner (JCONNECTION const jc, char const *const filename) |
Starts sending a parameter file to the scanhead. Must be followed with a called to jsEndSendParameterFileToScanner(). More... | |
| int | jsEndSendParametersToScanner (JCONNECTION const jc) |
Completes the sending of parameters. Should always and only be called after a call to jsBeginSendParameterFileToScanner() or jsBeginSendParametersToScanner(). More... | |
| int | jsSendParameterFileToScanner (JCONNECTION const jc, char const *const filename) |
| Sends a parameter file to the scanhead. More... | |
| int | jsSendParametersToScanner (JCONNECTION const jc, char const *const parameters) |
| Sends parameters to the scanhead. More... | |
| int | jsBeginSendParametersToScanner (JCONNECTION const jc, char const *const parameters) |
Starts sending a parameter string to the scanhead. Must be followed with a called to jsEndSendParametersToScanner(). More... | |
| int | jsGetParameterFileFromScanner (JCONNECTION const jc, char const *const filename) |
| Reads the current parameter file from the scanhead and writes them to the specified file. May not be called while the scanner is in Synchronized Scanning Mode. More... | |
| size_t | jsGetNumberOfErrorMessages (JCONNECTION const jc) |
Returns the number of error messages after a jsSendParameterFileToScanner() call returned OPERATION_FAILURE. More... | |
| char const *const | jsGetErrorMessage (JCONNECTION const jc, size_t i) |
| Returns the specified error message. More... | |
| int | jsReadOldPositionCalibrationsN (JCONNECTION const jc, jsLaserIndex const laserIndex, jsOldCalibrationValue oldCalibrations[], UINT32 nCalibrations) |
| Reads the specified number of old position calibrations for the selected laser from the scanner. More... | |
| int | jsOverrideLaserAutoexposure (JCONNECTION const jc, double minLaserOn, double maxLaserOn, double defaultLaserOn, int staturatedIntensity, int saturatedPercentage, int laserThreshold, bool autoexposeLaser) |
| Override the Laser Autoexposure parameters set in param.dat. Values will be lost when a new param.dat file is loaded, or when the head restarts. Must be called for each scanner that you wish the values to apply to. More... | |
| int | jsOverrideScanWindow (JCONNECTION const jc, double windowTop, double windowBottom, double windowLeft, double windowRight) |
| Override the Scan Window parameters set in param.dat. Values will be lost when a new param.dat file is loaded, or when the head restarts. Must be called for each scanner that you wish the values to apply to. More... | |
| int | jsOverrideSyncSettings (JCONNECTION const jc, double timeScannedInterval, double encoderPulseInterval, double encoderScanInterval, int numberOfPhases, bool timeStaggeredScanning, double laser0Phase, double laser1Phase, double laser2Phase, double laser3Phase, double laser4Phase, bool untriggeredSyncScanning, bool startScanRisingEdgeTriggered) |
| Override the Synchronized Scanning parameters set in param.dat. Values will be lost when a new param.dat file is loaded, or when the head restarts. Must be called for each scanner that you wish the values to apply to. More... | |
| int | jsReadScanWindowN (JCONNECTION const jc, jsLaserIndex const laserIndex, int *top, int *bottom, int *left, int *right) |
| Reads the current scan window for the selected laser from the scanner. More... | |
| int | jsReadPositionCalibrationN (JCONNECTION const jc, jsLaserIndex const laserIndex, double *xOffset, double *yOffset, double *roll) |
| Reads the current position calibration for the selected laser from the scanner. More... | |
| int | jsSendPositionCalibrationN (JCONNECTION const jc, jsLaserIndex const laserIndex, double const xOffset, double const yOffset, double const roll) |
| Sends a position calibration for the selected laser to the scanner. More... | |
| int | jsGetScannerStatusFromScanner (JCONNECTION const jc) |
Reads status from the scanner into a data structure inside the opaque JCONNECTION. More... | |
| int | jsGetScannerStatusValue (JCONNECTION const jc, size_t i, int *value) |
Gets the specified status value from the data structure inside the JCONNECTION. More... | |
| int | jsGetStatusDescriptionFromScanner (JCONNECTION const jc, UINT32 i, char *const description, UINT32 description_length) |
| Reads a descriptive text string from the scanner for the particular status index. More... | |
| int | jsGetImagePixel (jsImage const *const image, size_t const x, size_t const y) |
| Returns a pixel value from an image. More... | |
| int | jsFindAllScanners (jsResponsePacket responses[], const size_t nResponses) |
| Attempts to discover all scanners on the network. More... | |
| int | jsFindScannerByCableId (int const cableId, jsResponsePacket responses[], const size_t nResponses) |
| Attempts to discover the scanner(s) on the network with the specified Cable ID. More... | |
| int | jsFindScannerBySerialNumber (int const serialNumber, jsResponsePacket responses[], const size_t nResponses) |
| Attempts to discover the scanner on the network with the specified serial number. More... | |
| int | jsSetStaticIpInt (UINT32 const serialNumber, UINT32 const staticIpAddress, UINT32 const netmask) |
| Sets a scanner's static IP address. More... | |
| int | jsSetStaticIpChar (UINT32 const serialNumber, char const *const staticIpAddress, char const *const netmask) |
| Sets a scanner's static IP address. More... | |
| int | jsSetBaseIpInt (UINT32 const serialNumber, UINT32 const baseIpAddress, UINT32 const netmask) |
| Sets a scanner's base IP address. More... | |
| int | jsSetBaseIpChar (UINT32 const serialNumber, char const *const baseIpAddress, char const *const netmask) |
| Sets a scanner's base IP address. More... | |
| int | jsSetCableId (UINT32 const serialNumber, UINT32 const cableId) |
| Overrides the cable ID physically wired into a scanner. More... | |
| int | jsClearCableId (UINT32 const serialNumber) |
| Reverts to the cable ID physically wired into a scanner. More... | |
| int | jsIsInSyncMode (JCONNECTION const jc) |
| Returns if a scanner is in Synchronized Mode. More... | |
| BOOL | jsInitialize () |
| Initializes TCP/IP communications. More... | |
| void | jsCleanup () |
| Gracefully ends TCP/IP communications. More... | |
Data structures used for communicating with the JS20/JS25 scanheads.
| typedef signed short INT16 |
Signed 16 bit integer.
| typedef signed int INT32 |
Signed 32 bit integer.
| typedef signed char INT8 |
Signed 8 bit integer.
| typedef void* JCONNECTION |
An opaque handle for connections to scanners.
JCONNECTION's are full-duplex request/reply connections. Functions have been provided that handle all the request/reply semantics.
| typedef enum jsLaserIndexTag jsLaserIndex |
A type for specifying which laser to use.
If an invalid laser is specified, the connection will be closed.
| typedef struct tagOldCalibrationValue jsOldCalibrationValue |
Old position calibration parameters sent to the scanner.
| typedef struct tagProfile jsProfile |
Profile data from the scanner.
| typedef struct tagResponsePacket jsResponsePacket |
Responses from scanners on the network.
| typedef struct tagProfileDataPoint ProfileDataPoint |
Represents a coordinate and its associated pixel brightness.
| typedef struct tagScanDataPoint ScanDataPoint |
Represents a subpixel point from a scanner and its brightness.
| typedef unsigned short UINT16 |
Unsigned 16 bit integer.
| typedef unsigned int UINT32 |
Unsigned 32 bit integer.
| typedef unsigned char UINT8 |
Unsigned 8 bit integer.
| enum jsConstants |
Constants that avoid the traditional problems of #define constants.
| Enumerator | |
|---|---|
| OPERATION_FAILURE | An operation was unable to complete. |
| SCANNER_FAILURE | The connection to the scanner is invalid. |
| INVALID_PARAMETER | A parameter to a function was |
| PROFILE_UNAVAILABLE | A scanner in Synchronized Scanning Mode has no available profiles. |
| SOCKET_TIMEOUT | A connection to a scanner timed out. |
| SYNC_MODE_OVERRUN | If this bit is set in a |
| MAX_HORIZONTAL | CCD sensor dimensions. |
| MAX_VERTICAL | CCD sensor dimensions. |
| IPS_STATIC | Static IP Address for a scanner. |
| IPS_BY_ID | IP Address is determined by the cable ID. |
| IPS_BY_DHCP | IP Address is assigned with DHCP. |
| STATUS_NORMAL | The scanner is fine. |
| STATUS_ACTIVE | The scanner is scanning. |
| OPTIONS_SIZE | The number of bytes in a |
| DATE_LENGTH | The maximum length of the |
| enum jsLaserIndexTag |
A type for specifying which laser to use.
If an invalid laser is specified, the connection will be closed.