File joescan_pinchot.h¶
FileList > api > src > joescan_pinchot.h
Go to the source code of this file
This file contains the interface for the client software used to control scanning for JoeScan products. More...
#include <limits.h>
#include <stdbool.h>
#include <stdint.h>
Classes¶
Type | Name |
---|---|
struct | jsBrightnessCorrection_BETA Structure used to adjust and scale the brightness values returned with scan data. The brightness is corrected in the following manner: |
struct | jsCameraImage This structure is used to return a greyscale image capture from the scan head. |
struct | jsCoordinate A spatial coordinate point in scan system units. |
struct | jsDiscovered Structure used to provide information as to scan heads discovered on the network. |
struct | jsExclusionMask Structure used to define which pixels in the camera to exclude from scan data. |
struct | jsProfile Scan data is returned from the scan head through profiles; each profile returning a single scan line at a given moment in time. |
struct | jsProfileData A data point within a returned profile's data. |
struct | jsRawProfile A Raw Profile is the most basic type of profile returned back from a scan head. The data is left unprocessed with the contents being dependent on the jsDataFormat that the scan head is configured for. |
struct | jsScanHeadCapabilities Structure used to communicate the various capabilities and limits of a given scan head type. |
struct | jsScanHeadConfiguration Structure used to configure a scan head's operating parameters. |
struct | jsScanHeadStatus Structure used to hold information pertaining to the scan head. |
struct | jsScanSyncDiscovered |
struct | jsScanSyncStatus Structure used to hold the status of a ScanSync. |
Public Types¶
Type | Name |
---|---|
enum | jsCableOrientation The camera orientation for a given scan head; the orientation selected influences the coordinate system of returned data. |
enum | jsCamera Data type for identifying a camera on the scan head. |
enum int64_t | jsConstants Constant values used with this API. |
enum | jsDataFormat Enumerated value representing the types of data and the formats it can take. For full resolution data formats, every data entry will be filled within the returned profile's data array. Selecting half or quarter resolution will result in every other or every fourth entry in thedata array to be filled respectively. |
enum | jsDiagnosticMode Data type for setting fixed camera & laser exposure or to use the auto exposure algorithm when obtaining diagnostic profiles and images. |
enum | jsEncoder Data type for identifying an encoder and indexing into the encoder_values field injsProfile andjsRawProfile . |
enum | jsError Enumerated value for possible errors returned from API functions. |
enum | jsLaser Data type for identifying a laser on the scan head. |
enum | jsProfileFlags |
typedef int64_t | jsScanHead Opaque reference to an object in software that represents as single physical scan head. |
enum | jsScanHeadState |
enum | jsScanHeadType Enumerated value identifying the scan head type. |
typedef int64_t | jsScanSystem Opaque reference to an object in software used to manage a complete system of scan heads. |
enum | jsScanWindowType Enumerated value identifying the scan head window type. |
enum | jsUnits The units that a given scan system and all associated scan heads will use for configuration and returned data. |
Public Functions¶
Type | Name |
---|---|
EXPORTED int32_t PRE | jsScanSystemDisableIdleScanning (jsScanSystem scan_system) Disable idle scanning for the scan system. |
EXPORTED jsScanHead PRE | jsScanSystemGetScanHeadBySerial (jsScanSystem scan_system, uint32_t serial) Obtains a reference to an existing jsScanHead object. |
Macros¶
Type | Name |
---|---|
define | DEPRECATED |
define | EXPORTED |
define | NOT_EXPORTED |
define | POST __attribute__((sysv_abi)) |
define | PRE |
define | jsProfileIsValid (profile) Macro function to check if jsProfile has been filled with data from the scan head. |
define | jsRawProfileIsValid (profile) Macro function to check if jsRawProfile has been filled with data from the scan head. |
Detailed Description¶
Copyright (c) JoeScan Inc. All Rights Reserved.
Licensed under the BSD 3 Clause License. See LICENSE.txt in the project root for license information.
Author:
JoeScan
Public Types Documentation¶
enum jsCableOrientation¶
enum jsCableOrientation {
JS_CABLE_ORIENTATION_INVALID = 0,
JS_CABLE_ORIENTATION_DOWNSTREAM = 1,
JS_CABLE_ORIENTATION_UPSTREAM = 2,
JS_CABLE_ORIENTATION_FORCE_INT32_SIZE = INT32_MAX
};
enum jsCamera¶
enum jsCamera {
JS_CAMERA_INVALID = 0,
JS_CAMERA_A = 1,
JS_CAMERA_B,
JS_CAMERA_MAX,
JS_CAMERA_FORCE_INT32_SIZE = INT32_MAX
};
enum jsConstants¶
Constant values used with this API.
enum jsConstants {
JS_SCAN_HEAD_TYPE_STR_MAX_LEN = 32,
JS_CLIENT_NAME_STR_MAX_LEN = 128,
JS_SCAN_HEAD_DATA_COLUMNS_MAX_LEN = 1456,
JS_PROFILE_DATA_LEN = JS_SCAN_HEAD_DATA_COLUMNS_MAX_LEN,
JS_RAW_PROFILE_DATA_LEN = JS_SCAN_HEAD_DATA_COLUMNS_MAX_LEN,
JS_CAMERA_IMAGE_DATA_MAX_WIDTH = JS_SCAN_HEAD_DATA_COLUMNS_MAX_LEN,
JS_CAMERA_IMAGE_DATA_MAX_HEIGHT = 1088,
JS_CAMERA_IMAGE_DATA_LEN =
JS_CAMERA_IMAGE_DATA_MAX_HEIGHT * JS_CAMERA_IMAGE_DATA_MAX_WIDTH,
JS_PROFILE_DATA_INVALID_XY = INT_MIN,
JS_PROFILE_DATA_INVALID_BRIGHTNESS = 0,
JS_SCAN_HEAD_PROFILES_MAX = 1000,
JS_SCAN_HEAD_INVALID_SERIAL = 0,
JS_SCANSYNC_INVALID_SERIAL = 0,
JS_SCANSYNC_INVALID_ENCODER = INT64_MAX
};
Note:
The int64_t
is required to force the enum to hold 64 bit values.
enum jsDataFormat¶
enum jsDataFormat {
JS_DATA_FORMAT_INVALID = 0,
JS_DATA_FORMAT_XY_BRIGHTNESS_FULL,
JS_DATA_FORMAT_XY_BRIGHTNESS_HALF,
JS_DATA_FORMAT_XY_BRIGHTNESS_QUARTER,
JS_DATA_FORMAT_XY_FULL,
JS_DATA_FORMAT_XY_HALF,
JS_DATA_FORMAT_XY_QUARTER,
JS_DATA_FORMAT_FORCE_INT32_SIZE = INT32_MAX
};
enum jsDiagnosticMode¶
enum jsDiagnosticMode {
JS_DIAGNOSTIC_MODE_INVALID = 0,
JS_DIAGNOSTIC_FIXED_EXPOSURE,
JS_DIAGNOSTIC_AUTO_EXPOSURE,
JS_DIAGNOSTIC_FORCE_INT32_SIZE = INT32_MAX
};
enum jsEncoder¶
enum jsEncoder {
JS_ENCODER_MAIN = 0,
JS_ENCODER_AUX_1,
JS_ENCODER_AUX_2,
JS_ENCODER_MAX,
JS_ENCODER_FORCE_INT32_SIZE = INT32_MAX
};
enum jsError¶
Enumerated value for possible errors returned from API functions.
enum jsError {
JS_ERROR_NONE = 0,
JS_ERROR_INTERNAL = -1,
JS_ERROR_NULL_ARGUMENT = -2,
JS_ERROR_INVALID_ARGUMENT = -3,
JS_ERROR_NOT_CONNECTED = -4,
JS_ERROR_CONNECTED = -5,
JS_ERROR_NOT_SCANNING = -6,
JS_ERROR_SCANNING = -7,
JS_ERROR_VERSION_COMPATIBILITY = -8,
JS_ERROR_ALREADY_EXISTS = -9,
JS_ERROR_NO_MORE_ROOM = -10,
JS_ERROR_NETWORK = -11,
JS_ERROR_NOT_DISCOVERED = -12,
JS_ERROR_USE_CAMERA_FUNCTION = -13,
JS_ERROR_USE_LASER_FUNCTION = -14,
JS_ERROR_FRAME_SCANNING = -15,
JS_ERROR_NOT_FRAME_SCANNING = -16,
JS_ERROR_FRAME_SCANNING_INVALID_PHASE_TABLE = -17,
JS_ERROR_PHASE_TABLE_EMPTY = -18,
JS_ERROR_DEPRECATED = -19,
JS_ERROR_INVALID_SCAN_SYSTEM = -20,
JS_ERROR_INVALID_SCAN_HEAD = -21,
JS_ERROR_UNKNOWN = -22,
JS_ERROR_FORCE_INT32_SIZE = INT32_MAX
};
Note:
These values can be converted to a string value by using the jsGetError
function.
enum jsLaser¶
enum jsLaser {
JS_LASER_INVALID = 0,
JS_LASER_1 = 1,
JS_LASER_2,
JS_LASER_3,
JS_LASER_4,
JS_LASER_5,
JS_LASER_6,
JS_LASER_7,
JS_LASER_8,
JS_LASER_MAX,
JS_LASER_FORCE_INT32_SIZE = INT32_MAX
};
enum jsProfileFlags¶
enum jsProfileFlags {
JS_PROFILE_FLAG_ENCODER_MAIN_FAULT_A = 1 << 0,
JS_PROFILE_FLAG_ENCODER_MAIN_FAULT_B = 1 << 1,
JS_PROFILE_FLAG_ENCODER_MAIN_FAULT_Y = 1 << 2,
JS_PROFILE_FLAG_ENCODER_MAIN_FAULT_Z = 1 << 3,
JS_PROFILE_FLAG_ENCODER_MAIN_OVERRUN = 1 << 4,
JS_PROFILE_FLAG_ENCODER_MAIN_TERMINATION_ENABLE = 1 << 5,
JS_PROFILE_FLAG_ENCODER_MAIN_INDEX_Z = 1 << 6,
JS_PROFILE_FLAG_ENCODER_MAIN_SYNC = 1 << 7,
JS_PROFILE_FLAG_ENCODER_MAIN_AUX_Y = 1 << 8,
JS_PROFILE_FLAG_ENCODER_MAIN_LASER_DISABLE = 1 << 9,
JS_PROFILE_FLAGS_FORCE_INT32_SIZE = INT32_MAX
};
typedef jsScanHead¶
typedef int64_t jsScanHead;
enum jsScanHeadState¶
enum jsScanHeadState {
JS_SCAN_HEAD_STATE_INVALID = 0,
JS_SCAN_HEAD_STATE_IDLE = 1,
JS_SCAN_HEAD_STATE_STANDBY = 1,
JS_SCAN_HEAD_STATE_CONNECTED = 2,
JS_SCAN_HEAD_STATE_SCANNING = 3,
JS_SCAN_HEAD_STATE_SCANNING_IDLE = 4,
JS_SCAN_HEAD_STATE_FORCE_INT32_SIZE = INT32_MAX
};
enum jsScanHeadType¶
enum jsScanHeadType {
JS_SCAN_HEAD_INVALID_TYPE = 0,
JS_SCAN_HEAD_JS50WX = 1,
JS_SCAN_HEAD_JS50WSC = 2,
JS_SCAN_HEAD_JS50X6B20 = 3,
JS_SCAN_HEAD_JS50X6B30 = 4,
JS_SCAN_HEAD_JS50MX = 5,
JS_SCAN_HEAD_JS50Z820 = 6,
JS_SCAN_HEAD_JS50Z830 = 7,
JS_SCAN_HEAD_TYPE_FORCE_INT32_SIZE = INT32_MAX
};
typedef jsScanSystem¶
typedef int64_t jsScanSystem;
enum jsScanWindowType¶
enum jsScanWindowType {
JS_SCAN_WINDOW_INVALID = 0,
JS_SCAN_WINDOW_UNCONSTRAINED = 1,
JS_SCAN_WINDOW_RECTANGULAR = 2,
JS_SCAN_WINDOW_POLYGONAL = 3,
JS_SCAN_WINDOW_FORCE_INT32_SIZE = INT32_MAX
};
enum jsUnits¶
enum jsUnits {
JS_UNITS_INVALID = 0,
JS_UNITS_INCHES = 1,
JS_UNITS_MILLIMETER = 2,
JS_UNITS_FORCE_INT32_SIZE = INT32_MAX
};
Public Functions Documentation¶
function jsScanSystemDisableIdleScanning¶
Disable idle scanning for the scan system.
EXPORTED int32_t PRE jsScanSystemDisableIdleScanning (
jsScanSystem scan_system
)
Parameters:
scan_system
Reference to scan system.
Returns:
0
on success, negative value mapping to jsError
on error.
function jsScanSystemGetScanHeadBySerial¶
Obtains a reference to an existing jsScanHead
object.
EXPORTED jsScanHead PRE jsScanSystemGetScanHeadBySerial (
jsScanSystem scan_system,
uint32_t serial
)
Parameters:
scan_system
Reference to system that owns the scan head.serial
The serial number of the physical scan head.
Returns:
Positive valued token on success, negative value mapping to jsError
on error.
Macro Definition Documentation¶
define DEPRECATED¶
#define DEPRECATED
define EXPORTED¶
#define EXPORTED
define NOT_EXPORTED¶
#define NOT_EXPORTED
define POST¶
#define POST __attribute__((sysv_abi))
define PRE¶
#define PRE
define jsProfileIsValid¶
Macro function to check if jsProfile
has been filled with data from the scan head.
#define jsProfileIsValid (
profile
) (((profile).timestamp_ns != 0) && \
((profile).format != JS_DATA_FORMAT_INVALID)) ? \
true : false
Parameters:
profile
The profile to check.
Returns:
Boolean true
if has valid data, false
otherwise.
define jsRawProfileIsValid¶
Macro function to check if jsRawProfile
has been filled with data from the scan head.
#define jsRawProfileIsValid (
profile
) (((profile).timestamp_ns != 0) && \
((profile).format != JS_DATA_FORMAT_INVALID)) ? \
true : false
Parameters:
profile
The profile to check.
Returns:
Boolean true
if has valid data, false
otherwise.
The documentation for this class was generated from the following file C:/Users/michp/Documents/Projects/fawkes/client-cpp/api/src/joescan_pinchot.h