File joescan_pinchot.h¶
File List > api > src > joescan_pinchot.h
Go to the documentation of this file
#ifndef _JOESCAN_PINCHOT_H
#define _JOESCAN_PINCHOT_H
#include <limits.h>
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
#pragma once
#define jsProfileIsValid(profile) \
(((profile).timestamp_ns != 0) && \
((profile).format != JS_DATA_FORMAT_INVALID)) ? \
true : false
#define jsRawProfileIsValid(profile) \
(((profile).timestamp_ns != 0) && \
((profile).format != JS_DATA_FORMAT_INVALID)) ? \
true : false
typedef int64_t jsScanSystem;
typedef int64_t jsScanHead;
enum jsConstants : int64_t {
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,
};
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,
};
typedef enum {
JS_UNITS_INVALID = 0,
JS_UNITS_INCHES = 1,
JS_UNITS_MILLIMETER = 2,
JS_UNITS_FORCE_INT32_SIZE = INT32_MAX,
} jsUnits;
typedef enum {
JS_CABLE_ORIENTATION_INVALID = 0,
JS_CABLE_ORIENTATION_DOWNSTREAM = 1,
JS_CABLE_ORIENTATION_UPSTREAM = 2,
JS_CABLE_ORIENTATION_FORCE_INT32_SIZE = INT32_MAX,
} jsCableOrientation;
typedef enum {
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,
} jsScanWindowType;
typedef enum {
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,
} jsScanHeadType;
typedef enum {
JS_CAMERA_INVALID = 0,
JS_CAMERA_A = 1,
JS_CAMERA_B,
JS_CAMERA_MAX,
JS_CAMERA_FORCE_INT32_SIZE = INT32_MAX,
} jsCamera;
typedef enum {
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,
} jsLaser;
typedef enum {
JS_ENCODER_MAIN = 0,
JS_ENCODER_AUX_1,
JS_ENCODER_AUX_2,
JS_ENCODER_MAX,
JS_ENCODER_FORCE_INT32_SIZE = INT32_MAX,
} jsEncoder;
typedef enum {
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_FAULT_SYNC = 1 << 9,
JS_PROFILE_FLAG_ENCODER_MAIN_LASER_DISABLE = 1 << 10,
JS_PROFILE_FLAG_ENCODER_MAIN_FAULT_LASER_DISABLE = 1 << 11,
JS_PROFILE_FLAGS_FORCE_INT32_SIZE = INT32_MAX,
} jsProfileFlags;
typedef enum {
JS_DATA_FORMAT_INVALID = 0,
// Geometry and laser line brightness at combinations of full, 1/2, and 1/4
// resolution.
JS_DATA_FORMAT_XY_BRIGHTNESS_FULL,
JS_DATA_FORMAT_XY_BRIGHTNESS_HALF,
JS_DATA_FORMAT_XY_BRIGHTNESS_QUARTER,
// Geometry at full, 1/2 and 1/4 resolution, no laser line brightness.
JS_DATA_FORMAT_XY_FULL,
JS_DATA_FORMAT_XY_HALF,
JS_DATA_FORMAT_XY_QUARTER,
JS_DATA_FORMAT_FORCE_INT32_SIZE = INT32_MAX,
} jsDataFormat;
typedef enum {
JS_DIAGNOSTIC_MODE_INVALID = 0,
JS_DIAGNOSTIC_FIXED_EXPOSURE,
JS_DIAGNOSTIC_AUTO_EXPOSURE,
JS_DIAGNOSTIC_FORCE_INT32_SIZE = INT32_MAX,
} jsDiagnosticMode;
#pragma pack(push, 1)
typedef enum {
JS_SCAN_HEAD_STATE_INVALID = 0,
JS_SCAN_HEAD_STATE_IDLE [[deprecated]] = 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,
} jsScanHeadState;
typedef struct {
uint32_t serial_number;
jsScanHeadType type;
char type_str[JS_SCAN_HEAD_TYPE_STR_MAX_LEN];
uint32_t firmware_version_major;
uint32_t firmware_version_minor;
uint32_t firmware_version_patch;
uint32_t ip_addr;
char client_name_str[JS_CLIENT_NAME_STR_MAX_LEN];
uint32_t client_ip_addr;
uint32_t client_netmask;
uint32_t link_speed_mbps;
jsScanHeadState state;
} jsDiscovered;
typedef struct {
uint32_t serial_number;
uint32_t firmware_version_major;
uint32_t firmware_version_minor;
uint32_t firmware_version_patch;
uint32_t ip_addr;
} jsScanSyncDiscovered;
typedef struct {
uint32_t camera_brightness_bit_depth;
uint32_t max_camera_image_height;
uint32_t max_camera_image_width;
uint32_t min_scan_period_us;
uint32_t max_scan_period_us;
uint32_t num_cameras;
uint32_t num_encoders;
uint32_t num_lasers;
} jsScanHeadCapabilities;
typedef struct {
uint32_t camera_exposure_time_min_us;
uint32_t camera_exposure_time_max_us;
uint32_t camera_exposure_time_def_us;
uint32_t laser_on_time_min_us;
uint32_t laser_on_time_max_us;
uint32_t laser_on_time_def_us;
uint32_t laser_detection_threshold;
uint32_t saturation_threshold;
uint32_t saturation_percentage;
} jsScanHeadConfiguration;
typedef struct {
uint8_t bitmap[JS_CAMERA_IMAGE_DATA_MAX_HEIGHT]
[JS_CAMERA_IMAGE_DATA_MAX_WIDTH];
} jsExclusionMask;
typedef struct {
uint8_t offset;
float scale_factors[JS_SCAN_HEAD_DATA_COLUMNS_MAX_LEN];
} jsBrightnessCorrection_BETA;
typedef struct {
uint64_t global_time_ns;
int64_t encoder_values[JS_ENCODER_MAX];
uint32_t num_encoder_values;
int32_t camera_a_pixels_in_window;
int32_t camera_b_pixels_in_window;
int32_t camera_a_temp;
int32_t camera_b_temp;
uint32_t num_profiles_sent;
jsScanHeadState state;
bool is_laser_disable;
} jsScanHeadStatus;
typedef struct {
int64_t encoder;
uint64_t timestamp_ns;
uint64_t sync_timestamp_ns;
uint64_t aux_y_timestamp_ns;
uint64_t index_z_timestamp_ns;
uint64_t laser_disable_timestamp_ns;
uint32_t serial;
bool is_fault_a;
bool is_fault_b;
bool is_sync;
bool is_aux_y;
bool is_index_z;
bool is_laser_disable;
} jsScanSyncStatus;
typedef struct {
double x;
double y;
} jsCoordinate;
typedef struct {
int32_t x;
int32_t y;
int32_t brightness;
} jsProfileData;
typedef struct {
uint32_t scan_head_id;
jsCamera camera;
jsLaser laser;
uint64_t timestamp_ns;
uint32_t flags;
uint32_t sequence_number;
int64_t encoder_values[JS_ENCODER_MAX];
uint32_t num_encoder_values;
uint32_t laser_on_time_us;
jsDataFormat format;
uint32_t packets_received;
uint32_t packets_expected;
uint32_t data_len;
uint64_t reserved_0;
uint64_t reserved_1;
uint64_t reserved_2;
uint64_t reserved_3;
uint64_t reserved_4;
uint64_t reserved_5;
jsProfileData data[JS_PROFILE_DATA_LEN];
} jsProfile;
typedef struct {
uint32_t scan_head_id;
jsCamera camera;
jsLaser laser;
uint64_t timestamp_ns;
uint32_t flags;
uint32_t sequence_number;
int64_t encoder_values[JS_ENCODER_MAX];
uint32_t num_encoder_values;
uint32_t laser_on_time_us;
jsDataFormat format;
uint32_t packets_received;
uint32_t packets_expected;
uint32_t data_len;
uint32_t data_valid_brightness;
uint32_t data_valid_xy;
uint64_t reserved_0;
uint64_t reserved_1;
uint64_t reserved_2;
uint64_t reserved_3;
uint64_t reserved_4;
uint64_t reserved_5;
jsProfileData data[JS_RAW_PROFILE_DATA_LEN];
} jsRawProfile;
typedef struct {
uint32_t scan_head_id;
jsCamera camera;
jsLaser laser;
uint64_t timestamp_ns;
uint64_t encoder_values[JS_ENCODER_MAX];
uint32_t num_encoder_values;
uint32_t camera_exposure_time_us;
uint32_t laser_on_time_us;
uint32_t image_height;
uint32_t image_width;
uint8_t data[JS_CAMERA_IMAGE_DATA_LEN];
} jsCameraImage;
#pragma pack(pop)
#ifndef NO_PINCHOT_INTERFACE
// Macros for setting the visiblity of functions within the library.
#if defined _WIN32 || defined __CYGWIN__
#ifdef WIN_EXPORT
#ifdef __GNUC__
#define EXPORTED __attribute__((dllexport))
#else
#define EXPORTED __declspec(dllexport)
#endif
#else
#ifdef __GNUC__
#define EXPORTED __attribute__((dllexport))
#else
#define EXPORTED __declspec(dllexport)
#endif
#endif
#define NOT_EXPORTED
#define PRE __cdecl
#define POST
#else
#if __GNUC__ >= 4
#define EXPORTED __attribute__((visibility("default")))
#define NOT_EXPORTED __attribute__((visibility("hidden")))
#else
#define EXPORTED
#define NOT_EXPORTED
#endif
#define PRE
#define POST __attribute__((sysv_abi))
#endif
#if defined _MSC_VER
#define DEPRECATED __declspec(deprecated)
#elif defined(__GNUC__) || defined(__clang__)
#define DEPRECATED __attribute__((deprecated))
#else
#define DEPRECATED
#endif
EXPORTED void PRE jsGetAPIVersion(
const char **version_str) POST;
EXPORTED void PRE jsGetAPISemanticVersion(
uint32_t *major,
uint32_t *minor,
uint32_t *patch) POST;
EXPORTED void PRE jsGetError(
int32_t return_code,
const char **error_str) POST;
EXPORTED int32_t PRE jsScanSystemGetLastErrorExtended(
jsScanSystem scan_system,
const char **error_extended_str) POST;
EXPORTED int32_t PRE jsScanHeadGetLastErrorExtended(
jsScanHead scan_head,
const char **error_extended_str) POST;
EXPORTED void PRE jsProfileInit(
jsProfile *profile) POST;
EXPORTED void PRE jsRawProfileInit(
jsRawProfile *profile) POST;
EXPORTED
int32_t jsPowerCycleScanHead(
uint32_t serial_number) POST;
EXPORTED jsScanSystem PRE jsScanSystemCreate(
jsUnits units) POST;
EXPORTED void PRE jsScanSystemFree(
jsScanSystem scan_system) POST;
EXPORTED int PRE jsScanSystemDiscover(
jsScanSystem scan_system) POST;
EXPORTED int PRE jsScanSystemGetDiscovered(
jsScanSystem scan_system,
jsDiscovered *results,
uint32_t max_results) POST;
EXPORTED int PRE jsScanSystemScanSyncDiscover(
jsScanSystem scan_system) POST;
EXPORTED int PRE jsScanSystemGetScanSyncDiscovered(
jsScanSystem scan_system,
jsScanSyncDiscovered *results,
uint32_t max_results) POST;
EXPORTED int PRE jsScanSystemSetScanSyncEncoder(
jsScanSystem scan_system,
uint32_t serial_main,
uint32_t serial_aux1,
uint32_t serial_aux2) POST;
EXPORTED int PRE jsScanSystemGetScanSyncEncoder(
jsScanSystem scan_system,
uint32_t *serial_main,
uint32_t *serial_aux1,
uint32_t *serial_aux2) POST;
EXPORTED int PRE jsScanSystemGetScanSyncStatus(
jsScanSystem scan_system,
uint32_t serial,
jsScanSyncStatus *status) POST;
DEPRECATED EXPORTED int PRE jsScanSystemGetEncoder(
jsScanSystem scan_system,
jsEncoder encoder,
int64_t *value) POST;
EXPORTED jsScanHead PRE jsScanSystemCreateScanHead(
jsScanSystem scan_system,
uint32_t serial,
uint32_t id) POST;
EXPORTED jsScanHead PRE jsScanSystemGetScanHeadById(
jsScanSystem scan_system,
uint32_t id) POST;
EXPORTED jsScanHead PRE jsScanSystemGetScanHeadBySerial(
jsScanSystem scan_system,
uint32_t serial) POST;
EXPORTED int32_t PRE jsScanSystemGetNumberScanHeads(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemConnect(
jsScanSystem scan_system,
int32_t timeout_s) POST;
EXPORTED int32_t PRE jsScanSystemDisconnect(
jsScanSystem scan_system) POST;
EXPORTED bool PRE jsScanSystemIsConnected(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemPhaseClearAll(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemPhaseCreate(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemPhaseInsertCamera(
jsScanSystem scan_system,
jsScanHead scan_head,
jsCamera camera) POST;
EXPORTED int32_t PRE jsScanSystemPhaseInsertLaser(
jsScanSystem scan_system,
jsScanHead scan_head,
jsLaser laser) POST;
EXPORTED int32_t PRE jsScanSystemPhaseInsertConfigurationCamera(
jsScanSystem scan_system,
jsScanHead scan_head,
jsScanHeadConfiguration *cfg,
jsCamera camera) POST;
EXPORTED int32_t PRE jsScanSystemPhaseInsertConfigurationLaser(
jsScanSystem scan_system,
jsScanHead scan_head,
jsScanHeadConfiguration *cfg,
jsLaser laser) POST;
DEPRECATED EXPORTED int32_t PRE jsScanSystemPhaseInsertCameraConfiguration(
jsScanSystem scan_system,
jsScanHead scan_head,
jsCamera camera,
jsScanHeadConfiguration cfg) POST;
DEPRECATED EXPORTED int32_t PRE jsScanSystemPhaseInsertLaserConfiguration(
jsScanSystem scan_system,
jsScanHead scan_head,
jsLaser laser,
jsScanHeadConfiguration cfg) POST;
EXPORTED int32_t PRE
jsScanSystemGetMinScanPeriod(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemConfigure(
jsScanSystem scan_system) POST;
EXPORTED bool PRE jsScanSystemIsConfigured(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemStartScanning(
jsScanSystem scan_system,
uint32_t period_us,
jsDataFormat fmt) POST;
EXPORTED int32_t PRE jsScanSystemStopScanning(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemStartFrameScanning(
jsScanSystem scan_system,
uint32_t period_us,
jsDataFormat fmt) POST;
EXPORTED int32_t PRE jsScanSystemGetProfilesPerFrame(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemWaitUntilFrameAvailable(
jsScanSystem scan_system,
uint32_t timeout_us) POST;
EXPORTED bool PRE jsScanSystemIsFrameAvailable(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemClearFrames(
jsScanSystem scan_system) POST;
EXPORTED int32_t PRE jsScanSystemGetFrame(
jsScanSystem scan_system,
jsProfile *profiles) POST;
EXPORTED int32_t PRE jsScanSystemGetRawFrame(
jsScanSystem scan_system,
jsRawProfile *profiles) POST;
EXPORTED bool PRE jsScanSystemIsScanning(
jsScanSystem scan_system) POST;
EXPORTED jsScanHeadType PRE jsScanHeadGetType(
jsScanHead scan_head) POST;
EXPORTED uint32_t PRE jsScanHeadGetId(
jsScanHead scan_head) POST;
EXPORTED uint32_t PRE jsScanHeadGetSerial(
jsScanHead scan_head) POST;
EXPORTED int32_t PRE jsScanHeadGetCapabilities(
jsScanHead scan_head,
jsScanHeadCapabilities *capabilities) POST;
EXPORTED int32_t PRE jsScanHeadGetFirmwareVersion(
jsScanHead scan_head,
uint32_t *major,
uint32_t *minor,
uint32_t *patch) POST;
EXPORTED bool PRE jsScanHeadIsConnected(
jsScanHead scan_head) POST;
EXPORTED int32_t PRE jsScanHeadSetConfiguration(
jsScanHead scan_head,
jsScanHeadConfiguration *cfg) POST;
EXPORTED int32_t PRE jsScanHeadGetConfiguration(
jsScanHead scan_head,
jsScanHeadConfiguration *cfg) POST;
EXPORTED int32_t PRE jsScanHeadGetConfigurationDefault(
jsScanHead scan_head,
jsScanHeadConfiguration *cfg) POST;
EXPORTED int32_t PRE jsScanHeadSetCableOrientation(
jsScanHead scan_head,
jsCableOrientation cable_orientation);
EXPORTED int32_t PRE jsScanHeadGetCableOrientation(
jsScanHead scan_head,
jsCableOrientation *cable_orientation);
EXPORTED int32_t PRE jsScanHeadSetAlignment(
jsScanHead scan_head,
double roll_degrees,
double shift_x,
double shift_y) POST;
EXPORTED int32_t PRE jsScanHeadSetAlignmentCamera(
jsScanHead scan_head,
jsCamera camera,
double roll_degrees,
double shift_x,
double shift_y) POST;
EXPORTED int32_t PRE jsScanHeadGetAlignmentCamera(
jsScanHead scan_head,
jsCamera camera,
double *roll_degrees,
double *shift_x,
double *shift_y) POST;
EXPORTED int32_t PRE jsScanHeadSetAlignmentLaser(
jsScanHead scan_head,
jsLaser laser,
double roll_degrees,
double shift_x,
double shift_y) POST;
EXPORTED int32_t PRE jsScanHeadGetAlignmentLaser(
jsScanHead scan_head,
jsLaser laser,
double *roll_degrees,
double *shift_x,
double *shift_y) POST;
EXPORTED int32_t PRE jsScanHeadSetExclusionMaskCamera(
jsScanHead scan_head,
jsCamera camera,
jsExclusionMask *mask) POST;
EXPORTED int32_t PRE jsScanHeadSetExclusionMaskLaser(
jsScanHead scan_head,
jsLaser laser,
jsExclusionMask *mask) POST;
EXPORTED int32_t PRE jsScanHeadGetExclusionMaskCamera(
jsScanHead scan_head,
jsCamera camera,
jsExclusionMask *mask) POST;
EXPORTED int32_t PRE jsScanHeadGetExclusionMaskLaser(
jsScanHead scan_head,
jsLaser laser,
jsExclusionMask *mask) POST;
EXPORTED int32_t PRE jsScanHeadSetBrightnessCorrectionCamera_BETA(
jsScanHead scan_head,
jsCamera camera,
jsBrightnessCorrection_BETA *correction) POST;
EXPORTED int32_t PRE jsScanHeadSetBrightnessCorrectionLaser_BETA(
jsScanHead scan_head,
jsLaser laser,
jsBrightnessCorrection_BETA *correction) POST;
EXPORTED int32_t PRE jsScanHeadGetBrightnessCorrectionCamera_BETA(
jsScanHead scan_head,
jsCamera camera,
jsBrightnessCorrection_BETA *correction) POST;
EXPORTED int32_t PRE jsScanHeadGetBrightnessCorrectionLaser_BETA(
jsScanHead scan_head,
jsLaser laser,
jsBrightnessCorrection_BETA *correction) POST;
DEPRECATED EXPORTED int32_t PRE jsScanHeadSetMinimumEncoderTravel(
jsScanHead scan_head,
uint32_t min_encoder_travel);
DEPRECATED EXPORTED int32_t PRE jsScanHeadGetMinimumEncoderTravel(
jsScanHead scan_head,
uint32_t *min_encoder_travel);
EXPORTED int32_t PRE jsScanSystemSetIdleScanPeriod(
jsScanSystem scan_system,
uint32_t idle_period_us) POST;
EXPORTED int32_t PRE jsScanSystemGetIdleScanPeriod(
jsScanSystem scan_system,
uint32_t *idle_period_us) POST;
EXPORTED int32_t PRE jsScanSystemDisableIdleScanning(jsScanSystem scan_system);
EXPORTED bool PRE jsScanSystemIsIdleScanningEnabled(jsScanSystem scan_system);
DEPRECATED EXPORTED int32_t PRE jsScanHeadSetIdleScanPeriod(
jsScanHead scan_head,
uint32_t idle_period_us);
DEPRECATED EXPORTED int32_t PRE jsScanHeadGetIdleScanPeriod(
jsScanHead scan_head,
uint32_t *idle_period_us);
EXPORTED int32_t PRE jsScanHeadSetWindowUnconstrained(
jsScanHead scan_head) POST;
EXPORTED int32_t PRE jsScanHeadSetWindowUnconstrainedCamera(
jsScanHead scan_head,
jsCamera camera) POST;
EXPORTED int32_t PRE jsScanHeadSetWindowUnconstrainedLaser(
jsScanHead scan_head,
jsLaser laser) POST;
EXPORTED int32_t PRE jsScanHeadSetWindowRectangular(
jsScanHead scan_head,
double window_top,
double window_bottom,
double window_left,
double window_right) POST;
EXPORTED int32_t PRE jsScanHeadSetWindowRectangularCamera(
jsScanHead scan_head,
jsCamera camera,
double window_top,
double window_bottom,
double window_left,
double window_right) POST;
EXPORTED int32_t PRE jsScanHeadSetWindowRectangularLaser(
jsScanHead scan_head,
jsLaser laser,
double window_top,
double window_bottom,
double window_left,
double window_right) POST;
EXPORTED int32_t PRE jsScanHeadSetPolygonWindow(
jsScanHead scan_head,
jsCoordinate *points,
uint32_t points_len);
EXPORTED int32_t PRE jsScanHeadSetPolygonWindowCamera(
jsScanHead scan_head,
jsCamera camera,
jsCoordinate *points,
uint32_t points_len);
EXPORTED int32_t PRE jsScanHeadSetPolygonWindowLaser(
jsScanHead scan_head,
jsLaser laser,
jsCoordinate *points,
uint32_t points_len);
EXPORTED int32_t PRE jsScanHeadGetWindowTypeCamera(
jsScanHead scan_head,
jsCamera camera,
jsScanWindowType *window_type);
EXPORTED int32_t PRE jsScanHeadGetWindowTypeLaser(
jsScanHead scan_head,
jsLaser laser,
jsScanWindowType *window_type);
EXPORTED int32_t PRE jsScanHeadGetNumberWindowPointsCamera(
jsScanHead scan_head,
jsCamera camera) POST;
EXPORTED int32_t PRE jsScanHeadGetNumberWindowPointsLaser(
jsScanHead scan_head,
jsLaser laser) POST;
EXPORTED int32_t PRE jsScanHeadGetWindowCamera(
jsScanHead scan_head,
jsCamera camera,
jsCoordinate *points);
EXPORTED int32_t PRE jsScanHeadGetWindowLaser(
jsScanHead scan_head,
jsLaser laser,
jsCoordinate *points);
EXPORTED int32_t PRE jsScanHeadGetStatus(
jsScanHead scan_head,
jsScanHeadStatus *status) POST;
EXPORTED int32_t PRE jsScanHeadGetProfilesAvailable(
jsScanHead scan_head) POST;
EXPORTED int32_t PRE jsScanHeadWaitUntilProfilesAvailable(
jsScanHead scan_head,
uint32_t count,
uint32_t timeout_us) POST;
EXPORTED int32_t PRE jsScanHeadClearProfiles(
jsScanHead scan_head) POST;
EXPORTED int32_t PRE jsScanHeadGetProfiles(
jsScanHead scan_head,
jsProfile *profiles,
uint32_t max_profiles) POST;
EXPORTED int32_t PRE jsScanHeadGetRawProfiles(
jsScanHead scan_head,
jsRawProfile *profiles,
uint32_t max_profiles) POST;
EXPORTED int32_t PRE jsScanHeadGetDiagnosticProfileCamera(
jsScanHead scan_head,
jsCamera camera,
jsDiagnosticMode mode,
uint32_t laser_on_time_us,
uint32_t camera_exposure_time_us,
jsRawProfile *profile) POST;
EXPORTED int32_t PRE jsScanHeadGetDiagnosticProfileLaser(
jsScanHead scan_head,
jsLaser laser,
jsDiagnosticMode mode,
uint32_t laser_on_time_us,
uint32_t camera_exposure_time_us,
jsRawProfile *profile) POST;
DEPRECATED EXPORTED int32_t PRE jsScanHeadGetDiagnosticImageCamera(
jsScanHead scan_head,
jsCamera camera,
jsDiagnosticMode mode,
uint32_t laser_on_time_us,
uint32_t camera_exposure_time_us,
jsCameraImage *image) POST;
DEPRECATED EXPORTED int32_t PRE jsScanHeadGetDiagnosticImageLaser(
jsScanHead scan_head,
jsLaser laser,
jsDiagnosticMode mode,
uint32_t laser_on_time_us,
uint32_t camera_exposure_time_us,
jsCameraImage *image) POST;
DEPRECATED EXPORTED int32_t PRE jsScanHeadGetDiagnosticImage(
jsScanHead scan_head,
jsCamera camera,
jsLaser laser,
jsDiagnosticMode mode,
uint32_t laser_on_time_us,
uint32_t camera_exposure_time_us,
jsCameraImage *image) POST;
#ifdef PRE
#undef PRE
#endif
#ifdef POST
#undef POST
#endif
#endif
#ifdef __cplusplus
} // extern "C" {
#endif
#endif