Browse Source

update

master
zhaohe 1 year ago
parent
commit
d14a75af5c
  1. 2
      a8000_protocol
  2. 19
      usrc/subboards/subboard90_optical_module/optical_module.cpp
  3. 8
      usrc/subboards/subboard90_optical_module/optical_module.hpp
  4. 3
      usrc/subboards/subboard90_optical_module/subboard90_optical_module.cpp

2
a8000_protocol

@ -1 +1 @@
Subproject commit 1d75c687904a843514be39cbb4b379ffc0aa2414
Subproject commit db4404e94683ade89cffb540a570fa749b518bfb

19
usrc/subboards/subboard90_optical_module/optical_module.cpp

@ -208,7 +208,18 @@ int32_t OpticalModule::adjust_detector_gain() {
}
int32_t OpticalModule::module_xxx_reg(int32_t param_id, bool read, int32_t& val) {
if (param_id == kreg_opt_module_do_action0 && !read) {
return do_action(val);
}
switch (param_id) {
PROCESS_REG(kreg_opt_module_do_action0, ACTION_NONE, REG_SET(module_do_action0));
PROCESS_REG(kreg_opt_module_action_param1, ACTION_NONE, REG_SET(module_action_param1));
PROCESS_REG(kreg_opt_module_action_param2, ACTION_NONE, REG_SET(module_action_param2));
PROCESS_REG(kreg_opt_module_action_param3, ACTION_NONE, REG_SET(module_action_param3));
PROCESS_REG(kreg_opt_module_action_ack1, REG_GET(module_action_ack1), ACTION_NONE);
PROCESS_REG(kreg_opt_module_action_ack2, REG_GET(module_action_ack2), ACTION_NONE);
PROCESS_REG(kreg_boditech_optical_module_raw_sector_size, raw_get_sector_size(&val), ACTION_NONE);
PROCESS_REG(kreg_boditech_optical_module_raw_sector_num, raw_get_sector_num(&val), ACTION_NONE);
PROCESS_REG(kreg_boditech_optical_scan_type, REG_GET(m_reg.scan_type), REG_SET(m_reg.scan_type));
@ -242,14 +253,14 @@ int32_t OpticalModule::do_action(int32_t action) {
} else if (action == ACTION_CLOSE_LASER) {
return a8000_optical_close_laser(m_reg.scan_type);
} else if (action == ACTION_READ_SCAN_ADC) {
// int32_t ret = a8000_optical_read_scanner_adc_val(m_reg.scan_type, &m_com_reg.module_action_ack1);
// return ret;
int32_t ret = a8000_optical_read_scanner_adc_val(m_reg.scan_type, &module_action_ack1);
return ret;
return err::kparam_out_of_range;
} else if (action == ACTION_READ_LASTER_ADC) {
// return a8000_optical_read_laster_adc_val(m_reg.scan_type, &m_com_reg.module_action_ack1);
return a8000_optical_read_laster_adc_val(m_reg.scan_type, &module_action_ack1);
return err::kparam_out_of_range;
} else if (action == ACTION_READ_ONE_POINT) {
// return a8000_optical_scan_current_point_amp_adc_val(m_reg.scan_type, m_com_reg.module_action_param1, m_com_reg.module_action_param2, &m_com_reg.module_action_ack1, &m_com_reg.module_action_ack2);
return a8000_optical_scan_current_point_amp_adc_val(m_reg.scan_type, module_action_param1, module_action_param2, &module_action_ack1, &module_action_ack2);
return err::kparam_out_of_range;
} else if (action == ACTION_SET_LASTER_GAIN) {
return a8000_optical_set_laster_gain(m_reg.scan_type, m_reg.laster_gain);

8
usrc/subboards/subboard90_optical_module/optical_module.hpp

@ -103,6 +103,13 @@ class OpticalModule : public ZIModule, public ZIA8000OpticalModule {
int32_t f_adc_cache[20];
int32_t module_do_action0;
int32_t module_action_param1;
int32_t module_action_param2;
int32_t module_action_param3;
int32_t module_action_ack1;
int32_t module_action_ack2;
public:
virtual ~OpticalModule(){};
@ -130,6 +137,7 @@ class OpticalModule : public ZIModule, public ZIA8000OpticalModule {
virtual int32_t a8000_optical_read_scanner_adc_val(int32_t type, int32_t* adcval) override;
virtual int32_t a8000_optical_read_laster_adc_val(int32_t type, int32_t* adcval) override;
virtual int32_t a8000_optical_module_power_ctrl(int32_t state) override;
private:
int32_t start_t_optical_scan();
int32_t start_f_optical_scan();

3
usrc/subboards/subboard90_optical_module/subboard90_optical_module.cpp

@ -31,7 +31,7 @@ void Subboard90OpticalModule::initialize() {
***********************************************************************************************************************/
{ TMC5130_MOTOR_INITER(1, 1); }
{ TMC5130_MOTOR_INITER(2, 2); }
opt_scan_motor = dynamic_cast<StepMotorCtrlModule*>(GService::inst()->getZCanProtocolParser()->getModule(1));
opt_scan_motor = dynamic_cast<StepMotorCtrlModule*>(GService::inst()->getZCanProtocolParser()->getModule(getmoduleId(1)));
ZASSERT(opt_scan_motor);
{
OpticalModule::hardware_config_t cfg = {
@ -141,6 +141,7 @@ void Subboard90OpticalModule::initialize() {
};
static OpticalModule opticalModule;
opticalModule.initialize(getmoduleId(3), &cfg);
GService::inst()->getZCanProtocolParser()->registerModule(&opticalModule);
}
#endif

Loading…
Cancel
Save