#pragma once #include #include #include "errorcode.hpp" namespace iflytop { using namespace std; class ZIA8000OpticalModule { public: typedef enum { kf_optical = 0, kt_optical = 1, ktest_optical = 2, } optical_type_t; public: virtual ~ZIA8000OpticalModule(){}; /******************************************************************************* * TEST * *******************************************************************************/ /** * @概述: * 1. 下面方法属于单步测试采样的方法,用于调试。一般手动移动光学模组,然后利用下面方法进行测试 * 2. 正式逻辑不使用下面逻辑 */ virtual int32_t a8000_optical_module_power_ctrl(int32_t state) { return err::kmodule_not_support_action; } virtual int32_t a8000_optical_open_laser(int32_t type) { return err::kmodule_not_support_action; } virtual int32_t a8000_optical_close_laser(int32_t type) { return err::kmodule_not_support_action; } virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) { return err::kmodule_not_support_action; } virtual int32_t a8000_optical_set_scan_amp_gain(int32_t type, int32_t gain) { return err::kmodule_not_support_action; } virtual int32_t a8000_optical_read_scanner_adc_val(int32_t type, int32_t* adcval) { return err::kmodule_not_support_action; } virtual int32_t a8000_optical_read_laster_adc_val(int32_t type, int32_t* adcval) { return err::kmodule_not_support_action; } /** * @brief 打开闪光灯读取当前这一点的采样信息 * * @param type * @param adcval * @return int32_t */ virtual int32_t a8000_optical_scan_current_point_amp_adc_val(int32_t type, int32_t lastergain, int32_t ampgain, int32_t* laster_fb_val, int32_t* adcval) { return err::kmodule_not_support_action; } }; } // namespace iflytop