libvisiontransfer  6.5.0
standardparameterids.h
1 /*******************************************************************************
2  * Copyright (c) 2019 Nerian Vision GmbH
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to deal
6  * in the Software without restriction, including without limitation the rights
7  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8  * copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *******************************************************************************/
14 
15 #ifndef VISIONTRANSFER_STANDARDRAMETERIDS_H
16 #define VISIONTRANSFER_STANDARDRAMETERIDS_H
17 
18 #include <map>
19 #include <string>
20 
21 #include <stdint.h>
22 
23 #include <visiontransfer/parameterinfo.h>
24 
25 namespace visiontransfer {
26 namespace internal {
27 
37 public:
38 
39  enum ParameterID {
40  // Reserved
41  UNDEFINED = 0x0000,
42 
43  // Processing settings
44  OPERATION_MODE = 0x0100,
45  NUMBER_OF_DISPARITIES = 0x0101, // Not available yet
46  DISPARITY_OFFSET = 0x0102,
47 
48  // Algorithmic settings
49  SGM_P1 = 0x0200,
50  SGM_P2 = 0x0201,
51  MASK_BORDER_PIXELS_ENABLED = 0x0202,
52  CONSISTENCY_CHECK_ENABLED = 0x0203,
53  CONSISTENCY_CHECK_SENSITIVITY = 0x0204,
54  UNIQUENESS_CHECK_ENABLED = 0x0205,
55  UNIQUENESS_CHECK_SENSITIVITY = 0x0206,
56  TEXTURE_FILTER_ENABLED = 0x0207,
57  TEXTURE_FILTER_SENSITIVITY = 0x0208,
58  GAP_INTERPOLATION_ENABLED = 0x0209,
59  NOISE_REDUCTION_ENABLED = 0x020a,
60  SPECKLE_FILTER_ITERATIONS = 0x020b,
61 
62  // Exposure settings
63  AUTO_EXPOSURE_MODE = 0x0300,
64  AUTO_TARGET_INTENSITY = 0x0301,
65  AUTO_INTENSITY_DELTA = 0x0302,
66  AUTO_TARGET_FRAME = 0x0303,
67  AUTO_SKIPPED_FRAMES = 0x0304,
68  AUTO_MAXIMUM_EXPOSURE_TIME = 0x0305,
69  AUTO_MAXIMUM_GAIN = 0x0306,
70  MANUAL_EXPOSURE_TIME = 0x0307,
71  MANUAL_GAIN = 0x0308,
72  AUTO_EXPOSURE_ROI_ENABLED = 0x0309,
73  AUTO_EXPOSURE_ROI_X = 0x030a,
74  AUTO_EXPOSURE_ROI_Y = 0x030b,
75  AUTO_EXPOSURE_ROI_WIDTH = 0x030c,
76  AUTO_EXPOSURE_ROI_HEIGHT = 0x030d,
77 
78  // Trigger / Pairing
79  MAX_FRAME_TIME_DIFFERENCE_MS = 0x0400,
80  TRIGGER_FREQUENCY = 0x0401,
81  TRIGGER_0_ENABLED = 0x0402,
82  TRIGGER_0_PULSE_WIDTH = 0x0403,
83  TRIGGER_1_ENABLED = 0x0404,
84  TRIGGER_1_PULSE_WIDTH = 0x0405,
85  TRIGGER_1_OFFSET = 0x0406,
86 
87  // Auto Re-calibration
88  AUTO_RECALIBRATION_ENABLED = 0x0500,
89  AUTO_RECALIBRATION_PERMANENT = 0x0501,
90 
91  // System settings
92  REBOOT = 0x0600,
93  };
94 
95  enum ParameterFlags {
96  // bit flags
97  PARAMETER_WRITEABLE = 0x0001,
98  };
99 
100  // String representations for all ParameterIDs. They correspond
101  // to a lowercase version, OPERATION_MODE <-> "operation_mode";
102  // contents initialized C++11 style over in the source file
103  static const std::map<ParameterID, std::string> parameterNameByID;
104 
105  // Obtain the ParameterID for a parameter name, or UNDEFINED if invalid
106  static ParameterID getParameterIDForName(const std::string& name);
107 
108 };
109 
110 }} // namespace
111 
112 #endif
A collection of numeric IDs for all supported parameters by SceneScan.
static ParameterID getParameterIDForName(const std::string &name)
Return the ID for a string configuration key (reverse lookup), or UNDEFINED if unknown.
Nerian Vision Technologies