9 #define RS400_ADVANCED_MODE_HPP 11 #include "../../include/librealsense2/h/rs_advanced_mode_command.h" 14 #undef RS400_ADVANCED_MODE_HPP 38 class ds5_color_sensor;
43 #define MAP_ADVANCED_MODE(T, E) template<> struct advanced_mode_traits<T> { static const EtAdvancedModeRegGroup group = E; } 67 virtual void apply_preset(
const std::vector<platform::stream_profile>& configuration,
112 void create_snapshot(std::shared_ptr<ds5_advanced_mode_interface>& snapshot)
const override {};
119 void apply_preset(
const std::vector<platform::stream_profile>& configuration,
152 void load_json(
const std::string& json_content)
override;
214 preset get_all()
const;
215 void set_all(
const preset&
p);
217 std::vector<uint8_t> send_receive(
const std::vector<uint8_t>&
input)
const;
223 std::vector<uint8_t>
data(ptr, ptr +
sizeof(
T));
227 std::this_thread::sleep_for(std::chrono::milliseconds(20));
236 static_cast<uint32_t>(cmd),
mode)));
237 if (
data.size() <
sizeof(
T))
239 throw std::runtime_error(
"The camera returned invalid sized result!");
241 res = *
reinterpret_cast<T*
>(
data.data());
247 static std::vector<uint8_t> assert_no_error(
ds::fw_cmd opcode,
const std::vector<uint8_t>& results);
254 std::vector<uint8_t>
data = std::vector<uint8_t>())
const;
267 void set(
float value)
override;
268 float query()
const override;
270 const char* get_description()
const override;
271 const char* get_value_description(
float val)
const override;
virtual void get_hdad(STHdad *ptr, int mode=0) const =0
virtual void set_color_control(const STColorControl &val)=0
virtual void set_rau_support_vector_control(const STRauSupportVectorControl &val)=0
synthetic_sensor & _depth_sensor
virtual void set_color_correction(const STColorCorrection &val)=0
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls...
virtual void set_depth_control_group(const STDepthControlGroup &val)=0
virtual void get_rau_support_vector_control(STRauSupportVectorControl *ptr, int mode=0) const =0
ds5_advanced_mode_base & _advanced
virtual void set_hdad(const STHdad &val)=0
std::shared_ptr< hw_monitor > _hw_monitor
lazy< ds5_color_sensor * > _color_sensor
virtual void set_depth_table_control(const STDepthTableControl &val)=0
virtual void get_ae_control(STAEControl *ptr, int mode=0) const =0
std::vector< uint8_t > encode_command(command opcode, uint32_t p1=0, uint32_t p2=0, uint32_t p3=0, uint32_t p4=0, std::vector< uint8_t > data=std::vector< uint8_t >())
lazy< bool > _rgb_exposure_gain_bind
MAP_ADVANCED_MODE(STDepthControlGroup, etDepthControl)
virtual void set_slo_color_thresholds_control(const STSloColorThresholdsControl &val)=0
std::shared_ptr< advanced_mode_preset_option > _preset_opt
virtual void load_json(const std::string &json_content)=0
virtual void apply_preset(const std::vector< platform::stream_profile > &configuration, rs2_rs400_visual_preset preset, uint16_t device_pid, const firmware_version &fw_version)=0
virtual void get_color_correction(STColorCorrection *ptr, int mode=0) const =0
virtual void set_census_radius(const STCensusRadius &val)=0
virtual void get_rsm(STRsm *ptr, int mode=0) const =0
MAP_EXTENSION(RS2_EXTENSION_AUTO_CALIBRATED_DEVICE, auto_calibrated_interface)
virtual void get_color_control(STColorControl *ptr, int mode=0) const =0
virtual std::vector< uint8_t > serialize_json() const =0
void enable_recording(std::function< void(const ds5_advanced_mode_interface &)> recording_function) override
virtual void get_depth_control_group(STDepthControlGroup *ptr, int mode=0) const =0
virtual void get_census_radius(STCensusRadius *ptr, int mode=0) const =0
virtual void get_slo_penalty_control(STSloPenaltyControl *ptr, int mode=0) const =0
virtual void get_depth_table_control(STDepthTableControl *ptr, int mode=0) const =0
virtual void set_ae_control(const STAEControl &val)=0
const uint16_t HW_MONITOR_COMMAND_SIZE
virtual bool is_enabled() const =0
virtual void set_rsm(const STRsm &val)=0
rs2_rs400_visual_preset
For RS400 devices: provides optimized settings (presets) for specific types of usage.
virtual void toggle_advanced_mode(bool enable)=0
virtual void get_slo_color_thresholds_control(STSloColorThresholdsControl *ptr, int mode=0) const =0
lazy< bool > _amplitude_factor_support
virtual void set_slo_penalty_control(const STSloPenaltyControl &val)=0
virtual void set_amp_factor(const STAFactor &val)=0
const uint16_t HW_MONITOR_BUFFER_SIZE
virtual void set_rau_color_thresholds_control(const STRauColorThresholdsControl &val)=0
virtual void get_amp_factor(STAFactor *ptr, int mode=0) const =0
uint32_t pack(uint8_t c0, uint8_t c1, uint8_t c2, uint8_t c3)
virtual void get_rau_color_thresholds_control(STRauColorThresholdsControl *ptr, int mode=0) const =0
void create_snapshot(std::shared_ptr< ds5_advanced_mode_interface > &snapshot) const override
virtual ~ds5_advanced_mode_interface()=default
rs2_rs400_visual_preset _last_preset