SK91USB3-LX  1.2.0
Functions
Initializing / Deintializing

Details how to initialize and deinitialize the library. More...

Functions

int SK_LOADDLL ()
 Initializes data structures and searches for cameras. More...
 
int SK_UNLOADDLL ()
 Releasing of internal buffers and structures. More...
 
int SK_INITCAMERA (int CamID)
 Initializes the camera. More...
 
int SK_INITCAMERA_SN (int CamID, int SN)
 Initializes the camera with given serial number. More...
 
int SK_CLOSECAMERA (int CamID)
 Disconnects the camera. More...
 
int SK_RESETCAMERA (int CamID)
 Resets the camera. More...
 
int SK_GETDEVICES ()
 Returns number of devices. More...
 
const char * SK_FOLDEROFSETTINGS ()
 Returns string with path name. More...
 
int SK_ISCAMERAINIT (int CamID)
 Returns initialization status. More...
 
int SK_SETACTIVE (int CamID, bool active)
 Sets camera into active / passive mode. More...
 
int SK_SETCAMID (int newID, int serialNumber)
 Switches the ID of two cameras. More...
 
const char * SK_GETDLLVERSION ()
 Returns the version number of the DLL. More...
 
const char * SK_GETDLLDATE ()
 Returns the build date of the DLL. More...
 
double SK_GETVCC (int CamID)
 Query cameras's VCC. More...
 
double SK_GETVDD (int CamID)
 Query cameras's VDD. More...
 

Detailed Description

Details how to initialize and deinitialize the library.

Note
Before a camera is approachable by the API functions, the DLL and the camera must be successfully initialized.
step 1: SK_LOADDLL
  • SK_LOADDLL has to be called once at the beginning of API session
  • After this, the number of connected cameras, the serial number(s), and the camera name(s) can return
  • Each camera was assigned an ID. The reassignment of a camera to another ID is possible via the serial number

step 2: SK_INITCAMERA or SK_INITCAMERA_SN
  • Camera is ready to work now
  • If desired, in a API session the camera can be closed and initialized multiple times

Finish the API session:
step n: SK_UNLOADDLL

This is an example to show normally initialization should be performed:

// load the DLL
{
// initialize all connected cameras
for(int i = 0; i < SK_GETDEVICES(); i++)
// do some stuff ...
}
// unload the DLL

Example with reassigment of camera IDs via serial number:

// load the DLL
{
if (SK_GETDEVICES() < 2)
return NotAll;
// set default IDs.
int leftCamID= 0; // at the left side, camera with SN 111
int rightCamID= 1; // at the right side, camera with SN 222
// initialization of left side camera
SK_INITCAMERA_SN( leftCamID, 111);
SK_INITCAMERA_SN( rightCamID, 222);
// do some stuff ...
}
// unload the DLL

Function Documentation

int SK_CLOSECAMERA ( int  CamID)

Disconnects the camera.

This function disconnects the camera with the determined camera ID CamID and switches the power off (LED lights red).

By calling SK_UNLOADDLL this function is called automatically for all initialized USB cameras.

Parameters
CamIDid of camera from 0 ... n - 1, 0 = 1st camera
Returns
SK_RESULT_OK on success, else see Error Code Table
const char* SK_FOLDEROFSETTINGS ( )

Returns string with path name.

This function returns a string with the path name where the camera settings will be stored.

Default folder: /home/"username"/.sk

Returns
string with the path name
int SK_GETDEVICES ( )

Returns number of devices.

This function returns the number of the connected and detected USB line scan cameras. The result determines the range of CamID in all functions (CamID = 0 ... n-1)

Returns
number of devices
const char* SK_GETDLLDATE ( )

Returns the build date of the DLL.

Returns
date as string
const char* SK_GETDLLVERSION ( )

Returns the version number of the DLL.

Returns
version number as string
double SK_GETVCC ( int  CamID)

Query cameras's VCC.

Returns the operation voltage (VCC) of the camera.

Note
VCC should be 5V. If it is below 4.6V, camera does not operate properly.
Returns
VCC Voltage, else see Error Code Table
double SK_GETVDD ( int  CamID)

Query cameras's VDD.

Returns the operation voltage (VDD) for the sensor of the camera.

Note
VDD should be 15V. If it is below 12V, sensor does not operate properly.
Returns
VDD Voltage, else see Error Code Table
int SK_INITCAMERA ( int  CamID)

Initializes the camera.

This function initializes the camera with determined camera ID CamID. During the initializing process, the LED switches from red to green light.

The initialization takes some time, especially when the firmware must loaded into the camera.

Note
The function has to be called before using the camera the first time or if the cameras was closed during the work.
Parameters
CamIDid of camera from 0 ... n - 1, 0 = 1st camera
Returns
SK_RESULT_OK on success, else see Error Code Table
int SK_INITCAMERA_SN ( int  CamID,
int  SN 
)

Initializes the camera with given serial number.

This function initializes the camera with determined serial number SN and gives the camera ID CamID. During the initializing process, the LED switches from red to green light.

The initialization takes some time, especially when the firmware must loaded into the camera.

Note
The function has to be called before using the camera the first time or if the cameras was closed during the work.
Parameters
CamIDid of camera from 0 ... n - 1, 0 = 1st camera
SNserial number of the camera which should be initialized
Returns
SK_RESULT_OK on success, else see Error Code Table
int SK_ISCAMERAINIT ( int  CamID)

Returns initialization status.

This function returns the initialization status of the camera with the given camera ID CamID.

Parameters
CamIDid of camera from 0 ... n - 1, 0 = 1st camera
Returns
1 = initialized
0 = not initialized
else see Error Code Table
int SK_LOADDLL ( )

Initializes data structures and searches for cameras.

This function searches all USB line scan cameras from Schaefter + Kirchhoff and initialize internal buffers and structures. If USB cameras detected which do not have a firmware loaded, the function loads the current firmware into the camera.

Firmware location: /usr/local/share/sk/SKBOOT.img

Note
This function must be called before calling any other function.
Returns
SK_RESULT_OK on success, else see Error Code Table
int SK_RESETCAMERA ( int  CamID)

Resets the camera.

This function resets camera with the specified ID CamID.

After the reset process, the LED should light red.

Parameters
CamIDid of camera from 0 ... n - 1, 0 = 1st camera
Returns
SK_RESULT_OK on success, else see Error Code Table
int SK_SETACTIVE ( int  CamID,
bool  active 
)

Sets camera into active / passive mode.

This function sets a connected and initialized camera into active or passive mode.

Remarks
In case of connecting more than one cameras at one PC this function can be used for selecting a defined camera. The other camera(s) should be set passive.
Parameters
CamIDid of camera from 0 ... n - 1, 0 = 1st camera
activefalse = passive, true = active
Returns
SK_RESULT_OK on success, else see Error Code Table
int SK_SETCAMID ( int  newID,
int  serialNumber 
)

Switches the ID of two cameras.

This function is helpful if more than one camera is connected at a PC, and a camera with a special serial number should be assigned a determined ID (0, 1, ..., n-1). The camera IDs will be swapped. The camera, which had previously newID, automatically receives the old camera id.

Remarks
If all cameras are plugged always at the same USB port, the camera IDs will be not changed.
Parameters
newIDid of camera from 0 ... n - 1, 0 = 1st camera
serialNumberSerial number of camera, which should get the newID
Returns
SK_RESULT_OK on success, else see Error Code Table
int SK_UNLOADDLL ( )

Releasing of internal buffers and structures.

This function releases the internal buffers and structures and closes the opened USB channels.

If function is not called, memory leaks are the result.

Note
This function has to be called once at program exit.
Returns
SK_RESULT_OK on success, else see Error Code Table