OpenSRX 0.1.0
C++ library for interfacing with Keyence SR series barcode readers
Loading...
Searching...
No Matches
OpenSRX Namespace Reference

Classes

class  AsioInterface
 Templated base class for Asio-based communication interfaces. More...
 
struct  BoundingBox
 Bounding box defined by four corner points. More...
 
struct  Code
 Result of a barcode read operation. More...
 
class  ICommInterface
 Abstract interface for communicating with a scanner. More...
 
struct  Image
 Raw decoded image data. More...
 
struct  ImageSaveConfig
 Configuration for which image types to save via FTP. More...
 
class  ImageServer
 Embedded FTP server for receiving images from the scanner. More...
 
struct  ParamCppType
 Maps a ParamType enumerator to its corresponding C++ type. More...
 
struct  ParamCppType< ParamType::ALTERNATE_ORDER >
 
struct  ParamCppType< ParamType::ASCII >
 
struct  ParamCppType< ParamType::AUTO_POINTER_LIGHTING >
 
struct  ParamCppType< ParamType::BAUD_RATE_HIGH >
 
struct  ParamCppType< ParamType::BAUD_RATE_LOW >
 
struct  ParamCppType< ParamType::BINNING >
 
struct  ParamCppType< ParamType::CALIBRATION_LIGHTING >
 
struct  ParamCppType< ParamType::COMM_PROTOCOL >
 
struct  ParamCppType< ParamType::CONTRAST_ADJUSTMENT >
 
struct  ParamCppType< ParamType::DATA_LENGTH >
 
struct  ParamCppType< ParamType::DATA_TRANSMISSION >
 
struct  ParamCppType< ParamType::DUPLICATE_READING_PREVENTION >
 
struct  ParamCppType< ParamType::ETHERNET_COMMAND_MODE >
 
struct  ParamCppType< ParamType::ETHERNET_DATA_CLIENT_MODE >
 
struct  ParamCppType< ParamType::FILTER_TYPE >
 
struct  ParamCppType< ParamType::FTP_CONNECTION_TIMING >
 
struct  ParamCppType< ParamType::GRADE_EXPRESSION >
 
struct  ParamCppType< ParamType::GRID_CORRECTION >
 
struct  ParamCppType< ParamType::HEX >
 
struct  ParamCppType< ParamType::IMAGE_FORMAT >
 
struct  ParamCppType< ParamType::IMAGE_SAVING_DESTINATION >
 
struct  ParamCppType< ParamType::IMAGE_SAVING_MODE >
 
struct  ParamCppType< ParamType::IN_TERMINAL_FUNCTION >
 
struct  ParamCppType< ParamType::INPUT_POLARITY >
 
struct  ParamCppType< ParamType::INPUT_PULSE_WIDTH >
 
struct  ParamCppType< ParamType::INT >
 
struct  ParamCppType< ParamType::INT_VECTOR >
 
struct  ParamCppType< ParamType::INTERNAL_LIGHTING_TYPE >
 
struct  ParamCppType< ParamType::INVERSE_MODE >
 
struct  ParamCppType< ParamType::LENGTH_LIMITATION_METHOD >
 
struct  ParamCppType< ParamType::LIVE_VIEW_DISPLAY_IMAGE >
 
struct  ParamCppType< ParamType::MASTER_SLAVE_OPERATION >
 
struct  ParamCppType< ParamType::MULTI_CODE_OUTPUT_FORMAT >
 
struct  ParamCppType< ParamType::MULTIPLE_READING_SAME_CODE >
 
struct  ParamCppType< ParamType::NW7_CHECK_DIGIT_TYPE >
 
struct  ParamCppType< ParamType::NW7_START_STOP_LETTER_TYPE >
 
struct  ParamCppType< ParamType::OUTPUT_DIRECTION >
 
struct  ParamCppType< ParamType::PARITY_CHECK >
 
struct  ParamCppType< ParamType::PDF417_READ_CODE_TYPE >
 
struct  ParamCppType< ParamType::PHARMACODE_READ_DIRECTION >
 
struct  ParamCppType< ParamType::PLC_PROTOCOL >
 
struct  ParamCppType< ParamType::PRESENTATION_MODE >
 
struct  ParamCppType< ParamType::READING_MODE >
 
struct  ParamCppType< ParamType::REVERSE_MODE >
 
struct  ParamCppType< ParamType::SORT_ORDER >
 
struct  ParamCppType< ParamType::STARTUP_TEST_MODE >
 
struct  ParamCppType< ParamType::STOP_BIT_LENGTH >
 
struct  ParamCppType< ParamType::SUBFOLDER_NAME_METHOD >
 
struct  ParamCppType< ParamType::TCP_CLIENT_CONNECTION_TIMING >
 
struct  ParamCppType< ParamType::TEST_MODE_ASSIGNMENT >
 
struct  ParamCppType< ParamType::TIMING_MODE >
 
struct  ParamCppType< ParamType::TOGGLE >
 
struct  ParamCppType< ParamType::TRIGGER_COMMAND_RESPONSE >
 
struct  ParamCppType< ParamType::UPC_A_OUTPUT >
 
struct  ParamCppType< ParamType::VERIFICATION_METHOD >
 
struct  ParamCppType< ParamType::VERIFICATION_THRESHOLD >
 
struct  Point
 A point in image coordinates. More...
 
class  Scanner
 High-level interface to a KEYENCE SR-X series barcode scanner. More...
 
class  SerialInterface
 Communication interface using an RS-232 serial port. More...
 
class  SocketInterface
 Communication interface using a TCP/IP socket. More...
 
class  Timestamp
 Simple date/time representation used by the scanner's clock. More...
 

Typedefs

using VersionTuple = std::tuple<int, int, int>
 Tuple type for (major, minor, patch) version numbers.
 
template<ParamType PT>
using ParamCppT = typename ParamCppType<PT>::type
 Shorthand: the C++ type for a given ParamType.
 

Enumerations

enum class  BankParam {
  BANK_NAME = 625 , INTERNAL_LIGHTING_USE = 0 , EXTERNAL_LIGHTING_USE = 4 , INTERNAL_LIGHTING_TYPE = 10 ,
  EXPOSURE_TIME = 100 , GAIN = 101 , CONTRAST_ADJUSTMENT_METHOD = 108 , AI_FILTER = 519 ,
  CONTRAST_THRESHOLD_CORRECTION = 506 , FILTER_1ST_TYPE = 200 , FILTER_2ND_TYPE = 201 , FILTER_3RD_TYPE = 202 ,
  FILTER_4TH_TYPE = 203 , FILTER_1ST_COUNT = 210 , FILTER_2ND_COUNT = 211 , FILTER_3RD_COUNT = 212 ,
  FILTER_4TH_COUNT = 213 , CODE_TYPE = 300 , OUTPUT_LENGTH_LIMITATION = 306 , OUTPUT_DIRECTION = 307 ,
  OUTPUT_LENGTH = 308 , OUTPUT_STARTING_INDEX = 309 , ECI_OUTPUT = 310 , QR_LENGTH_LIMITATION_METHOD = 700 ,
  QR_LENGTH_LIMITATION_VALUE = 701 , QR_MAX_READ_LENGTH = 321 , QR_MIN_READ_LENGTH = 322 , QR_VERSION_MODEL1 = 400 ,
  QR_VERSION_MODEL2_1_20 = 401 , QR_VERSION_MODEL2_21_40 = 402 , QR_VERSION_MICRO = 403 , QR_GRID_CORRECTION = 500 ,
  DATAMATRIX_LENGTH_LIMITATION_METHOD = 702 , DATAMATRIX_LENGTH_LIMITATION_VALUE = 703 , DATAMATRIX_MAX_READ_LENGTH = 323 , DATAMATRIX_MIN_READ_LENGTH = 324 ,
  DATAMATRIX_TARGET_SIZE = 410 , DMRE_TARGET_SIZE = 820 , PDF417_LENGTH_LIMITATION_METHOD = 704 , PDF417_LENGTH_LIMITATION_VALUE = 705 ,
  PDF417_READ_CODE_TYPE = 420 , PDF417_MAX_READ_LENGTH = 325 , PDF417_MIN_READ_LENGTH = 326 , PDF417_DECODE_MATCHES = 658 ,
  MAXICODE_LENGTH_LIMITATION_METHOD = 734 , MAXICODE_LENGTH_LIMITATION_VALUE = 735 , MAXICODE_MAX_READ_LENGTH = 475 , MAXICODE_MIN_READ_LENGTH = 476 ,
  GS1_DATABAR_LENGTH_LIMITATION_METHOD = 706 , GS1_DATABAR_LENGTH_LIMITATION_VALUE = 707 , GS1_DATABAR_MAX_READ_LENGTH = 327 , GS1_DATABAR_MIN_READ_LENGTH = 328 ,
  GS1_DATABAR_DECODE_MATCHES = 659 , GS1_DATABAR_RIGHT_SPACE_RATIO = 681 , GS1_DATABAR_OMNIDIRECTIONAL = 390 , GS1_DATABAR_STACKED = 391 ,
  GS1_DATABAR_LIMITED = 392 , GS1_DATABAR_EXPANDED = 393 , GS1_DATABAR_EXPANDED_STACKED = 394 , GS1_DATABAR_EXPANDED_STACKED_ROWS_MIN = 395 ,
  GS1_DATABAR_EXPANDED_STACKED_ROWS_MAX = 396 , CODE39_LENGTH_LIMITATION_METHOD = 708 , CODE39_LENGTH_LIMITATION_VALUE = 709 , CODE39_MAX_READ_LENGTH = 329 ,
  CODE39_MIN_READ_LENGTH = 330 , CODE39_DECODE_MATCHES = 660 , CODE39_QUIET_ZONE_RATIO = 682 , CODE39_SEND_START_STOP = 375 ,
  CODE39_INSPECT_CHECK_DIGIT = 376 , CODE39_SEND_CHECK_DIGIT = 377 , CODE39_TRIOPTIC_READING = 378 , CODE39_FULL_ASCII = 379 ,
  ITF_LENGTH_LIMITATION_METHOD = 710 , ITF_LENGTH_LIMITATION_VALUE = 711 , ITF_MAX_READ_LENGTH = 331 , ITF_MIN_READ_LENGTH = 332 ,
  ITF_DECODE_MATCHES = 661 , ITF_QUIET_ZONE_RATIO = 683 , ITF_INSPECT_CHECK_DIGIT = 385 , ITF_SEND_CHECK_DIGIT = 386 ,
  TWO_OF_5_LENGTH_LIMITATION_METHOD = 712 , TWO_OF_5_LENGTH_LIMITATION_VALUE = 713 , TWO_OF_5_MAX_READ_LENGTH = 333 , TWO_OF_5_MIN_READ_LENGTH = 334 ,
  TWO_OF_5_DECODE_MATCHES = 662 , TWO_OF_5_QUIET_ZONE_RATIO = 684 , NW7_LENGTH_LIMITATION_METHOD = 714 , NW7_LENGTH_LIMITATION_VALUE = 715 ,
  NW7_MAX_READ_LENGTH = 335 , NW7_MIN_READ_LENGTH = 336 , NW7_DECODE_MATCHES = 663 , NW7_QUIET_ZONE_RATIO = 685 ,
  NW7_SEND_START_STOP = 380 , NW7_START_STOP_LETTER_TYPE = 381 , NW7_INSPECT_CHECK_DIGIT = 382 , NW7_SEND_CHECK_DIGIT = 383 ,
  NW7_CHECK_DIGIT_TYPE = 384 , JAN_EAN_UPC_DECODE_MATCHES = 664 , JAN_EAN_UPC_QUIET_ZONE_RATIO = 686 , UPC_E_READING = 350 ,
  EAN_JAN_8_READING = 351 , EAN_JAN_13_READING = 352 , UPC_A_OUTPUT = 353 , UPC_E_NUMBER_SYSTEM = 354 ,
  SUPPLEMENTAL_2_DIGIT = 355 , SUPPLEMENTAL_5_DIGIT = 356 , IGNORE_UPC_WITHOUT_SUPPLEMENTAL = 357 , GTIN_14_DIGIT_OUTPUT = 358 ,
  CODE128_LENGTH_LIMITATION_METHOD = 716 , CODE128_LENGTH_LIMITATION_VALUE = 717 , CODE128_MAX_READ_LENGTH = 337 , CODE128_MIN_READ_LENGTH = 338 ,
  CODE128_DECODE_MATCHES = 665 , CODE128_QUIET_ZONE_RATIO = 687 , CODE128_GS1_128 = 366 , COOP_2OF5_LENGTH_LIMITATION_METHOD = 718 ,
  COOP_2OF5_LENGTH_LIMITATION_VALUE = 719 , COOP_2OF5_MAX_READ_LENGTH = 339 , COOP_2OF5_MIN_READ_LENGTH = 340 , COOP_2OF5_DECODE_MATCHES = 666 ,
  COOP_2OF5_QUIET_ZONE_RATIO = 688 , CODE93_LENGTH_LIMITATION_METHOD = 720 , CODE93_LENGTH_LIMITATION_VALUE = 721 , CODE93_MAX_READ_LENGTH = 341 ,
  CODE93_MIN_READ_LENGTH = 342 , CODE93_DECODE_MATCHES = 667 , CODE93_QUIET_ZONE_RATIO = 689 , GS1_COMPOSITE_DATABAR_LENGTH_LIMITATION_METHOD = 722 ,
  GS1_COMPOSITE_DATABAR_LENGTH_LIMITATION_VALUE = 723 , GS1_COMPOSITE_DATABAR_MAX_READ_LENGTH = 343 , GS1_COMPOSITE_DATABAR_MIN_READ_LENGTH = 344 , GS1_COMPOSITE_EAN_UPC_LENGTH_LIMITATION_METHOD = 724 ,
  GS1_COMPOSITE_EAN_UPC_LENGTH_LIMITATION_VALUE = 725 , GS1_COMPOSITE_EAN_UPC_MAX_READ_LENGTH = 345 , GS1_COMPOSITE_EAN_UPC_MIN_READ_LENGTH = 346 , GS1_COMPOSITE_GS1_128_LENGTH_LIMITATION_METHOD = 726 ,
  GS1_COMPOSITE_GS1_128_LENGTH_LIMITATION_VALUE = 727 , GS1_COMPOSITE_GS1_128_MAX_READ_LENGTH = 347 , GS1_COMPOSITE_GS1_128_MIN_READ_LENGTH = 348 , GS1_COMPOSITE_GS1_128_CC_C_READING = 437 ,
  POSTAL_LENGTH_LIMITATION_METHOD = 728 , POSTAL_LENGTH_LIMITATION_VALUE = 729 , POSTAL_MAX_READ_LENGTH = 447 , POSTAL_MIN_READ_LENGTH = 448 ,
  POSTAL_JAPAN_READING = 446 , POSTAL_INTELLIGENT_MAIL = 443 , PHARMACODE_MAX_BARS = 440 , PHARMACODE_MIN_BARS = 441 ,
  PHARMACODE_DECODE_MATCHES = 669 , PHARMACODE_QUIET_ZONE_RATIO = 690 , PHARMACODE_READ_DIRECTION = 530 , PHARMACODE_BINARY_OUTPUT = 442 ,
  DOTCODE_LENGTH_LIMITATION_METHOD = 730 , DOTCODE_LENGTH_LIMITATION_VALUE = 731 , DOTCODE_MAX_READ_LENGTH = 460 , DOTCODE_MIN_READ_LENGTH = 461 ,
  DOTCODE_MAX_ROWS = 462 , DOTCODE_MIN_ROWS = 463 , DOTCODE_MAX_COLUMNS = 464 , DOTCODE_MIN_COLUMNS = 465 ,
  AZTEC_LENGTH_LIMITATION_METHOD = 732 , AZTEC_LENGTH_LIMITATION_VALUE = 733 , AZTEC_MAX_READ_LENGTH = 470 , AZTEC_MIN_READ_LENGTH = 471 ,
  ALTERNATE = 600 , INTERNAL_BANK_RETRY_COUNT = 601 , DECODE_TIMEOUT_DURATION = 602 , REGION_NUMBER = 604 ,
  INVERSE = 605 , REVERSE = 606 , BASE_TILT_ANGLE = 607 , TILT_ANGLE_RANGE = 608 ,
  CODE_ORIENTATION_1D = 613
}
 Command numbers for parameter bank configuration (WB/RB commands). More...
 
enum class  CommParam {
  APPEND_CHECKSUM = 3 , APPEND_DATA_SIZE = 4 , HEADER_SETTINGS = 5 , TERMINATOR_SETTINGS = 6 ,
  AI_NET_CONNECTION = 10 , BAUD_RATE_HIGH = 100 , DATA_LENGTH = 101 , PARITY_CHECK = 102 ,
  STOP_BIT_LENGTH = 103 , COMM_PROTOCOL = 104 , BAUD_RATE_LOW = 105 , RS232C_COMMUNICATION = 109 ,
  RS232C_HEARTBEAT_SEND = 111 , RNDIS = 120 , IP_ADDRESS = 200 , SUBNET_MASK = 201 ,
  DEFAULT_GATEWAY = 202 , ETHERNET_COMMAND = 203 , COMMAND_STANDBY_PORT = 204 , ETHERNET_DATA_SERVER = 205 ,
  ETHERNET_DATA_SERVER_PORT = 206 , ETHERNET_DATA_CLIENT = 207 , ETHERNET_DATA_CLIENT_REMOTE_IP_1 = 208 , ETHERNET_DATA_CLIENT_REMOTE_PORT_1 = 209 ,
  ETHERNET_DATA_CLIENT_REMOTE_IP_2 = 210 , ETHERNET_DATA_CLIENT_REMOTE_PORT_2 = 211 , TCP_CLIENT_CONNECTION_TIMING = 213 , KEEP_ALIVE = 214 ,
  HOST_CONNECTION_ERROR_CLIENT = 215 , LOGIN_AUTHENTICATION = 220 , LOGIN_USER_NAME = 221 , LOGIN_PASSWORD = 222 ,
  HEARTBEAT_SEND_ETHERNET_SERVER = 225 , HEARTBEAT_SEND_ETHERNET_CLIENT = 226 , HEARTBEAT_SEND_INTERVAL = 230 , HEARTBEAT_RESET_ON_DATA_TX = 231 ,
  HEARTBEAT_STRING = 232 , HEARTBEAT_HEADER = 233 , HEARTBEAT_TERMINATOR = 234 , PLC_REMOTE_IP = 300 ,
  PLC_REMOTE_PORT = 301 , PLC_DEVICE_PORT = 302 , PLC_PROTOCOL = 303 , PLC_DM_FRONT_ADDRESS = 304 ,
  PLC_CONTROL_REGION_ADDRESS = 305 , PLC_RESPONSE_REGION_ADDRESS = 306 , PLC_OUTPUT_LENGTH = 307 , PLC_LINK_TIMING_INPUT = 308 ,
  PLC_BIT_MONITORING_PERIOD = 309 , PLC_RETRY_INTERVAL = 310 , ETHERNET_IP_HANDSHAKE = 321 , ETHERNET_IP_INPUT_ASSEMBLY_SIZE = 322 ,
  ETHERNET_IP_OUTPUT_ASSEMBLY_SIZE = 323 , ETHERNET_IP_BYTE_SWAPPING = 324 , PROFINET_DEVICE_NAME = 330 , PROFINET_HANDSHAKE = 331 ,
  PLC_LINK_ERROR_ON_FAILURE = 334 , FTP_REMOTE_IP = 400 , FTP_USER_NAME = 401 , FTP_PASSWORD = 402 ,
  FTP_SUBFOLDER = 403 , FTP_SUBFOLDER_NAME = 404 , FTP_CONNECTION_TIMING = 405 , FTP_PASSIVE_MODE = 408 ,
  FTP_HOST_CONNECTION_ERROR = 409 , FTP_SUBFOLDER_NAME_METHOD = 411 , FTP_HISTORY_DATA_TX = 412 , FTP_DATA_TX = 420 ,
  FTP_DATA_REMOTE_IP = 421 , FTP_DATA_USER_NAME = 422 , FTP_DATA_PASSWORD = 423 , FTP_DATA_SUBFOLDER = 424 ,
  FTP_DATA_SUBFOLDER_NAME = 425 , FTP_DATA_CONNECTION_TIMING = 426 , FTP_DATA_PASSIVE_MODE = 429 , FTP_DATA_APPEND_PRECEDING = 430 ,
  FTP_DATA_FILE_NAME = 431 , FTP_DATA_HOST_CONNECTION_ERROR = 432 , SFTP = 440 , SFTP_REMOTE_PORT = 441 ,
  FTP_REMOTE_PORT = 442 , MASTER_SLAVE_OPERATION = 500 , MASTER_SLAVE_ID = 501 , MASTER_SLAVE_GROUP_NAME = 503 ,
  SNTP_SERVER_ADDRESS = 520 , SNTP_TIME_ZONE = 521 , SNTP_UPDATE_CYCLE = 522 , SR_WEB_TOOL = 530 ,
  SR_WEB_PASSWORD_AUTH = 535 , SR_WEB_PORT_NUMBER = 536 , HTTPS = 538 , VNC_SERVER = 550 ,
  ADMIN_USERNAME = 560 , ADMIN_PASSWORD = 561 , USER1_USERNAME = 562 , USER1_PASSWORD = 563 ,
  USER1_APPLICATIONS = 564 , USER2_USERNAME = 565 , USER2_PASSWORD = 566 , USER2_APPLICATIONS = 567 ,
  USER3_USERNAME = 568 , USER3_PASSWORD = 569 , USER3_APPLICATIONS = 570 , USER4_USERNAME = 571 ,
  USER4_PASSWORD = 572 , USER4_APPLICATIONS = 573
}
 Command numbers for communication configuration (WN/RN commands). More...
 
enum class  ErrCode {
  CMD_UNDEFINED = 0 , MISMATCHED_CMD_FMT = 1 , PARAM1_OUT_OF_RANGE = 2 , PARAM2_OUT_OF_RANGE = 3 ,
  PARAM2_NOT_IN_HEX = 4 , PARAM2_IN_HEX_BUT_OUT_OF_RANGE = 5 , TWO_OR_MORE_MARKS_IN_PRESET_DATA = 10 , AREA_SPECIFICATION_DATA_INCORRECT = 11 ,
  FILE_DOES_NOT_EXIST = 12 , TMM_LON_MM_OUT_OF_RANGE = 13 , TMM_KEYENCE_COMMUNICATION_CANNOT_BE_CHECKED = 14 , COMMAND_NOT_EXECUTABLE_IN_CURRENT_STATUS = 20 ,
  BUFFER_OVERFLOW = 21 , PARAMETER_LOAD_OR_SAVE_ERROR = 22 , CONNECTED_TO_AUTOID_NETWORK_NAVIGATOR = 23 , DEVICE_FAULT = 99
}
 Error codes returned by the scanner in "ER,CMD,code" responses. More...
 
enum class  CommFormat { NO_HEADER_CR_IN_CR_OUT = 0 , NO_HEADER_CRLF_IN_CR_OUT = 1 , STX_HEADER_ETX_IN_ETX_OUT = 2 }
 Communication framing format for command/response exchange. More...
 
enum class  OperationParam {
  IN1_TERMINAL_FUNCTION = 0 , IN2_TERMINAL_FUNCTION = 1 , IN1_TEST_MODE_ASSIGNMENT = 2 , IN2_TEST_MODE_ASSIGNMENT = 3 ,
  IN1_CAPTURE_BANK = 4 , IN2_CAPTURE_BANK = 5 , IN1_INPUT_AT_POWER_ON = 6 , IN2_INPUT_AT_POWER_ON = 7 ,
  IN1_INPUT_POLARITY = 40 , IN2_INPUT_POLARITY = 41 , IN1_INPUT_PULSE_WIDTH = 43 , IN2_INPUT_PULSE_WIDTH = 44 ,
  OUT1_TERMINAL_FUNCTION = 20 , OUT2_TERMINAL_FUNCTION = 21 , OUT3_TERMINAL_FUNCTION = 22 , BUSY_OUTPUT_ON_STARTUP = 24 ,
  OUTPUT_DURATION = 25 , HEARTBEAT_SEND_INTERVAL = 27 , OUT1_OUTPUT_POLARITY = 50 , OUT2_OUTPUT_POLARITY = 51 ,
  OUT3_OUTPUT_POLARITY = 52 , STARTUP_TEST_MODE = 100 , TIMING_MODE = 101 , ONE_SHOT_TRIGGER_DURATION = 102 ,
  TRIGGER_ON_COMMAND_STRING = 103 , TRIGGER_OFF_COMMAND_STRING = 104 , TRIGGER_ON_OFF_ONE_CHAR = 105 , TRIGGER_ON_DELAY = 106 ,
  TRIGGER_OFF_DELAY = 107 , READING_MODE = 200 , DATA_TRANSMISSION = 201 , DUPLICATE_READING_PREVENTION_INTERVAL = 202 ,
  ALTERNATE_ORDER = 204 , READ_ERROR_STRING = 205 , MATCHING_LEVEL_JUDGMENT = 206 , MATCHING_LEVEL_THRESHOLD = 207 ,
  CAPTURE_INTERVAL = 208 , AUTO_POINTER_LIGHTING = 209 , CAPTURE_COUNT = 210 , SHORTEN_BANK_TRANSITION = 214 ,
  IMAGE_CAPTURE_RANGE = 215 , DUPLICATE_READING_PREVENTION_MODE = 239 , CODE_READING_PER_AREA = 241 , MULTIPLE_READING_SAME_CODE = 243 ,
  MULTIPLE_READING_SAME_CODE_INTERVAL = 246 , DUPLICATE_READING_PREVENTION_BUFFER = 247 , CODES_TO_READ = 250 , ALLOW_REDUCED_DETECTION_COUNT = 251 ,
  DUPLICATE_READING_PREVENTION_BUFFER_RELEASE_TIME = 296 , TRIGGER_OVERRUN_STRING = 361 , TRIGGER_OVERRUN_OUTPUT = 362 , MAX_READ_CODES_QR = 252 ,
  MAX_READ_CODES_DATAMATRIX = 253 , MAX_READ_CODES_PDF417 = 254 , MAX_READ_CODES_GS1_DATABAR = 255 , MAX_READ_CODES_CODE39 = 256 ,
  MAX_READ_CODES_ITF = 257 , MAX_READ_CODES_2OF5 = 258 , MAX_READ_CODES_NW7 = 259 , MAX_READ_CODES_JAN_EAN_UPC = 260 ,
  MAX_READ_CODES_CODE128 = 261 , MAX_READ_CODES_COOP_2OF5 = 262 , MAX_READ_CODES_CODE93 = 263 , MAX_READ_CODES_CC_AB_GS1_DATABAR = 264 ,
  MAX_READ_CODES_CC_AB_EAN_UPC = 265 , MAX_READ_CODES_CC_ABC_GS1_128 = 266 , MAX_READ_CODES_PHARMACODE = 267 , MAX_READ_CODES_POSTAL = 269 ,
  MAX_READ_CODES_DOTCODE = 278 , MAX_READ_CODES_MAXICODE = 452 , MAX_READ_CODES_AZTEC = 451 , CODE_TYPE_ORDER_PRIORITY = 270 ,
  SCANNING_ORDER_PRIORITY = 271 , CODE_CENTER_X_PRIORITY = 272 , CODE_CENTER_Y_PRIORITY = 273 , REGION_PRIORITY = 274 ,
  CODE_DIGITS_PRIORITY = 275 , CODE_TYPE_ORDER_SETTING = 280 , SCANNING_ORDER_SETTING = 281 , CODE_CENTER_X_ORDER_SETTING = 282 ,
  CODE_CENTER_Y_ORDER_SETTING = 283 , REGION_SEQUENCE_SETTING = 284 , CODE_DIGITS_SEQUENCE_SETTING = 285 , CODE_TYPE_SEQUENCE_SETTING = 286 ,
  MULTI_CODE_OUTPUT_FORMAT = 290 , TIME_APPENDING = 300 , CODE_TYPE_APPENDING = 301 , SYMBOL_ID_APPENDING = 302 ,
  BANK_NUMBER_APPENDING = 303 , DECODING_TIME_APPENDING = 304 , SCAN_COUNT_APPENDING = 305 , READ_TIME_APPENDING = 306 ,
  CODE_VERTEX_APPENDING = 308 , CODE_CENTER_APPENDING = 309 , UNUSED_ECC_RATIO_APPENDING = 310 , FILE_NAME_APPENDING = 313 ,
  REGION_NUMBER_APPENDING = 318 , MASTER_SLAVE_GROUP_NAME_APPENDING = 320 , MASTER_SLAVE_ID_APPENDING = 321 , DATA_EDIT_FUNCTION = 360 ,
  SCRIPT_DATA_OUTPUT_DESTINATIONS = 365 , NUMBER_OF_SUCCESSFUL_DECODES_APPENDING = 370 , ANGLE_APPENDING = 371 , VERIFICATION_START_DIGITS = 400 ,
  VERIFICATION_DIGITS = 401 , PRESET_DATA_REGISTRATION = 402 , VERIFICATION_METHOD = 403 , SEQUENTIAL_VALUE_INCREMENT = 404 ,
  SAVE_DEST_READ_OK = 500 , SAVE_DEST_VERIFICATION_NG = 501 , SAVE_DEST_READ_ERROR = 502 , SAVE_DEST_UNSTABLE = 503 ,
  SAVE_DEST_CAPTURE = 504 , IMAGE_SAVING_MODE = 505 , NUMBER_OF_IMAGES_TO_SAVE = 506 , EDIT_IMAGE_FILE_NAME = 510 ,
  IMAGE_FORMAT = 511 , JPEG_QUALITY = 512 , BINNING = 513 , INTERMITTENT_OPERATION_INTERVAL = 514 ,
  IMAGE_SAVE_PRIORITY = 530 , IMAGE_SAVING_CONTINUATION = 458 , OUTPUT_DATA_WITH_ENTER_BUTTON = 600 , DELIMITER_CHARACTER = 601 ,
  INTER_DELIMITER = 602 , DATA_FILLING_SIZE = 603 , DATA_FILLING_CHARACTER = 604 , COMPOSITE_DELIMITER = 605 ,
  SILENT_MODE = 606 , READER_NAME = 607 , TRIGGER_COMMAND_RESPONSE = 610 , ENTER_BUTTON_LOCK = 611 ,
  TRIGGER_COMMAND_SUCCESS_RESPONSE = 613 , TRIGGER_COMMAND_FAILURE_RESPONSE = 614 , ROTATE_DISPLAY_IMAGE = 615 , PRESENTATION_MODE = 616 ,
  READER_DESCRIPTION_1 = 620 , READER_DESCRIPTION_2 = 621 , READER_DESCRIPTION_3 = 622 , READER_DESCRIPTION_4 = 623 ,
  WRITE_BLOAD_TO_ROM = 630 , STATUS_LED_LIGHTING = 721 , LIVEVIEW_DISPLAY_IMAGE = 900 , LIVEVIEW_DISPLAY_ROTATION = 901 ,
  TUNING_EXPOSURE_TIME = 802 , TUNING_IMAGE_FILTER = 805 , TUNING_ALLOW_REDUCED_DETECTION = 806 , TUNING_INTERNAL_LIGHTING_TYPE = 811 ,
  TUNING_AUTO_INTERNAL_LIGHTING = 812 , TUNING_CODE_SEARCH = 813 , TUNING_BANK_NUMBER = 816 , TUNING_TARGET_CODE = 820 ,
  TUNING_INTERNAL_LIGHTING = 821 , TUNING_EXTERNAL_LIGHTING = 822 , TUNING_BLACK_WHITE_INVERSION = 823 , TUNING_CONTRAST_ADJUSTMENT = 825 ,
  TUNING_AUTO_CONTRAST_ADJUSTMENT = 826 , VERIFICATION_STANDARD_SELECTION = 230 , ISO_15415_THRESHOLD = 231 , ISO_29158_THRESHOLD = 232 ,
  SAE_AS9132_THRESHOLD = 233 , ISO_15416_EXECUTION = 234 , ISO_15416_THRESHOLD = 235 , ISO_16022_EXECUTION = 236 ,
  ISO_16022_THRESHOLD = 237 , ISO_15415_RESULT_APPENDING = 340 , ISO_29158_RESULT_APPENDING = 341 , SAE_AS9132_RESULT_APPENDING = 342 ,
  SEMI_T10_RESULT_APPENDING = 343 , JP_PHARMA_RESULT_APPENDING = 344 , ISO_16022_RESULT_APPENDING = 345 , GRADE_EXPRESSION_SETTING = 350 ,
  DETAILED_ITEM_ADDITION = 351 , EVALUATION_VALUE_ADDITION = 352 , CALIBRATION_LIGHTING = 890 , CALIBRATION_BRIGHTNESS_POLARIZED = 891 ,
  CALIBRATION_BRIGHTNESS_DIRECT = 892 , CALIBRATION_BRIGHTNESS_DIFFUSED = 893
}
 Command numbers for operation configuration (WP/RP commands). More...
 
enum class  ParamType {
  HEX , ASCII , INT_VECTOR , INT ,
  TOGGLE , INTERNAL_LIGHTING_TYPE , CONTRAST_ADJUSTMENT , FILTER_TYPE ,
  OUTPUT_DIRECTION , LENGTH_LIMITATION_METHOD , GRID_CORRECTION , PDF417_READ_CODE_TYPE ,
  NW7_START_STOP_LETTER_TYPE , NW7_CHECK_DIGIT_TYPE , UPC_A_OUTPUT , INVERSE_MODE ,
  REVERSE_MODE , PHARMACODE_READ_DIRECTION , IN_TERMINAL_FUNCTION , TEST_MODE_ASSIGNMENT ,
  INPUT_POLARITY , INPUT_PULSE_WIDTH , STARTUP_TEST_MODE , TIMING_MODE ,
  READING_MODE , DATA_TRANSMISSION , DUPLICATE_READING_PREVENTION , ALTERNATE_ORDER ,
  AUTO_POINTER_LIGHTING , MULTIPLE_READING_SAME_CODE , MULTI_CODE_OUTPUT_FORMAT , IMAGE_SAVING_DESTINATION ,
  IMAGE_SAVING_MODE , IMAGE_FORMAT , BINNING , TRIGGER_COMMAND_RESPONSE ,
  PRESENTATION_MODE , LIVE_VIEW_DISPLAY_IMAGE , VERIFICATION_THRESHOLD , CALIBRATION_LIGHTING ,
  VERIFICATION_METHOD , GRADE_EXPRESSION , SORT_ORDER , BAUD_RATE_LOW ,
  BAUD_RATE_HIGH , DATA_LENGTH , PARITY_CHECK , STOP_BIT_LENGTH ,
  COMM_PROTOCOL , ETHERNET_COMMAND_MODE , ETHERNET_DATA_CLIENT_MODE , TCP_CLIENT_CONNECTION_TIMING ,
  PLC_PROTOCOL , FTP_CONNECTION_TIMING , SUBFOLDER_NAME_METHOD , MASTER_SLAVE_OPERATION
}
 Combined wire format and value-enum type for a parameter. More...
 
enum class  Toggle { DISABLE = 0 , ENABLE = 1 }
 Generic enable/disable toggle used by many parameters. More...
 
enum class  InternalLightingType { DIRECT = 0 , POLARIZED = 1 , DIFFUSED = 2 }
 Internal lighting type (command 010). More...
 
enum class  ContrastAdjustment { STANDARD = 0 , HDR = 1 , HDR2 = 2 , CONTRAST_ZOOM = 3 }
 Contrast adjustment method (command 108). More...
 
enum class  FilterType {
  DISABLE = 0 , EQUALIZE = 1 , EXPAND = 2 , SHRINK = 3 ,
  OPEN = 4 , CLOSE = 5 , MEDIAN = 6 , UNSHARP_MASK = 7
}
 Filter type for filter slots 1–4 (commands 200–203). More...
 
enum class  OutputDirection { FORWARD = 0 , BACKWARD = 1 }
 Output direction (command 307). More...
 
enum class  LengthLimitationMethod { SPECIFY_RANGE = 0 , SPECIFY_VALUE = 1 }
 Length limitation method used by many code types. More...
 
enum class  GridCorrection { DISABLE = 0 , ENABLE = 1 , AUTOMATIC = 2 }
 Grid correction mode (command 500). More...
 
enum class  PDF417ReadCodeType { PDF417_ONLY = 1 , MICRO_PDF_ONLY = 2 , PDF417_AND_MICRO_PDF = 3 }
 PDF417 read code type. More...
 
enum class  NW7StartStopLetterType { LOWERCASE = 0 , UPPERCASE = 1 }
 NW-7 (CodaBar) start/stop letter type. More...
 
enum class  NW7CheckDigitType {
  MODULUS_16 = 0 , MODULUS_11 = 1 , MODULUS_10_WEIGHT_2 = 2 , MODULUS_10_WEIGHT_3 = 3 ,
  CHECK_DR = 4 , MODULUS_11_ALT = 5 , LUHN = 6
}
 NW-7 (CodaBar) check-digit type. More...
 
enum class  UpcAOutput { OUTPUT_13_DIGITS = 0 , OUTPUT_12_DIGITS = 1 }
 UPC-A output format. More...
 
enum class  InverseMode { DISABLE = 0 , ENABLE = 1 , AUTOMATIC = 2 }
 Inverse reading mode. More...
 
enum class  ReverseMode { DISABLE = 0 , ENABLE = 1 , AUTOMATIC = 2 }
 Reverse reading mode. More...
 
enum class  PharmacodeReadDirection { LEFT_TO_RIGHT = 0 , RIGHT_TO_LEFT = 1 , DOWNWARD = 2 , UPWARD = 3 }
 Pharmacode read direction. More...
 
enum class  InTerminalFunction {
  DISABLE = 0 , TRIGGER_INPUT = 1 , PRESET_INPUT = 2 , START_TEST_MODE = 3 ,
  CAPTURE = 4 , CLEAR_PLC_LINK_ERROR = 5 , TRIGGER_LOCK = 6 , READ_QUICK_SETUP_CODE = 7 ,
  TUNING_OPERATION = 8 , TIMING_INPUT_START = 9 , TIMING_INPUT_STOP = 10 , COMMAND_REPLACEMENT = 14 ,
  DATA_OUTPUT = 15
}
 IN terminal function (commands 000, 001). More...
 
enum class  TestModeAssignment { READING_RATE_TEST = 1 , TACT_TEST = 2 }
 Test mode assignment (commands 002, 003). More...
 
enum class  InputPolarity { NORMAL_OPEN = 0 , NORMAL_CLOSE = 1 }
 Input polarity (commands 040, 041, 050, 051, 052). More...
 
enum class  InputPulseWidth { MS_1 = 0 , MS_2 = 1 , MS_10 = 2 }
 Input pulse width (commands 043, 044). More...
 
enum class  StartupTestMode { NONE = 0 , READING_RATE_TEST = 1 , READ_TIME_TEST = 2 }
 Test mode on startup (command 100). More...
 
enum class  TimingMode { LEVEL_TRIGGER = 0 , ONE_SHOT_TRIGGER = 1 }
 Timing mode (command 101). More...
 
enum class  ReadingMode { STANDARD = 0 , CONTINUOUS = 1 , BURST_READ = 3 , SCRIPT = 4 }
 Reading mode (command 200). More...
 
enum class  DataTransmission { SEND_AFTER_READ = 0 , SEND_AFTER_TIMING_OFF = 1 }
 Data transmission timing (command 201). More...
 
enum class  DuplicateReadingPrevention { RESET_BY_TIME = 0 , RESET_BY_TIME_OR_ANOTHER_CODE = 1 , DO_NOT_PREVENT = 2 }
 Standard duplicate reading prevention (command 239). More...
 
enum class  AlternateOrder { ORDER_OF_BANK_NUMBER = 0 , BEGIN_WITH_SUCCESSFUL_BANK = 1 }
 Specifying alternate order (command 204). More...
 
enum class  AutoPointerLighting { DO_NOT_LIGHT = 0 , LIGHT_AUTOMATICALLY = 1 , ONLY_WHEN_CAPTURING = 2 }
 Automatic pointer lighting (command 209). More...
 
enum class  MultipleReadingSameCode { DISABLE = 0 , ALLOW_SAME_WITHIN_CAPTURE = 1 , ALLOW_SAME_SEPARATED_BY_INTERVAL = 2 }
 Multiple reading of same code type/data (command 243). More...
 
enum class  MultiCodeOutputFormat { STANDARD = 0 , PER_BANK = 1 , PER_AREA = 2 }
 Multiple-code output format (command 290). More...
 
enum class  ImageSavingDestination {
  DISABLE = 0 , SAVE_TO_RAM = 1 , SAVE_TO_ROM = 2 , SEND_BY_FTP = 3 ,
  SAVE_USB = 4 , SAVE_ROM_AND_FTP = 5 , SAVE_USB_AND_FTP = 6
}
 Image saving destination (commands 500–504). More...
 
enum class  ImageSavingMode {
  LATEST_BANK_IMAGE = 0 , AFTER_TRIGGER_ON = 1 , AFTER_TRIGGER_OFF = 2 , AFTER_TRIGGER_ON_INTERMITTENT = 3 ,
  AFTER_TRIGGER_OFF_INTERMITTENT = 4
}
 Image saving mode (command 505). More...
 
enum class  ImageFormat { BMP = 0 , JPG = 1 }
 Image format (command 511). More...
 
enum class  Binning { FULL = 0 , QUARTER = 1 , SIXTEENTH = 3 , SIXTY_FOURTH = 4 }
 Binning (command 513). More...
 
enum class  TriggerCommandResponse {
  NOT_SPECIFIED = 0 , DETAILED_RESPONSE = 1 , USER_SETTING = 2 , ECHO_BACK = 3 ,
  COMMAND_REPLACEMENT = 4
}
 Trigger command response string mode (command 610). More...
 
enum class  PresentationMode { DISABLE = 0 , POLARIZED_LIGHT = 1 , DIRECT_LIGHT = 2 , DIFFUSED_LIGHT = 3 }
 Presentation mode (command 616). More...
 
enum class  LiveViewDisplayImage { BEFORE_IMAGE_FILTER = 0 , AFTER_IMAGE_FILTER = 1 }
 LiveView display image (command 900). More...
 
enum class  VerificationThreshold {
  DISABLE = 0 , GRADE_D = 1 , GRADE_C = 2 , GRADE_B = 3 ,
  GRADE_A = 4
}
 Verification threshold grade (commands 231, 232, 235, 237). More...
 
enum class  CalibrationLighting { DISABLE = 0 , POLARIZED_LIGHT = 1 , DIRECT_LIGHT = 2 , DIFFUSED_LIGHT = 3 }
 Code verification calibration lighting (command 890). More...
 
enum class  VerificationMethod { NORMAL = 0 , SEQUENTIAL_VALUE = 1 }
 Verification method (command 403). More...
 
enum class  GradeExpression { ALPHABET = 0 , NUMERICAL_VALUE = 1 }
 Grade expression setting (command 350). More...
 
enum class  SortOrder { ASCENDING = 0 , DESCENDING = 1 }
 Sorting order (commands 280–285). More...
 
enum class  BaudRateLow {
  DISABLE = 0 , BPS_600 = 1 , BPS_1200 = 2 , BPS_2400 = 3 ,
  BPS_4800 = 4
}
 RS-232C baud rate low range (command 105). More...
 
enum class  BaudRateHigh {
  BPS_9600 = 0 , BPS_19200 = 1 , BPS_38400 = 2 , BPS_57600 = 3 ,
  BPS_115200 = 4
}
 RS-232C baud rate high range (command 100). More...
 
enum class  DataLength { SEVEN_BIT = 0 , EIGHT_BIT = 1 }
 RS-232C data length (command 101). More...
 
enum class  ParityCheck { DISABLE = 0 , EVEN = 1 , ODD = 2 }
 RS-232C parity check (command 102). More...
 
enum class  StopBitLength { ONE_BIT = 0 , TWO_BIT = 1 }
 RS-232C stop bit length (command 103). More...
 
enum class  CommProtocol { NO_HANDSHAKING = 0 , PASS_RTRY = 1 , ACK_NAK = 2 }
 RS-232C communication protocol (command 104). More...
 
enum class  EthernetCommandMode { NOT_USED = 0 , TCP = 1 , UDP = 2 }
 Ethernet command mode (command 203). More...
 
enum class  EthernetDataClientMode { NOT_USED = 0 , TCP = 1 , UDP = 2 }
 Ethernet data client setting (command 207). More...
 
enum class  TCPClientConnectionTiming { AFTER_READING = 0 , IMMEDIATELY_AFTER_POWER_UP = 1 }
 TCP client connection timing (command 213). More...
 
enum class  PLCProtocol {
  NOT_USED = 0 , MC_PROTOCOL_RS232C = 1 , SYSWAY = 2 , KV_STUDIO_RS232C = 3 ,
  MC_PROTOCOL_ETHERNET = 4 , OMRON_PLC_LINK = 5 , KV_STUDIO = 6 , ETHERNET_IP = 7 ,
  PROFINET = 8
}
 PLC protocol setting (command 303). More...
 
enum class  FTPConnectionTiming { AFTER_READING = 0 , IMMEDIATELY_AFTER_POWER_UP = 1 , ALWAYS_DISCONNECT = 2 }
 FTP connection timing (commands 405, 426). More...
 
enum class  SubfolderNameMethod { MANUAL = 0 , AUTO = 1 }
 Subfolder name setting method (command 411). More...
 
enum class  MasterSlaveOperation { DISABLE = 0 , MULTI_DROP_LINK = 1 , ADVANCED_MULTI_HEAD = 3 }
 Master/Slave operation configuration (command 500). More...
 
enum class  CommandStatus { NO_PROCESSING = 0 , WAIT_FOR_SETTING = 1 , UPDATING = 2 }
 Scanner command processing status. More...
 
enum class  ErrorStatus {
  NO_ERROR = 0 , SYSTEM_ERROR = 1 , UPDATE_ERROR = 2 , SET_VALUE_ERROR = 3 ,
  DUPLICATE_IP_ERROR = 4 , BUFF_OVERFLOW_ERROR = 5 , PLC_LINK_ERROR = 6 , PROFINET_ERROR = 7 ,
  LUA_SCRIPT_ERROR = 8 , CONNECTION_ERROR = 9
}
 Scanner error status codes. More...
 
enum class  BusyStatus {
  IDLE = 0 , TRG_BUSY = 1 , UPDATE_PROCESSING = 2 , SAVING_FILE = 3 ,
  AUTO_FOCUSING = 4
}
 Scanner busy status. More...
 
enum class  TuningAdvice { NONE = 0 , USE_AN_IMAGE_FILTER = 1 , CONSIDER_INSTALLATION_LIGHTING_PRINTING_CONDITIONS , BRIGHTNESS_INSUFFICIENT = 4 }
 Advice returned by tuning on how to improve results. More...
 
enum class  TuningFailureReason { CODE_DETECTION_IMPOSSIBLE = 1 , UNSTABLE_READING = 2 }
 Reason for a tuning failure. More...
 
enum class  Parity { NONE = asio::serial_port_base::parity::none , EVEN = asio::serial_port_base::parity::even , ODD = asio::serial_port_base::parity::odd }
 Serial port parity setting. More...
 
enum class  DataBits { SEVEN = 7 , EIGHT = 8 }
 Serial port data bits setting. More...
 
enum class  StopBits { ONE = asio::serial_port_base::stop_bits::one , TWO = asio::serial_port_base::stop_bits::two }
 Serial port stop bits setting. More...
 
enum class  FlowControl { NONE = asio::serial_port_base::flow_control::none , RTS_CTS = asio::serial_port_base::flow_control::hardware , XON_XOFF }
 Serial port flow control setting. More...
 
enum class  TuningParam {
  QR_MAX_READ_LENGTH = 100 , QR_MIN_READ_LENGTH = 101 , DATAMATRIX_MAX_READ_LENGTH = 200 , DATAMATRIX_MIN_READ_LENGTH = 201 ,
  DATAMATRIX_DMRE_READ = 1926 , PDF417_MAX_READ_LENGTH = 300 , PDF417_MIN_READ_LENGTH = 301 , PDF417_TARGET_CODE = 303 ,
  MAXICODE_MAX_READ_LENGTH = 1924 , MAXICODE_MIN_READ_LENGTH = 1925 , GS1_DATABAR_MAX_READ_LENGTH = 500 , GS1_DATABAR_MIN_READ_LENGTH = 501 ,
  GS1_DATABAR_RIGHT_QUIET_ZONE_RATIO = 502 , GS1_DATABAR_OMNIDIRECTIONAL = 503 , GS1_DATABAR_STACKED = 504 , GS1_DATABAR_LIMITED = 505 ,
  GS1_DATABAR_EXPANDED = 506 , GS1_DATABAR_EXPANDED_STACKED = 507 , GS1_DATABAR_EXPANDED_STACKED_ROWS_MIN = 508 , GS1_DATABAR_EXPANDED_STACKED_ROWS_MAX = 509 ,
  CODE39_MAX_READ_LENGTH = 600 , CODE39_MIN_READ_LENGTH = 601 , CODE39_QUIET_ZONE_RATIO = 602 , CODE39_SEND_START_STOP = 603 ,
  CODE39_INSPECT_CHECK_DIGIT = 604 , CODE39_SEND_CHECK_DIGIT = 605 , CODE39_TRIOPTIC_READING = 606 , CODE39_FULL_ASCII = 607 ,
  ITF_MAX_READ_LENGTH = 700 , ITF_MIN_READ_LENGTH = 701 , ITF_QUIET_ZONE_RATIO = 702 , ITF_INSPECT_CHECK_DIGIT = 703 ,
  ITF_SEND_CHECK_DIGIT = 704 , TWO_OF_5_MAX_READ_LENGTH = 800 , TWO_OF_5_MIN_READ_LENGTH = 801 , TWO_OF_5_QUIET_ZONE_RATIO = 802 ,
  NW7_MAX_READ_LENGTH = 900 , NW7_MIN_READ_LENGTH = 901 , NW7_QUIET_ZONE_RATIO = 902 , NW7_SEND_START_STOP = 903 ,
  NW7_START_STOP_LETTER_TYPE = 904 , NW7_INSPECT_CHECK_DIGIT = 905 , NW7_SEND_CHECK_DIGIT = 906 , NW7_CHECK_DIGIT_TYPE = 907 ,
  JAN_EAN_UPC_QUIET_ZONE_RATIO = 1002 , UPC_E_READING = 1003 , EAN_JAN_8_READING = 1004 , EAN_JAN_13_READING = 1005 ,
  UPC_A_OUTPUT = 1006 , UPC_E_NUMBER_SYSTEM = 1007 , SUPPLEMENTAL_2_DIGIT = 1008 , SUPPLEMENTAL_5_DIGIT = 1009 ,
  IGNORE_UPC_WITHOUT_SUPPLEMENTAL = 1010 , GTIN_14_DIGIT_OUTPUT = 1011 , CODE128_MAX_READ_LENGTH = 1100 , CODE128_MIN_READ_LENGTH = 1101 ,
  CODE128_QUIET_ZONE_RATIO = 1102 , CODE128_GS1_128 = 1103 , COOP_2OF5_MAX_READ_LENGTH = 1200 , COOP_2OF5_MIN_READ_LENGTH = 1201 ,
  COOP_2OF5_QUIET_ZONE_RATIO = 1202 , CODE93_MAX_READ_LENGTH = 1300 , CODE93_MIN_READ_LENGTH = 1301 , CODE93_QUIET_ZONE_RATIO = 1302 ,
  PHARMACODE_MAX_BARS = 1800 , PHARMACODE_MIN_BARS = 1801 , PHARMACODE_QUIET_ZONE_RATIO = 1802 , PHARMACODE_READ_DIRECTION = 1803 ,
  PHARMACODE_BINARY_OUTPUT = 1805 , AZTEC_MAX_READ_LENGTH = 1903 , AZTEC_MIN_READ_LENGTH = 1904 , POSTAL_INTELLIGENT_MAIL = 1905 ,
  POSTAL_JAPAN_READING = 1908 , POSTAL_MAX_READ_LENGTH = 1909 , POSTAL_MIN_READ_LENGTH = 1910 , DOTCODE_MAX_READ_LENGTH = 1920 ,
  DOTCODE_MIN_READ_LENGTH = 1921
}
 Command numbers for tuning code settings (WC/RC commands). More...
 

Functions

Image decodeBMP (const std::string &path)
 Decode a BMP file into an Image.
 
template<typename T>
GetVersion ()=delete
 Get the library version (primary template is deleted).
 
template<>
std::string GetVersion< std::string > ()
 Get the library version as a human-readable string.
 
template<>
VersionTuple GetVersion< VersionTuple > ()
 Get the library version as a (major, minor, patch) tuple.
 
template<ParamType PT>
ParamCppT< PT > parseParam (const std::string &raw)
 Parse a raw response string into the C++ type for a given ParamType.
 
template<ParamType PT>
std::string formatParam (const ParamCppT< PT > &value)
 Format a C++ value into the string to send as a parameter value.
 
constexpr ParamType paramType (BankParam p)
 
constexpr ParamType paramType (TuningParam p)
 
constexpr ParamType paramType (OperationParam p)
 
constexpr ParamType paramType (CommParam p)
 
std::tuple< std::string, std::string > parseVersionInfo (const std::string &raw)
 Parse a raw version info string ("MODEL,FIRMWARE") into components.
 

Variables

constexpr int REGION_MIN = 1
 Command numbers for region configuration (WD/RD commands).
 
constexpr int REGION_MAX = 128
 

Typedef Documentation

◆ ParamCppT

template<ParamType PT>
using OpenSRX::ParamCppT = typename ParamCppType<PT>::type

Shorthand: the C++ type for a given ParamType.

◆ VersionTuple

using OpenSRX::VersionTuple = std::tuple<int, int, int>

Tuple type for (major, minor, patch) version numbers.

Enumeration Type Documentation

◆ AlternateOrder

enum class OpenSRX::AlternateOrder
strong

Specifying alternate order (command 204).

Enumerator
ORDER_OF_BANK_NUMBER 
BEGIN_WITH_SUCCESSFUL_BANK 

◆ AutoPointerLighting

enum class OpenSRX::AutoPointerLighting
strong

Automatic pointer lighting (command 209).

Enumerator
DO_NOT_LIGHT 
LIGHT_AUTOMATICALLY 
ONLY_WHEN_CAPTURING 

◆ BankParam

enum class OpenSRX::BankParam
strong

Command numbers for parameter bank configuration (WB/RB commands).

Used with the WB (write bank) and RB (read bank) commands in the format: WB,bm,n (write) RB,bm (read) where b = bank number (01–16), m = command number, n = setting value.

Enumerator
BANK_NAME 
INTERNAL_LIGHTING_USE 
EXTERNAL_LIGHTING_USE 
INTERNAL_LIGHTING_TYPE 
EXPOSURE_TIME 
GAIN 
CONTRAST_ADJUSTMENT_METHOD 
AI_FILTER 
CONTRAST_THRESHOLD_CORRECTION 
FILTER_1ST_TYPE 
FILTER_2ND_TYPE 
FILTER_3RD_TYPE 
FILTER_4TH_TYPE 
FILTER_1ST_COUNT 
FILTER_2ND_COUNT 
FILTER_3RD_COUNT 
FILTER_4TH_COUNT 
CODE_TYPE 
OUTPUT_LENGTH_LIMITATION 
OUTPUT_DIRECTION 
OUTPUT_LENGTH 
OUTPUT_STARTING_INDEX 
ECI_OUTPUT 
QR_LENGTH_LIMITATION_METHOD 
QR_LENGTH_LIMITATION_VALUE 
QR_MAX_READ_LENGTH 
QR_MIN_READ_LENGTH 
QR_VERSION_MODEL1 
QR_VERSION_MODEL2_1_20 
QR_VERSION_MODEL2_21_40 
QR_VERSION_MICRO 
QR_GRID_CORRECTION 
DATAMATRIX_LENGTH_LIMITATION_METHOD 
DATAMATRIX_LENGTH_LIMITATION_VALUE 
DATAMATRIX_MAX_READ_LENGTH 
DATAMATRIX_MIN_READ_LENGTH 
DATAMATRIX_TARGET_SIZE 
DMRE_TARGET_SIZE 
PDF417_LENGTH_LIMITATION_METHOD 
PDF417_LENGTH_LIMITATION_VALUE 
PDF417_READ_CODE_TYPE 
PDF417_MAX_READ_LENGTH 
PDF417_MIN_READ_LENGTH 
PDF417_DECODE_MATCHES 
MAXICODE_LENGTH_LIMITATION_METHOD 
MAXICODE_LENGTH_LIMITATION_VALUE 
MAXICODE_MAX_READ_LENGTH 
MAXICODE_MIN_READ_LENGTH 
GS1_DATABAR_LENGTH_LIMITATION_METHOD 
GS1_DATABAR_LENGTH_LIMITATION_VALUE 
GS1_DATABAR_MAX_READ_LENGTH 
GS1_DATABAR_MIN_READ_LENGTH 
GS1_DATABAR_DECODE_MATCHES 
GS1_DATABAR_RIGHT_SPACE_RATIO 
GS1_DATABAR_OMNIDIRECTIONAL 
GS1_DATABAR_STACKED 
GS1_DATABAR_LIMITED 
GS1_DATABAR_EXPANDED 
GS1_DATABAR_EXPANDED_STACKED 
GS1_DATABAR_EXPANDED_STACKED_ROWS_MIN 
GS1_DATABAR_EXPANDED_STACKED_ROWS_MAX 
CODE39_LENGTH_LIMITATION_METHOD 
CODE39_LENGTH_LIMITATION_VALUE 
CODE39_MAX_READ_LENGTH 
CODE39_MIN_READ_LENGTH 
CODE39_DECODE_MATCHES 
CODE39_QUIET_ZONE_RATIO 
CODE39_SEND_START_STOP 
CODE39_INSPECT_CHECK_DIGIT 
CODE39_SEND_CHECK_DIGIT 
CODE39_TRIOPTIC_READING 
CODE39_FULL_ASCII 
ITF_LENGTH_LIMITATION_METHOD 
ITF_LENGTH_LIMITATION_VALUE 
ITF_MAX_READ_LENGTH 
ITF_MIN_READ_LENGTH 
ITF_DECODE_MATCHES 
ITF_QUIET_ZONE_RATIO 
ITF_INSPECT_CHECK_DIGIT 
ITF_SEND_CHECK_DIGIT 
TWO_OF_5_LENGTH_LIMITATION_METHOD 
TWO_OF_5_LENGTH_LIMITATION_VALUE 
TWO_OF_5_MAX_READ_LENGTH 
TWO_OF_5_MIN_READ_LENGTH 
TWO_OF_5_DECODE_MATCHES 
TWO_OF_5_QUIET_ZONE_RATIO 
NW7_LENGTH_LIMITATION_METHOD 
NW7_LENGTH_LIMITATION_VALUE 
NW7_MAX_READ_LENGTH 
NW7_MIN_READ_LENGTH 
NW7_DECODE_MATCHES 
NW7_QUIET_ZONE_RATIO 
NW7_SEND_START_STOP 
NW7_START_STOP_LETTER_TYPE 
NW7_INSPECT_CHECK_DIGIT 
NW7_SEND_CHECK_DIGIT 
NW7_CHECK_DIGIT_TYPE 
JAN_EAN_UPC_DECODE_MATCHES 
JAN_EAN_UPC_QUIET_ZONE_RATIO 
UPC_E_READING 
EAN_JAN_8_READING 
EAN_JAN_13_READING 
UPC_A_OUTPUT 
UPC_E_NUMBER_SYSTEM 
SUPPLEMENTAL_2_DIGIT 
SUPPLEMENTAL_5_DIGIT 
IGNORE_UPC_WITHOUT_SUPPLEMENTAL 
GTIN_14_DIGIT_OUTPUT 
CODE128_LENGTH_LIMITATION_METHOD 
CODE128_LENGTH_LIMITATION_VALUE 
CODE128_MAX_READ_LENGTH 
CODE128_MIN_READ_LENGTH 
CODE128_DECODE_MATCHES 
CODE128_QUIET_ZONE_RATIO 
CODE128_GS1_128 
COOP_2OF5_LENGTH_LIMITATION_METHOD 
COOP_2OF5_LENGTH_LIMITATION_VALUE 
COOP_2OF5_MAX_READ_LENGTH 
COOP_2OF5_MIN_READ_LENGTH 
COOP_2OF5_DECODE_MATCHES 
COOP_2OF5_QUIET_ZONE_RATIO 
CODE93_LENGTH_LIMITATION_METHOD 
CODE93_LENGTH_LIMITATION_VALUE 
CODE93_MAX_READ_LENGTH 
CODE93_MIN_READ_LENGTH 
CODE93_DECODE_MATCHES 
CODE93_QUIET_ZONE_RATIO 
GS1_COMPOSITE_DATABAR_LENGTH_LIMITATION_METHOD 
GS1_COMPOSITE_DATABAR_LENGTH_LIMITATION_VALUE 
GS1_COMPOSITE_DATABAR_MAX_READ_LENGTH 
GS1_COMPOSITE_DATABAR_MIN_READ_LENGTH 
GS1_COMPOSITE_EAN_UPC_LENGTH_LIMITATION_METHOD 
GS1_COMPOSITE_EAN_UPC_LENGTH_LIMITATION_VALUE 
GS1_COMPOSITE_EAN_UPC_MAX_READ_LENGTH 
GS1_COMPOSITE_EAN_UPC_MIN_READ_LENGTH 
GS1_COMPOSITE_GS1_128_LENGTH_LIMITATION_METHOD 
GS1_COMPOSITE_GS1_128_LENGTH_LIMITATION_VALUE 
GS1_COMPOSITE_GS1_128_MAX_READ_LENGTH 
GS1_COMPOSITE_GS1_128_MIN_READ_LENGTH 
GS1_COMPOSITE_GS1_128_CC_C_READING 
POSTAL_LENGTH_LIMITATION_METHOD 
POSTAL_LENGTH_LIMITATION_VALUE 
POSTAL_MAX_READ_LENGTH 
POSTAL_MIN_READ_LENGTH 
POSTAL_JAPAN_READING 
POSTAL_INTELLIGENT_MAIL 
PHARMACODE_MAX_BARS 
PHARMACODE_MIN_BARS 
PHARMACODE_DECODE_MATCHES 
PHARMACODE_QUIET_ZONE_RATIO 
PHARMACODE_READ_DIRECTION 
PHARMACODE_BINARY_OUTPUT 
DOTCODE_LENGTH_LIMITATION_METHOD 
DOTCODE_LENGTH_LIMITATION_VALUE 
DOTCODE_MAX_READ_LENGTH 
DOTCODE_MIN_READ_LENGTH 
DOTCODE_MAX_ROWS 
DOTCODE_MIN_ROWS 
DOTCODE_MAX_COLUMNS 
DOTCODE_MIN_COLUMNS 
AZTEC_LENGTH_LIMITATION_METHOD 
AZTEC_LENGTH_LIMITATION_VALUE 
AZTEC_MAX_READ_LENGTH 
AZTEC_MIN_READ_LENGTH 
ALTERNATE 
INTERNAL_BANK_RETRY_COUNT 
DECODE_TIMEOUT_DURATION 
REGION_NUMBER 
INVERSE 
REVERSE 
BASE_TILT_ANGLE 
TILT_ANGLE_RANGE 
CODE_ORIENTATION_1D 

◆ BaudRateHigh

enum class OpenSRX::BaudRateHigh
strong

RS-232C baud rate high range (command 100).

Enumerator
BPS_9600 
BPS_19200 
BPS_38400 
BPS_57600 
BPS_115200 

◆ BaudRateLow

enum class OpenSRX::BaudRateLow
strong

RS-232C baud rate low range (command 105).

Enumerator
DISABLE 
BPS_600 
BPS_1200 
BPS_2400 
BPS_4800 

◆ Binning

enum class OpenSRX::Binning
strong

Binning (command 513).

Enumerator
FULL 
QUARTER 
SIXTEENTH 
SIXTY_FOURTH 

◆ BusyStatus

enum class OpenSRX::BusyStatus
strong

Scanner busy status.

Enumerator
IDLE 

Not busy.

TRG_BUSY 

Trigger processing in progress.

UPDATE_PROCESSING 

Update processing in progress.

SAVING_FILE 

Saving a file.

AUTO_FOCUSING 

Auto-focus in progress.

◆ CalibrationLighting

enum class OpenSRX::CalibrationLighting
strong

Code verification calibration lighting (command 890).

Enumerator
DISABLE 
POLARIZED_LIGHT 
DIRECT_LIGHT 
DIFFUSED_LIGHT 

◆ CommandStatus

enum class OpenSRX::CommandStatus
strong

Scanner command processing status.

Enumerator
NO_PROCESSING 

No command is being processed.

WAIT_FOR_SETTING 

Waiting for a setting to be applied.

UPDATING 

A setting update is in progress.

◆ CommFormat

enum class OpenSRX::CommFormat
strong

Communication framing format for command/response exchange.

Enumerator
NO_HEADER_CR_IN_CR_OUT 

No header; CR terminator in both directions.

NO_HEADER_CRLF_IN_CR_OUT 

No header; CR+LF in, CR out.

STX_HEADER_ETX_IN_ETX_OUT 

STX header with ETX terminator.

◆ CommParam

enum class OpenSRX::CommParam
strong

Command numbers for communication configuration (WN/RN commands).

Used with the WN (write network) and RN (read network) commands in the format: WN,m,n (write) RN,m (read) where m = command number, n = setting value.

Note
To apply communication configuration changes, a SAVE command must be sent afterwards.
Enumerator
APPEND_CHECKSUM 
APPEND_DATA_SIZE 
HEADER_SETTINGS 
TERMINATOR_SETTINGS 
AI_NET_CONNECTION 
BAUD_RATE_HIGH 
DATA_LENGTH 
PARITY_CHECK 
STOP_BIT_LENGTH 
COMM_PROTOCOL 
BAUD_RATE_LOW 
RS232C_COMMUNICATION 
RS232C_HEARTBEAT_SEND 
RNDIS 
IP_ADDRESS 
SUBNET_MASK 
DEFAULT_GATEWAY 
ETHERNET_COMMAND 
COMMAND_STANDBY_PORT 
ETHERNET_DATA_SERVER 
ETHERNET_DATA_SERVER_PORT 
ETHERNET_DATA_CLIENT 
ETHERNET_DATA_CLIENT_REMOTE_IP_1 
ETHERNET_DATA_CLIENT_REMOTE_PORT_1 
ETHERNET_DATA_CLIENT_REMOTE_IP_2 
ETHERNET_DATA_CLIENT_REMOTE_PORT_2 
TCP_CLIENT_CONNECTION_TIMING 
KEEP_ALIVE 
HOST_CONNECTION_ERROR_CLIENT 
LOGIN_AUTHENTICATION 
LOGIN_USER_NAME 
LOGIN_PASSWORD 
HEARTBEAT_SEND_ETHERNET_SERVER 
HEARTBEAT_SEND_ETHERNET_CLIENT 
HEARTBEAT_SEND_INTERVAL 
HEARTBEAT_RESET_ON_DATA_TX 
HEARTBEAT_STRING 
HEARTBEAT_HEADER 
HEARTBEAT_TERMINATOR 
PLC_REMOTE_IP 
PLC_REMOTE_PORT 
PLC_DEVICE_PORT 
PLC_PROTOCOL 
PLC_DM_FRONT_ADDRESS 
PLC_CONTROL_REGION_ADDRESS 
PLC_RESPONSE_REGION_ADDRESS 
PLC_OUTPUT_LENGTH 
PLC_LINK_TIMING_INPUT 
PLC_BIT_MONITORING_PERIOD 
PLC_RETRY_INTERVAL 
ETHERNET_IP_HANDSHAKE 
ETHERNET_IP_INPUT_ASSEMBLY_SIZE 
ETHERNET_IP_OUTPUT_ASSEMBLY_SIZE 
ETHERNET_IP_BYTE_SWAPPING 
PROFINET_DEVICE_NAME 
PROFINET_HANDSHAKE 
PLC_LINK_ERROR_ON_FAILURE 
FTP_REMOTE_IP 
FTP_USER_NAME 
FTP_PASSWORD 
FTP_SUBFOLDER 
FTP_SUBFOLDER_NAME 
FTP_CONNECTION_TIMING 
FTP_PASSIVE_MODE 
FTP_HOST_CONNECTION_ERROR 
FTP_SUBFOLDER_NAME_METHOD 
FTP_HISTORY_DATA_TX 
FTP_DATA_TX 
FTP_DATA_REMOTE_IP 
FTP_DATA_USER_NAME 
FTP_DATA_PASSWORD 
FTP_DATA_SUBFOLDER 
FTP_DATA_SUBFOLDER_NAME 
FTP_DATA_CONNECTION_TIMING 
FTP_DATA_PASSIVE_MODE 
FTP_DATA_APPEND_PRECEDING 
FTP_DATA_FILE_NAME 
FTP_DATA_HOST_CONNECTION_ERROR 
SFTP 
SFTP_REMOTE_PORT 
FTP_REMOTE_PORT 
MASTER_SLAVE_OPERATION 
MASTER_SLAVE_ID 
MASTER_SLAVE_GROUP_NAME 
SNTP_SERVER_ADDRESS 
SNTP_TIME_ZONE 
SNTP_UPDATE_CYCLE 
SR_WEB_TOOL 
SR_WEB_PASSWORD_AUTH 
SR_WEB_PORT_NUMBER 
HTTPS 
VNC_SERVER 
ADMIN_USERNAME 
ADMIN_PASSWORD 
USER1_USERNAME 
USER1_PASSWORD 
USER1_APPLICATIONS 
USER2_USERNAME 
USER2_PASSWORD 
USER2_APPLICATIONS 
USER3_USERNAME 
USER3_PASSWORD 
USER3_APPLICATIONS 
USER4_USERNAME 
USER4_PASSWORD 
USER4_APPLICATIONS 

◆ CommProtocol

enum class OpenSRX::CommProtocol
strong

RS-232C communication protocol (command 104).

Enumerator
NO_HANDSHAKING 
PASS_RTRY 
ACK_NAK 

◆ ContrastAdjustment

enum class OpenSRX::ContrastAdjustment
strong

Contrast adjustment method (command 108).

Enumerator
STANDARD 
HDR 
HDR2 
CONTRAST_ZOOM 

◆ DataBits

enum class OpenSRX::DataBits
strong

Serial port data bits setting.

Enumerator
SEVEN 

7 data bits.

EIGHT 

8 data bits.

◆ DataLength

enum class OpenSRX::DataLength
strong

RS-232C data length (command 101).

Enumerator
SEVEN_BIT 
EIGHT_BIT 

◆ DataTransmission

enum class OpenSRX::DataTransmission
strong

Data transmission timing (command 201).

Enumerator
SEND_AFTER_READ 
SEND_AFTER_TIMING_OFF 

◆ DuplicateReadingPrevention

Standard duplicate reading prevention (command 239).

Enumerator
RESET_BY_TIME 
RESET_BY_TIME_OR_ANOTHER_CODE 
DO_NOT_PREVENT 

◆ ErrCode

enum class OpenSRX::ErrCode
strong

Error codes returned by the scanner in "ER,CMD,code" responses.

Enumerator
CMD_UNDEFINED 

Undefined command received.

MISMATCHED_CMD_FMT 

Mismatched command format (invalid parameter count).

PARAM1_OUT_OF_RANGE 

Parameter 1 value exceeds the set range.

PARAM2_OUT_OF_RANGE 

Parameter 2 value exceeds the set range.

PARAM2_NOT_IN_HEX 

Parameter 2 is not in hexadecimal.

PARAM2_IN_HEX_BUT_OUT_OF_RANGE 

Parameter 2 is hex but out of range.

TWO_OR_MORE_MARKS_IN_PRESET_DATA 

Preset data contains two or more "!" marks.

AREA_SPECIFICATION_DATA_INCORRECT 

Area specification data is incorrect.

FILE_DOES_NOT_EXIST 

Specified file does not exist.

TMM_LON_MM_OUT_OF_RANGE 

TMM-LON mm value out of range.

TMM_KEYENCE_COMMUNICATION_CANNOT_BE_CHECKED 

TMM-KEYENCE communication check failed.

COMMAND_NOT_EXECUTABLE_IN_CURRENT_STATUS 

Command not executable in current status.

BUFFER_OVERFLOW 

Buffer overflow; commands cannot execute.

PARAMETER_LOAD_OR_SAVE_ERROR 

Parameter load/save error.

CONNECTED_TO_AUTOID_NETWORK_NAVIGATOR 

Connected to AutoID Network Navigator.

DEVICE_FAULT 

Device fault; contact KEYENCE support.

◆ ErrorStatus

enum class OpenSRX::ErrorStatus
strong

Scanner error status codes.

Enumerator
NO_ERROR 

No error.

SYSTEM_ERROR 

System error.

UPDATE_ERROR 

Update error.

SET_VALUE_ERROR 

Set value error.

DUPLICATE_IP_ERROR 

Duplicate IP address detected.

BUFF_OVERFLOW_ERROR 

Buffer overflow error.

PLC_LINK_ERROR 

PLC link error.

PROFINET_ERROR 

PROFINET error.

LUA_SCRIPT_ERROR 

Lua script error.

CONNECTION_ERROR 

Host connection error.

◆ EthernetCommandMode

enum class OpenSRX::EthernetCommandMode
strong

Ethernet command mode (command 203).

Enumerator
NOT_USED 
TCP 
UDP 

◆ EthernetDataClientMode

Ethernet data client setting (command 207).

Enumerator
NOT_USED 
TCP 
UDP 

◆ FilterType

enum class OpenSRX::FilterType
strong

Filter type for filter slots 1–4 (commands 200–203).

Enumerator
DISABLE 
EQUALIZE 
EXPAND 
SHRINK 
OPEN 
CLOSE 
MEDIAN 
UNSHARP_MASK 

◆ FlowControl

enum class OpenSRX::FlowControl
strong

Serial port flow control setting.

Enumerator
NONE 

No flow control.

RTS_CTS 

Hardware (RTS/CTS) flow control.

XON_XOFF 

Software (XON/XOFF) flow control.

◆ FTPConnectionTiming

enum class OpenSRX::FTPConnectionTiming
strong

FTP connection timing (commands 405, 426).

Enumerator
AFTER_READING 
IMMEDIATELY_AFTER_POWER_UP 
ALWAYS_DISCONNECT 

◆ GradeExpression

enum class OpenSRX::GradeExpression
strong

Grade expression setting (command 350).

Enumerator
ALPHABET 
NUMERICAL_VALUE 

◆ GridCorrection

enum class OpenSRX::GridCorrection
strong

Grid correction mode (command 500).

Enumerator
DISABLE 
ENABLE 
AUTOMATIC 

◆ ImageFormat

enum class OpenSRX::ImageFormat
strong

Image format (command 511).

Enumerator
BMP 
JPG 

◆ ImageSavingDestination

Image saving destination (commands 500–504).

Enumerator
DISABLE 
SAVE_TO_RAM 
SAVE_TO_ROM 
SEND_BY_FTP 
SAVE_USB 
SAVE_ROM_AND_FTP 
SAVE_USB_AND_FTP 

◆ ImageSavingMode

enum class OpenSRX::ImageSavingMode
strong

Image saving mode (command 505).

Enumerator
LATEST_BANK_IMAGE 
AFTER_TRIGGER_ON 
AFTER_TRIGGER_OFF 
AFTER_TRIGGER_ON_INTERMITTENT 
AFTER_TRIGGER_OFF_INTERMITTENT 

◆ InputPolarity

enum class OpenSRX::InputPolarity
strong

Input polarity (commands 040, 041, 050, 051, 052).

Enumerator
NORMAL_OPEN 
NORMAL_CLOSE 

◆ InputPulseWidth

enum class OpenSRX::InputPulseWidth
strong

Input pulse width (commands 043, 044).

Enumerator
MS_1 
MS_2 
MS_10 

◆ InTerminalFunction

enum class OpenSRX::InTerminalFunction
strong

IN terminal function (commands 000, 001).

Enumerator
DISABLE 
TRIGGER_INPUT 
PRESET_INPUT 
START_TEST_MODE 
CAPTURE 
CLEAR_PLC_LINK_ERROR 
TRIGGER_LOCK 
READ_QUICK_SETUP_CODE 
TUNING_OPERATION 
TIMING_INPUT_START 
TIMING_INPUT_STOP 
COMMAND_REPLACEMENT 
DATA_OUTPUT 

◆ InternalLightingType

enum class OpenSRX::InternalLightingType
strong

Internal lighting type (command 010).

Enumerator
DIRECT 
POLARIZED 
DIFFUSED 

◆ InverseMode

enum class OpenSRX::InverseMode
strong

Inverse reading mode.

Enumerator
DISABLE 
ENABLE 
AUTOMATIC 

◆ LengthLimitationMethod

Length limitation method used by many code types.

Enumerator
SPECIFY_RANGE 
SPECIFY_VALUE 

◆ LiveViewDisplayImage

enum class OpenSRX::LiveViewDisplayImage
strong

LiveView display image (command 900).

Enumerator
BEFORE_IMAGE_FILTER 
AFTER_IMAGE_FILTER 

◆ MasterSlaveOperation

enum class OpenSRX::MasterSlaveOperation
strong

Master/Slave operation configuration (command 500).

Enumerator
DISABLE 
MULTI_DROP_LINK 
ADVANCED_MULTI_HEAD 

◆ MultiCodeOutputFormat

enum class OpenSRX::MultiCodeOutputFormat
strong

Multiple-code output format (command 290).

Enumerator
STANDARD 
PER_BANK 
PER_AREA 

◆ MultipleReadingSameCode

Multiple reading of same code type/data (command 243).

Enumerator
DISABLE 
ALLOW_SAME_WITHIN_CAPTURE 
ALLOW_SAME_SEPARATED_BY_INTERVAL 

◆ NW7CheckDigitType

enum class OpenSRX::NW7CheckDigitType
strong

NW-7 (CodaBar) check-digit type.

Enumerator
MODULUS_16 
MODULUS_11 
MODULUS_10_WEIGHT_2 
MODULUS_10_WEIGHT_3 
CHECK_DR 
MODULUS_11_ALT 
LUHN 

◆ NW7StartStopLetterType

NW-7 (CodaBar) start/stop letter type.

Enumerator
LOWERCASE 
UPPERCASE 

◆ OperationParam

enum class OpenSRX::OperationParam
strong

Command numbers for operation configuration (WP/RP commands).

Used with the WP (write parameter) and RP (read parameter) commands in the format: WP,m,n (write) RP,m (read) where m = command number, n = setting value.

Enumerator
IN1_TERMINAL_FUNCTION 
IN2_TERMINAL_FUNCTION 
IN1_TEST_MODE_ASSIGNMENT 
IN2_TEST_MODE_ASSIGNMENT 
IN1_CAPTURE_BANK 
IN2_CAPTURE_BANK 
IN1_INPUT_AT_POWER_ON 
IN2_INPUT_AT_POWER_ON 
IN1_INPUT_POLARITY 
IN2_INPUT_POLARITY 
IN1_INPUT_PULSE_WIDTH 
IN2_INPUT_PULSE_WIDTH 
OUT1_TERMINAL_FUNCTION 
OUT2_TERMINAL_FUNCTION 
OUT3_TERMINAL_FUNCTION 
BUSY_OUTPUT_ON_STARTUP 
OUTPUT_DURATION 
HEARTBEAT_SEND_INTERVAL 
OUT1_OUTPUT_POLARITY 
OUT2_OUTPUT_POLARITY 
OUT3_OUTPUT_POLARITY 
STARTUP_TEST_MODE 
TIMING_MODE 
ONE_SHOT_TRIGGER_DURATION 
TRIGGER_ON_COMMAND_STRING 
TRIGGER_OFF_COMMAND_STRING 
TRIGGER_ON_OFF_ONE_CHAR 
TRIGGER_ON_DELAY 
TRIGGER_OFF_DELAY 
READING_MODE 
DATA_TRANSMISSION 
DUPLICATE_READING_PREVENTION_INTERVAL 
ALTERNATE_ORDER 
READ_ERROR_STRING 
MATCHING_LEVEL_JUDGMENT 
MATCHING_LEVEL_THRESHOLD 
CAPTURE_INTERVAL 
AUTO_POINTER_LIGHTING 
CAPTURE_COUNT 
SHORTEN_BANK_TRANSITION 
IMAGE_CAPTURE_RANGE 
DUPLICATE_READING_PREVENTION_MODE 
CODE_READING_PER_AREA 
MULTIPLE_READING_SAME_CODE 
MULTIPLE_READING_SAME_CODE_INTERVAL 
DUPLICATE_READING_PREVENTION_BUFFER 
CODES_TO_READ 
ALLOW_REDUCED_DETECTION_COUNT 
DUPLICATE_READING_PREVENTION_BUFFER_RELEASE_TIME 
TRIGGER_OVERRUN_STRING 
TRIGGER_OVERRUN_OUTPUT 
MAX_READ_CODES_QR 
MAX_READ_CODES_DATAMATRIX 
MAX_READ_CODES_PDF417 
MAX_READ_CODES_GS1_DATABAR 
MAX_READ_CODES_CODE39 
MAX_READ_CODES_ITF 
MAX_READ_CODES_2OF5 
MAX_READ_CODES_NW7 
MAX_READ_CODES_JAN_EAN_UPC 
MAX_READ_CODES_CODE128 
MAX_READ_CODES_COOP_2OF5 
MAX_READ_CODES_CODE93 
MAX_READ_CODES_CC_AB_GS1_DATABAR 
MAX_READ_CODES_CC_AB_EAN_UPC 
MAX_READ_CODES_CC_ABC_GS1_128 
MAX_READ_CODES_PHARMACODE 
MAX_READ_CODES_POSTAL 
MAX_READ_CODES_DOTCODE 
MAX_READ_CODES_MAXICODE 
MAX_READ_CODES_AZTEC 
CODE_TYPE_ORDER_PRIORITY 
SCANNING_ORDER_PRIORITY 
CODE_CENTER_X_PRIORITY 
CODE_CENTER_Y_PRIORITY 
REGION_PRIORITY 
CODE_DIGITS_PRIORITY 
CODE_TYPE_ORDER_SETTING 
SCANNING_ORDER_SETTING 
CODE_CENTER_X_ORDER_SETTING 
CODE_CENTER_Y_ORDER_SETTING 
REGION_SEQUENCE_SETTING 
CODE_DIGITS_SEQUENCE_SETTING 
CODE_TYPE_SEQUENCE_SETTING 
MULTI_CODE_OUTPUT_FORMAT 
TIME_APPENDING 
CODE_TYPE_APPENDING 
SYMBOL_ID_APPENDING 
BANK_NUMBER_APPENDING 
DECODING_TIME_APPENDING 
SCAN_COUNT_APPENDING 
READ_TIME_APPENDING 
CODE_VERTEX_APPENDING 
CODE_CENTER_APPENDING 
UNUSED_ECC_RATIO_APPENDING 
FILE_NAME_APPENDING 
REGION_NUMBER_APPENDING 
MASTER_SLAVE_GROUP_NAME_APPENDING 
MASTER_SLAVE_ID_APPENDING 
DATA_EDIT_FUNCTION 
SCRIPT_DATA_OUTPUT_DESTINATIONS 
NUMBER_OF_SUCCESSFUL_DECODES_APPENDING 
ANGLE_APPENDING 
VERIFICATION_START_DIGITS 
VERIFICATION_DIGITS 
PRESET_DATA_REGISTRATION 
VERIFICATION_METHOD 
SEQUENTIAL_VALUE_INCREMENT 
SAVE_DEST_READ_OK 
SAVE_DEST_VERIFICATION_NG 
SAVE_DEST_READ_ERROR 
SAVE_DEST_UNSTABLE 
SAVE_DEST_CAPTURE 
IMAGE_SAVING_MODE 
NUMBER_OF_IMAGES_TO_SAVE 
EDIT_IMAGE_FILE_NAME 
IMAGE_FORMAT 
JPEG_QUALITY 
BINNING 
INTERMITTENT_OPERATION_INTERVAL 
IMAGE_SAVE_PRIORITY 
IMAGE_SAVING_CONTINUATION 
OUTPUT_DATA_WITH_ENTER_BUTTON 
DELIMITER_CHARACTER 
INTER_DELIMITER 
DATA_FILLING_SIZE 
DATA_FILLING_CHARACTER 
COMPOSITE_DELIMITER 
SILENT_MODE 
READER_NAME 
TRIGGER_COMMAND_RESPONSE 
ENTER_BUTTON_LOCK 
TRIGGER_COMMAND_SUCCESS_RESPONSE 
TRIGGER_COMMAND_FAILURE_RESPONSE 
ROTATE_DISPLAY_IMAGE 
PRESENTATION_MODE 
READER_DESCRIPTION_1 
READER_DESCRIPTION_2 
READER_DESCRIPTION_3 
READER_DESCRIPTION_4 
WRITE_BLOAD_TO_ROM 
STATUS_LED_LIGHTING 
LIVEVIEW_DISPLAY_IMAGE 
LIVEVIEW_DISPLAY_ROTATION 
TUNING_EXPOSURE_TIME 
TUNING_IMAGE_FILTER 
TUNING_ALLOW_REDUCED_DETECTION 
TUNING_INTERNAL_LIGHTING_TYPE 
TUNING_AUTO_INTERNAL_LIGHTING 
TUNING_CODE_SEARCH 
TUNING_BANK_NUMBER 
TUNING_TARGET_CODE 
TUNING_INTERNAL_LIGHTING 
TUNING_EXTERNAL_LIGHTING 
TUNING_BLACK_WHITE_INVERSION 
TUNING_CONTRAST_ADJUSTMENT 
TUNING_AUTO_CONTRAST_ADJUSTMENT 
VERIFICATION_STANDARD_SELECTION 
ISO_15415_THRESHOLD 
ISO_29158_THRESHOLD 
SAE_AS9132_THRESHOLD 
ISO_15416_EXECUTION 
ISO_15416_THRESHOLD 
ISO_16022_EXECUTION 
ISO_16022_THRESHOLD 
ISO_15415_RESULT_APPENDING 
ISO_29158_RESULT_APPENDING 
SAE_AS9132_RESULT_APPENDING 
SEMI_T10_RESULT_APPENDING 
JP_PHARMA_RESULT_APPENDING 
ISO_16022_RESULT_APPENDING 
GRADE_EXPRESSION_SETTING 
DETAILED_ITEM_ADDITION 
EVALUATION_VALUE_ADDITION 
CALIBRATION_LIGHTING 
CALIBRATION_BRIGHTNESS_POLARIZED 
CALIBRATION_BRIGHTNESS_DIRECT 
CALIBRATION_BRIGHTNESS_DIFFUSED 

◆ OutputDirection

enum class OpenSRX::OutputDirection
strong

Output direction (command 307).

Enumerator
FORWARD 
BACKWARD 

◆ ParamType

enum class OpenSRX::ParamType
strong

Combined wire format and value-enum type for a parameter.

When reading a parameter with RB/RC/RP/RN, the response payload is always a string. This enum describes both how that string should be interpreted (HEX, ASCII, INT, INT_VECTOR) and, for integer parameters that map to a known enumeration, which ParamValues.hpp enum applies.

Parameters that are plain integers with no corresponding enum use INT.

Enumerator
HEX 

Hex-encoded value (bit-field, byte sequence, or Unicode string).

ASCII 

Plain ASCII string (names, descriptions, IP addresses, coordinates).

INT_VECTOR 

Colon-separated list of integer values (e.g. "a:b:c:d:e").

INT 
TOGGLE 
INTERNAL_LIGHTING_TYPE 
CONTRAST_ADJUSTMENT 
FILTER_TYPE 
OUTPUT_DIRECTION 
LENGTH_LIMITATION_METHOD 
GRID_CORRECTION 
PDF417_READ_CODE_TYPE 
NW7_START_STOP_LETTER_TYPE 
NW7_CHECK_DIGIT_TYPE 
UPC_A_OUTPUT 
INVERSE_MODE 
REVERSE_MODE 
PHARMACODE_READ_DIRECTION 
IN_TERMINAL_FUNCTION 
TEST_MODE_ASSIGNMENT 
INPUT_POLARITY 
INPUT_PULSE_WIDTH 
STARTUP_TEST_MODE 
TIMING_MODE 
READING_MODE 
DATA_TRANSMISSION 
DUPLICATE_READING_PREVENTION 
ALTERNATE_ORDER 
AUTO_POINTER_LIGHTING 
MULTIPLE_READING_SAME_CODE 
MULTI_CODE_OUTPUT_FORMAT 
IMAGE_SAVING_DESTINATION 
IMAGE_SAVING_MODE 
IMAGE_FORMAT 
BINNING 
TRIGGER_COMMAND_RESPONSE 
PRESENTATION_MODE 
LIVE_VIEW_DISPLAY_IMAGE 
VERIFICATION_THRESHOLD 
CALIBRATION_LIGHTING 
VERIFICATION_METHOD 
GRADE_EXPRESSION 
SORT_ORDER 
BAUD_RATE_LOW 
BAUD_RATE_HIGH 
DATA_LENGTH 
PARITY_CHECK 
STOP_BIT_LENGTH 
COMM_PROTOCOL 
ETHERNET_COMMAND_MODE 
ETHERNET_DATA_CLIENT_MODE 
TCP_CLIENT_CONNECTION_TIMING 
PLC_PROTOCOL 
FTP_CONNECTION_TIMING 
SUBFOLDER_NAME_METHOD 
MASTER_SLAVE_OPERATION 

◆ Parity

enum class OpenSRX::Parity
strong

Serial port parity setting.

Enumerator
NONE 

No parity.

EVEN 

Even parity.

ODD 

Odd parity.

◆ ParityCheck

enum class OpenSRX::ParityCheck
strong

RS-232C parity check (command 102).

Enumerator
DISABLE 
EVEN 
ODD 

◆ PDF417ReadCodeType

enum class OpenSRX::PDF417ReadCodeType
strong

PDF417 read code type.

Enumerator
PDF417_ONLY 
MICRO_PDF_ONLY 
PDF417_AND_MICRO_PDF 

◆ PharmacodeReadDirection

Pharmacode read direction.

Enumerator
LEFT_TO_RIGHT 
RIGHT_TO_LEFT 
DOWNWARD 
UPWARD 

◆ PLCProtocol

enum class OpenSRX::PLCProtocol
strong

PLC protocol setting (command 303).

Enumerator
NOT_USED 
MC_PROTOCOL_RS232C 
SYSWAY 
KV_STUDIO_RS232C 
MC_PROTOCOL_ETHERNET 
OMRON_PLC_LINK 
KV_STUDIO 
ETHERNET_IP 
PROFINET 

◆ PresentationMode

enum class OpenSRX::PresentationMode
strong

Presentation mode (command 616).

Enumerator
DISABLE 
POLARIZED_LIGHT 
DIRECT_LIGHT 
DIFFUSED_LIGHT 

◆ ReadingMode

enum class OpenSRX::ReadingMode
strong

Reading mode (command 200).

Enumerator
STANDARD 
CONTINUOUS 
BURST_READ 
SCRIPT 

◆ ReverseMode

enum class OpenSRX::ReverseMode
strong

Reverse reading mode.

Enumerator
DISABLE 
ENABLE 
AUTOMATIC 

◆ SortOrder

enum class OpenSRX::SortOrder
strong

Sorting order (commands 280–285).

Enumerator
ASCENDING 
DESCENDING 

◆ StartupTestMode

enum class OpenSRX::StartupTestMode
strong

Test mode on startup (command 100).

Enumerator
NONE 
READING_RATE_TEST 
READ_TIME_TEST 

◆ StopBitLength

enum class OpenSRX::StopBitLength
strong

RS-232C stop bit length (command 103).

Enumerator
ONE_BIT 
TWO_BIT 

◆ StopBits

enum class OpenSRX::StopBits
strong

Serial port stop bits setting.

Enumerator
ONE 

1 stop bit.

TWO 

2 stop bits.

◆ SubfolderNameMethod

enum class OpenSRX::SubfolderNameMethod
strong

Subfolder name setting method (command 411).

Enumerator
MANUAL 
AUTO 

◆ TCPClientConnectionTiming

TCP client connection timing (command 213).

Enumerator
AFTER_READING 
IMMEDIATELY_AFTER_POWER_UP 

◆ TestModeAssignment

enum class OpenSRX::TestModeAssignment
strong

Test mode assignment (commands 002, 003).

Enumerator
READING_RATE_TEST 
TACT_TEST 

◆ TimingMode

enum class OpenSRX::TimingMode
strong

Timing mode (command 101).

Enumerator
LEVEL_TRIGGER 
ONE_SHOT_TRIGGER 

◆ Toggle

enum class OpenSRX::Toggle
strong

Generic enable/disable toggle used by many parameters.

Enumerator
DISABLE 
ENABLE 

◆ TriggerCommandResponse

Trigger command response string mode (command 610).

Enumerator
NOT_SPECIFIED 
DETAILED_RESPONSE 
USER_SETTING 
ECHO_BACK 
COMMAND_REPLACEMENT 

◆ TuningAdvice

enum class OpenSRX::TuningAdvice
strong

Advice returned by tuning on how to improve results.

Enumerator
NONE 

No advice.

USE_AN_IMAGE_FILTER 

Try using an image filter.

CONSIDER_INSTALLATION_LIGHTING_PRINTING_CONDITIONS 

Check installation/lighting/printing.

BRIGHTNESS_INSUFFICIENT 

Brightness is insufficient.

◆ TuningFailureReason

enum class OpenSRX::TuningFailureReason
strong

Reason for a tuning failure.

Enumerator
CODE_DETECTION_IMPOSSIBLE 

Code detection is impossible.

UNSTABLE_READING 

Reading is unstable.

◆ TuningParam

enum class OpenSRX::TuningParam
strong

Command numbers for tuning code settings (WC/RC commands).

Used with the WC (write config) and RC (read config) commands in the format: WC,m,n (write) RC,m (read) where m = command number, n = setting value.

Value enums shared with bank parameters (Toggle, InverseMode, ReverseMode, NW7CheckDigitType, NW7StartStopLetterType, UpcAOutput, PharmacodeReadDirection, PDF417ReadCodeType, etc.) are defined in ParamValues.hpp.

Enumerator
QR_MAX_READ_LENGTH 
QR_MIN_READ_LENGTH 
DATAMATRIX_MAX_READ_LENGTH 
DATAMATRIX_MIN_READ_LENGTH 
DATAMATRIX_DMRE_READ 
PDF417_MAX_READ_LENGTH 
PDF417_MIN_READ_LENGTH 
PDF417_TARGET_CODE 
MAXICODE_MAX_READ_LENGTH 
MAXICODE_MIN_READ_LENGTH 
GS1_DATABAR_MAX_READ_LENGTH 
GS1_DATABAR_MIN_READ_LENGTH 
GS1_DATABAR_RIGHT_QUIET_ZONE_RATIO 
GS1_DATABAR_OMNIDIRECTIONAL 
GS1_DATABAR_STACKED 
GS1_DATABAR_LIMITED 
GS1_DATABAR_EXPANDED 
GS1_DATABAR_EXPANDED_STACKED 
GS1_DATABAR_EXPANDED_STACKED_ROWS_MIN 
GS1_DATABAR_EXPANDED_STACKED_ROWS_MAX 
CODE39_MAX_READ_LENGTH 
CODE39_MIN_READ_LENGTH 
CODE39_QUIET_ZONE_RATIO 
CODE39_SEND_START_STOP 
CODE39_INSPECT_CHECK_DIGIT 
CODE39_SEND_CHECK_DIGIT 
CODE39_TRIOPTIC_READING 
CODE39_FULL_ASCII 
ITF_MAX_READ_LENGTH 
ITF_MIN_READ_LENGTH 
ITF_QUIET_ZONE_RATIO 
ITF_INSPECT_CHECK_DIGIT 
ITF_SEND_CHECK_DIGIT 
TWO_OF_5_MAX_READ_LENGTH 
TWO_OF_5_MIN_READ_LENGTH 
TWO_OF_5_QUIET_ZONE_RATIO 
NW7_MAX_READ_LENGTH 
NW7_MIN_READ_LENGTH 
NW7_QUIET_ZONE_RATIO 
NW7_SEND_START_STOP 
NW7_START_STOP_LETTER_TYPE 
NW7_INSPECT_CHECK_DIGIT 
NW7_SEND_CHECK_DIGIT 
NW7_CHECK_DIGIT_TYPE 
JAN_EAN_UPC_QUIET_ZONE_RATIO 
UPC_E_READING 
EAN_JAN_8_READING 
EAN_JAN_13_READING 
UPC_A_OUTPUT 
UPC_E_NUMBER_SYSTEM 
SUPPLEMENTAL_2_DIGIT 
SUPPLEMENTAL_5_DIGIT 
IGNORE_UPC_WITHOUT_SUPPLEMENTAL 
GTIN_14_DIGIT_OUTPUT 
CODE128_MAX_READ_LENGTH 
CODE128_MIN_READ_LENGTH 
CODE128_QUIET_ZONE_RATIO 
CODE128_GS1_128 
COOP_2OF5_MAX_READ_LENGTH 
COOP_2OF5_MIN_READ_LENGTH 
COOP_2OF5_QUIET_ZONE_RATIO 
CODE93_MAX_READ_LENGTH 
CODE93_MIN_READ_LENGTH 
CODE93_QUIET_ZONE_RATIO 
PHARMACODE_MAX_BARS 
PHARMACODE_MIN_BARS 
PHARMACODE_QUIET_ZONE_RATIO 
PHARMACODE_READ_DIRECTION 
PHARMACODE_BINARY_OUTPUT 
AZTEC_MAX_READ_LENGTH 
AZTEC_MIN_READ_LENGTH 
POSTAL_INTELLIGENT_MAIL 
POSTAL_JAPAN_READING 
POSTAL_MAX_READ_LENGTH 
POSTAL_MIN_READ_LENGTH 
DOTCODE_MAX_READ_LENGTH 
DOTCODE_MIN_READ_LENGTH 

◆ UpcAOutput

enum class OpenSRX::UpcAOutput
strong

UPC-A output format.

Enumerator
OUTPUT_13_DIGITS 
OUTPUT_12_DIGITS 

◆ VerificationMethod

enum class OpenSRX::VerificationMethod
strong

Verification method (command 403).

Enumerator
NORMAL 
SEQUENTIAL_VALUE 

◆ VerificationThreshold

enum class OpenSRX::VerificationThreshold
strong

Verification threshold grade (commands 231, 232, 235, 237).

Enumerator
DISABLE 
GRADE_D 
GRADE_C 
GRADE_B 
GRADE_A 

Function Documentation

◆ decodeBMP()

Image OpenSRX::decodeBMP ( const std::string & path)

Decode a BMP file into an Image.

Supports uncompressed 8-bit (grayscale palette), 24-bit, and 32-bit BMPs.

Parameters
pathFilesystem path to the .bmp file.
Returns
The decoded Image.
Exceptions
std::runtime_erroron I/O or format errors.

◆ formatParam()

template<ParamType PT>
std::string OpenSRX::formatParam ( const ParamCppT< PT > & value)

Format a C++ value into the string to send as a parameter value.

◆ GetVersion()

template<typename T>
T OpenSRX::GetVersion ( )
delete

Get the library version (primary template is deleted).

◆ GetVersion< std::string >()

template<>
std::string OpenSRX::GetVersion< std::string > ( )

Get the library version as a human-readable string.

Returns
Version string, e.g. "1.2.3".

◆ GetVersion< VersionTuple >()

Get the library version as a (major, minor, patch) tuple.

Returns
VersionTuple with the three components.

◆ paramType() [1/4]

ParamType OpenSRX::paramType ( BankParam p)
constexpr

◆ paramType() [2/4]

ParamType OpenSRX::paramType ( CommParam p)
constexpr

◆ paramType() [3/4]

ParamType OpenSRX::paramType ( OperationParam p)
constexpr

◆ paramType() [4/4]

ParamType OpenSRX::paramType ( TuningParam p)
constexpr

◆ parseParam()

template<ParamType PT>
ParamCppT< PT > OpenSRX::parseParam ( const std::string & raw)

Parse a raw response string into the C++ type for a given ParamType.

◆ parseVersionInfo()

std::tuple< std::string, std::string > OpenSRX::parseVersionInfo ( const std::string & raw)

Parse a raw version info string ("MODEL,FIRMWARE") into components.

Parameters
rawThe raw string returned by the KEYENCE command.
Returns
A tuple of (model, firmwareVersion).
Exceptions
std::runtime_errorif the format is unexpected.

Variable Documentation

◆ REGION_MAX

int OpenSRX::REGION_MAX = 128
constexpr

◆ REGION_MIN

int OpenSRX::REGION_MIN = 1
constexpr

Command numbers for region configuration (WD/RD commands).

Used with the WD (write region) and RD (read region) commands in the format: WD,m,n (write) RD,m (read) where m = region number (001–128), n = region coordinates as "abcd" (a,b = top-left x,y; c,d = bottom-right x,y; each 4-digit zero-padded).

Minimum region size: 96×96 dots.

Coordinate ranges depend on model: SR-X300/X300W/X300P/X300WP: a,c = 0000–1919; b,d = 0000–1199 SR-X100/X100W/X100P/X100WP: a,c = 0000–1359; b,d = 0000–1023

The region number itself (1–128) is used as the command number, so this enum is intentionally empty — use integer region IDs directly.