JoeScan
  home
our story
news  and events
contact us
    our products
how it works
applications support service

jcam_dll.h File Reference


Detailed Description

Data structures used for communicating with the JS20s.

#include <stddef.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  tagResponsePacketPlus
 Responses from scanners on the network. More...

Typedefs

typedef signed char INT8
 Signed 8 bit integer.
typedef signed short INT16
 Signed 16 bit integer.
typedef signed int INT32
 Signed 32 bit integer.
typedef unsigned char UINT8
 Unsigned 8 bit integer.
typedef unsigned short UINT16
 Unsigned 16 bit integer.
typedef unsigned int UINT32
 Unsigned 32 bit integer.
typedef enum jsLaserIndexTag jsLaserIndex
 A type for specifying which laser to use.
typedef void * JCONNECTION
 An opaque handle for connections to scanners.
typedef tagProfileDataPoint ProfileDataPoint
 Represents a coordinate and its associated pixel brightness.
typedef tagScanDataPoint ScanDataPoint
 Represents a subpixel point from a scanner and its brightness.
typedef tagProfile jsProfile
 Profile data from the scanner.
typedef tagImage jsImage
 Image data from the scanner.
typedef tagScan jsScan
 Scan data from the scanner.
typedef tagResponsePacket jsResponsePacket
 Responses from scanners on the network.
typedef tagResponsePacketPlus jsResponsePacketPlus
 Responses from scanners on the network.

Enumerations

enum  jsConstants {
  OPERATION_FAILURE = 21,
  SCANNER_FAILURE = -1,
  INVALID_PARAMETER = -2,
  PROFILE_UNAVAILABLE = -3,
  SOCKET_TIMEOUT = -4,
  INVALID_IP_ADDRESS = 0,
  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
}
 Constants that avoid the traditional problems of #define constants. More...
enum  jsLaserIndexTag {
  LASER0 = 0,
  LASER1 = 1,
  LASER2 = 2
}
 A type for specifying which laser to use. More...

Functions

JCAM_DLL_API int STDCALL jsGetJcamDllMajorVersionNumber ()
 Returns the major revision number of the DLL.
JCAM_DLL_API int STDCALL jsGetJcamDllMinorVersionNumber ()
 Returns the minor revision number of the DLL.
JCAM_DLL_API JCONNECTION STDCALL jsOpenConnection (char const *const host)
 Opens a connection to the specified host.
JCAM_DLL_API JCONNECTION STDCALL jsOpenConnectionInt (int const host)
 Opens a connection to the specified host.
JCAM_DLL_API JCONNECTION STDCALL jsOpenConnectionBase (char const *const host, UINT32 const cableID)
 Opens a connection to the specified scanner using Base IP + Cable ID addressing.
JCAM_DLL_API int STDCALL jsCloseConnection (JCONNECTION const jc)
 Closes a JCONNECTION.
JCAM_DLL_API int STDCALL jsSendProfileRequestN (JCONNECTION const jc, jsLaserIndex const laserIndex)
 Sends a request for a profile from the specified laser.
JCAM_DLL_API int STDCALL jsReadProfileN (JCONNECTION const jc, jsProfile *const profile)
 Reads a profile from the connection.
JCAM_DLL_API int STDCALL jsGetProfileN (JCONNECTION const jc, jsLaserIndex const laserIndex, jsProfile *const profile)
 Requests and reads a profile from the specified laser.
JCAM_DLL_API int STDCALL jsGetProfileFromAllLasers (JCONNECTION const jc, jsProfile *const profiles, size_t const cProfiles)
 Requests and reads a profile from each laser the scanner has.
JCAM_DLL_API int STDCALL jsGetImage (JCONNECTION const jc, jsImage *const image)
 Requests and reads an image.
JCAM_DLL_API int STDCALL jsGetImageN (JCONNECTION const jc, jsLaserIndex const laserIndex, jsImage *const image)
 Requests and reads an image with the specified laser on.
JCAM_DLL_API int STDCALL jsGetScan (JCONNECTION const jc, jsScan *const scan)
 Requests and reads a scan.
JCAM_DLL_API int STDCALL jsGetScanN (JCONNECTION const jc, jsLaserIndex const laserIndex, jsScan *const scan)
 Requests and reads a scan with the specified laser on.
JCAM_DLL_API int STDCALL jsGetImageScan (JCONNECTION const jc, jsImage *const image, jsScan *const scan)
 Requests and reads an image and scan.
JCAM_DLL_API int STDCALL 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.
JCAM_DLL_API int STDCALL jsEnterEncoderSyncMode (JCONNECTION const jc)
 Causes the scanner to enter Encoder Synchronized Scanning Mode.
JCAM_DLL_API int STDCALL jsEnterTimeSyncMode (JCONNECTION const jc)
 Causes the scanner to enter Time Synchronized Scanning Mode.
JCAM_DLL_API int STDCALL jsHaltSyncMode (JCONNECTION const jc)
 Causes the scanner to halt Time or Encoder Synchronized Scanning Mode.
JCAM_DLL_API int STDCALL jsExitSyncMode (JCONNECTION const jc)
 Causes the scanner to exit Time or Encoder Synchronized Scanning Mode.
JCAM_DLL_API int STDCALL jsSendMultipleProfileRequest (JCONNECTION const jc, UINT32 const nProfiles)
 Sends a request for up to nProfiles profiles to the scanner while in Synchronized Scanning Mode.
JCAM_DLL_API int STDCALL jsReadMultipleProfiles (JCONNECTION const jc, jsProfile *const profiles, UINT32 nProfiles)
 Reads up to nProfiles profiles from jc after a jsSendMultipleProfileRequest() call in Synchronized Scanning Mode.
JCAM_DLL_API int STDCALL 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.
JCAM_DLL_API int STDCALL jsGetProfile (JCONNECTION const jc, jsProfile *const profile)
 Requests and reads a profile from the default laser.
JCAM_DLL_API size_t STDCALL jsGetNumberOfOutstandingRequests (JCONNECTION const jc)
 Returns the number of unread requests from either jsSendProfileRequestN() or jsSendMultipleProfileRequest().
JCAM_DLL_API int STDCALL jsCleanUpOutstandingRequests (JCONNECTION const jc)
 Reads and discards all the profiles in the TCP/IP stack generated by jsSendProfileRequestN() or jsSendMultipleProfileRequest().
JCAM_DLL_API int STDCALL jsSetEncoderValue (JCONNECTION const jc, UINT16 newEncoderValue)
 Sets the scanner's internal encoder value.
JCAM_DLL_API int STDCALL jsSendParameterFileToScanner (JCONNECTION const jc, char const *const filename)
 Sends a parameter file to the scanhead.
JCAM_DLL_API int STDCALL jsSendParametersToScanner (JCONNECTION const jc, char const *const parameters)
 Sends parameters to the scanhead.
JCAM_DLL_API int STDCALL jsGetParameterFileFromScanner (JCONNECTION const jc, char const *const filename)
 Reads the current parameter file from the scanhead and writes them to the specified file.
JCAM_DLL_API size_t STDCALL jsGetNumberOfErrorMessages (JCONNECTION const jc)
 Returns the number of error messages after a jsSendParameterFileToScanner() call returned OPERATION_FAILURE.
JCAM_DLL_API char const *const
STDCALL 
jsGetErrorMessage (JCONNECTION const jc, size_t i)
 Returns the specified error message.
JCAM_DLL_API int STDCALL 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.
JCAM_DLL_API int STDCALL 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.
JCAM_DLL_API int STDCALL jsGetScannerStatusFromScanner (JCONNECTION const jc)
 Reads status from the scanner into a data structure inside the opaque JCONNECTION.
JCAM_DLL_API int STDCALL jsGetScannerStatusValue (JCONNECTION const jc, size_t i, int *value)
 Gets the specified status value from the data structure inside the JCONNECTION.
JCAM_DLL_API int STDCALL 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.
JCAM_DLL_API int STDCALL jsGetImagePixel (jsImage const *const image, size_t const x, size_t const y)
 Returns a pixel value from an image.
JCAM_DLL_API int STDCALL jsFindAllScanners (jsResponsePacket responses[], const size_t nResponses)
 Attempts to discover all scanners on the network.
JCAM_DLL_API int STDCALL jsFindScannerByCableId (int const cableId, jsResponsePacket responses[], const size_t nResponses)
 Attempts to discover the scanner(s) on the network with the specified Cable ID.
JCAM_DLL_API int STDCALL jsFindScannerBySerialNumber (int const serialNumber, jsResponsePacket responses[], const size_t nResponses)
 Attempts to discover the scanner on the network with the specified serial number.
JCAM_DLL_API int STDCALL jsSetStaticIpInt (UINT32 const serialNumber, UINT32 const staticIpAddress, UINT32 const netmask)
 Sets a scanner's static IP address.
JCAM_DLL_API int STDCALL jsSetStaticIpChar (UINT32 const serialNumber, char const *const staticIpAddress, char const *const netmask)
 Sets a scanner's static IP address.
JCAM_DLL_API int STDCALL jsSetBaseIpInt (UINT32 const serialNumber, UINT32 const baseIpAddress, UINT32 const netmask)
 Sets a scanner's base IP address.
JCAM_DLL_API int STDCALL jsSetBaseIpChar (UINT32 const serialNumber, char const *const baseIpAddress, char const *const netmask)
 Sets a scanner's base IP address.
JCAM_DLL_API int STDCALL jsSetCableId (UINT32 const serialNumber, UINT32 const cableId)
 Overrides the cable ID physically wired into a scanner.
JCAM_DLL_API int STDCALL jsClearCableId (UINT32 const serialNumber)
 Reverts to the cable ID physically wired into a scanner.
BOOL jsInitialize ()
 Initializes TCP/IP communications.
void jsCleanup ()
 Gracefully ends TCP/IP communications.

Typedef Documentation

typedef signed char INT8

Signed 8 bit integer.

typedef signed short INT16

Signed 16 bit integer.

typedef signed int INT32

Signed 32 bit integer.

typedef unsigned char UINT8

Unsigned 8 bit integer.

typedef unsigned short UINT16

Unsigned 16 bit integer.

typedef unsigned int UINT32

Unsigned 32 bit integer.

A type for specifying which laser to use.

If an invalid laser is specified, the connection will be closed.

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.

Represents a coordinate and its associated pixel brightness.

Represents a subpixel point from a scanner and its brightness.

typedef struct tagProfile jsProfile

Profile data from the scanner.

typedef struct tagImage jsImage

Image data from the scanner.

typedef struct tagScan jsScan

Scan data from the scanner.

Responses from scanners on the network.

Responses from scanners on the network.


Enumeration Type Documentation

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 NULL or out of range.
PROFILE_UNAVAILABLE  A scanner in Synchronized Scanning Mode has no available profiles.
SOCKET_TIMEOUT  A connection to a scanner timed out.
INVALID_IP_ADDRESS  Used to indicate an IP address is unused.
SYNC_MODE_OVERRUN  If this bit is set in a jsProfile's flags field, then Synchronized Scanning Mode is running the scanner too fast.
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 jsResponsePacket's options field.

A type for specifying which laser to use.

If an invalid laser is specified, the connection will be closed.

Enumerator:
LASER0  Furthest from the camera.
LASER1  Closer to the camera than LASER0.
LASER2  Closer to the camera than LASER1.