diff --git a/usrc/public_service/ext_board_impl.cpp b/usrc/public_service/ext_board_impl.cpp new file mode 100644 index 0000000..de8f03b --- /dev/null +++ b/usrc/public_service/ext_board_impl.cpp @@ -0,0 +1,27 @@ +#include "ext_board_impl.hpp" +using namespace iflytop; + +ExtBoardImpl::ExtBoardImpl(/* args */) {} +ExtBoardImpl::~ExtBoardImpl() {} + +int32_t ExtBoardImpl::getmoduleId(int off) { return zdevice_id_mgr_get_device_id() + off; } +/*********************************************************************************************************************** + * PRI * + ***********************************************************************************************************************/ +int32_t ExtBoardImpl::getid(int32_t *id) { + *id = getmoduleId(0); + return 0; +} +int32_t ExtBoardImpl::module_xxx_reg(int32_t param_id, bool read, int32_t &val) { return err::kmodule_not_find_reg; } +int32_t ExtBoardImpl::board_read_ext_io(int32_t ioindex, int32_t *val) { + if (ioindex < 0 || ioindex >= ZARRAY_SIZE(IO)) return err::kparam_out_of_range; + *val = IO[ioindex].getState(); + return 0; +} +int32_t ExtBoardImpl::board_write_ext_io(int32_t ioindex, int32_t val) { return 0; } +int32_t ExtBoardImpl::board_read_muti_io(int32_t *val) { + for (int i = 0; i < ZARRAY_SIZE(IO); i++) { + *val |= IO[i].getState() << i; + } + return 0; +} \ No newline at end of file diff --git a/usrc/public_service/ext_board_impl.hpp b/usrc/public_service/ext_board_impl.hpp new file mode 100644 index 0000000..276db8e --- /dev/null +++ b/usrc/public_service/ext_board_impl.hpp @@ -0,0 +1,41 @@ +#include +#include +#include + +// +#include "a8000_protocol\protocol.hpp" +#include "configs/device_id_mgr.hpp" +#include "instance_init.hpp" +#include "sdk/chip/chip.hpp" +#include "sdk/os/zos.hpp" +// + +namespace iflytop { +class ExtBoardImpl : public ZIBoard, public ZIModule { + ENABLE_MODULE(ExtBoardImpl, kboard, 1); + + protected: + /* data */ + ZGPIO IO[EXT_READ_IO_NUM]; + + public: + ExtBoardImpl(/* args */); + ~ExtBoardImpl(); + + public: + /*********************************************************************************************************************** + * ZIModule * + ***********************************************************************************************************************/ + virtual int32_t getid(int32_t *id); + virtual int32_t module_xxx_reg(int32_t param_id, bool read, int32_t &val); + /*********************************************************************************************************************** + * ZIBoard * + ***********************************************************************************************************************/ + virtual int32_t board_read_ext_io(int32_t ioindex, int32_t *val); + virtual int32_t board_write_ext_io(int32_t ioindex, int32_t val); + virtual int32_t board_read_muti_io(int32_t *val); + + virtual int32_t getmoduleId(int off); +}; + +} // namespace iflytop diff --git a/usrc/public_service/public_service.hpp b/usrc/public_service/public_service.hpp index e5b82d1..5d42474 100644 --- a/usrc/public_service/public_service.hpp +++ b/usrc/public_service/public_service.hpp @@ -3,4 +3,5 @@ #include "common_hardware_init.h" #include "gins.h" #include "gservice.hpp" -#include "instance_init.hpp" \ No newline at end of file +#include "instance_init.hpp" +#include "ext_board_impl.hpp" \ No newline at end of file diff --git a/usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.cpp b/usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.cpp index 2a7e9d1..0543284 100644 --- a/usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.cpp +++ b/usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.cpp @@ -16,34 +16,6 @@ extern "C" { using namespace iflytop; -static ZGPIO IO[EXT_READ_IO_NUM]; -Subboard20PlateClampCase::Subboard20PlateClampCase(/* args */) {} -Subboard20PlateClampCase::~Subboard20PlateClampCase() {} -int32_t Subboard20PlateClampCase::getmoduleId(int off) { return zdevice_id_mgr_get_device_id() + off; } -Subboard20PlateClampCase *Subboard20PlateClampCase::ins() { - static Subboard20PlateClampCase instance; - return &instance; -} -/*********************************************************************************************************************** - * PRI * - ***********************************************************************************************************************/ -int32_t Subboard20PlateClampCase::getid(int32_t *id) { - *id = getmoduleId(0); - return 0; -} -int32_t Subboard20PlateClampCase::module_xxx_reg(int32_t param_id, bool read, int32_t &val) { return err::kmodule_not_find_reg; } -int32_t Subboard20PlateClampCase::board_read_ext_io(int32_t ioindex, int32_t *val) { - if (ioindex < 0 || ioindex >= ZARRAY_SIZE(IO)) return err::kparam_out_of_range; - *val = IO[ioindex].getState(); - return 0; -} -int32_t Subboard20PlateClampCase::board_write_ext_io(int32_t ioindex, int32_t val) { return 0; } -int32_t Subboard20PlateClampCase::board_read_muti_io(int32_t *val) { - for (int i = 0; i < ZARRAY_SIZE(IO); i++) { - *val |= IO[i].getState() << i; - } - return 0; -} /*********************************************************************************************************************** * IMPL * ***********************************************************************************************************************/ @@ -51,7 +23,6 @@ void Subboard20PlateClampCase::initialize() { IO_INIT(); GService::inst()->getZCanProtocolParser()->registerModule(this); #if 1 - /*********************************************************************************************************************** * ID1 * ***********************************************************************************************************************/ diff --git a/usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.hpp b/usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.hpp index edf9dd3..489c51a 100644 --- a/usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.hpp +++ b/usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.hpp @@ -8,37 +8,17 @@ // #include "sdk\components\step_motor_ctrl_module\step_motor_ctrl_module.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp" +#include "public_service/public_service.hpp" namespace iflytop { -class Subboard20PlateClampCase : public ZIBoard, public ZIModule { - ENABLE_MODULE(Subboard20PlateClampCase, kboard, 1); - - private: - /* data */ - +class Subboard20PlateClampCase : public ExtBoardImpl { public: - Subboard20PlateClampCase(/* args */); - ~Subboard20PlateClampCase(); - - static Subboard20PlateClampCase *ins(); + static Subboard20PlateClampCase *ins() { + static Subboard20PlateClampCase instance; + return &instance; + } void initialize(); - - public: - /*********************************************************************************************************************** - * ZIModule * - ***********************************************************************************************************************/ - virtual int32_t getid(int32_t *id); - virtual int32_t module_xxx_reg(int32_t param_id, bool read, int32_t &val); - /*********************************************************************************************************************** - * ZIBoard * - ***********************************************************************************************************************/ - virtual int32_t board_read_ext_io(int32_t ioindex, int32_t *val); - virtual int32_t board_write_ext_io(int32_t ioindex, int32_t val); - virtual int32_t board_read_muti_io(int32_t *val); - - private: - int32_t getmoduleId(int off); }; } // namespace iflytop diff --git a/usrc/subboards/subboard30_shake_module/subboard30_shake_module.cpp b/usrc/subboards/subboard30_shake_module/subboard30_shake_module.cpp index bb74e75..db61288 100644 --- a/usrc/subboards/subboard30_shake_module/subboard30_shake_module.cpp +++ b/usrc/subboards/subboard30_shake_module/subboard30_shake_module.cpp @@ -11,35 +11,6 @@ extern "C" { #define TAG "ShakeModule" using namespace iflytop; - -static ZGPIO IO[EXT_READ_IO_NUM]; -Subboard30ShakeModule::Subboard30ShakeModule(/* args */) {} -Subboard30ShakeModule::~Subboard30ShakeModule() {} -int32_t Subboard30ShakeModule::getmoduleId(int off) { return zdevice_id_mgr_get_device_id() + off; } -Subboard30ShakeModule *Subboard30ShakeModule::ins() { - static Subboard30ShakeModule instance; - return &instance; -} -/*********************************************************************************************************************** - * PRI * - ***********************************************************************************************************************/ -int32_t Subboard30ShakeModule::getid(int32_t *id) { - *id = getmoduleId(0); - return 0; -} -int32_t Subboard30ShakeModule::module_xxx_reg(int32_t param_id, bool read, int32_t &val) { return err::kmodule_not_find_reg; } -int32_t Subboard30ShakeModule::board_read_ext_io(int32_t ioindex, int32_t *val) { - if (ioindex < 0 || ioindex >= ZARRAY_SIZE(IO)) return err::kparam_out_of_range; - *val = IO[ioindex].getState(); - return 0; -} -int32_t Subboard30ShakeModule::board_write_ext_io(int32_t ioindex, int32_t val) { return 0; } -int32_t Subboard30ShakeModule::board_read_muti_io(int32_t *val) { - for (int i = 0; i < ZARRAY_SIZE(IO); i++) { - *val |= IO[i].getState() << i; - } - return 0; -} /*********************************************************************************************************************** * IMPL * ***********************************************************************************************************************/ diff --git a/usrc/subboards/subboard30_shake_module/subboard30_shake_module.hpp b/usrc/subboards/subboard30_shake_module/subboard30_shake_module.hpp index a5c1a88..5ad8c52 100644 --- a/usrc/subboards/subboard30_shake_module/subboard30_shake_module.hpp +++ b/usrc/subboards/subboard30_shake_module/subboard30_shake_module.hpp @@ -6,39 +6,21 @@ #include "sdk/chip/chip.hpp" #include "sdk/os/zos.hpp" // +#include "public_service/public_service.hpp" #include "sdk\components\step_motor_ctrl_module\step_motor_ctrl_module.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp" namespace iflytop { -class Subboard30ShakeModule : public ZIBoard, public ZIModule { +class Subboard30ShakeModule : public ExtBoardImpl { ENABLE_MODULE(Subboard30ShakeModule, kboard, 1); - private: - /* data */ - public: - Subboard30ShakeModule(/* args */); - ~Subboard30ShakeModule(); - - static Subboard30ShakeModule *ins(); + static Subboard30ShakeModule *ins() { + static Subboard30ShakeModule instance; + return &instance; + } void initialize(); - - public: - /*********************************************************************************************************************** - * ZIModule * - ***********************************************************************************************************************/ - virtual int32_t getid(int32_t *id); - virtual int32_t module_xxx_reg(int32_t param_id, bool read, int32_t &val); - /*********************************************************************************************************************** - * ZIBoard * - ***********************************************************************************************************************/ - virtual int32_t board_read_ext_io(int32_t ioindex, int32_t *val); - virtual int32_t board_write_ext_io(int32_t ioindex, int32_t val); - virtual int32_t board_read_muti_io(int32_t *val); - - private: - int32_t getmoduleId(int off); }; } // namespace iflytop diff --git a/usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.cpp b/usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.cpp index 3e739ad..cba7d01 100644 --- a/usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.cpp +++ b/usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.cpp @@ -12,43 +12,10 @@ extern "C" { #define TAG "ShakeModule" using namespace iflytop; - -static ZGPIO IO[EXT_READ_IO_NUM]; -Subboard60InjectAndOutletModule::Subboard60InjectAndOutletModule(/* args */) {} -Subboard60InjectAndOutletModule::~Subboard60InjectAndOutletModule() {} -int32_t Subboard60InjectAndOutletModule::getmoduleId(int off) { return zdevice_id_mgr_get_device_id() + off; } -Subboard60InjectAndOutletModule *Subboard60InjectAndOutletModule::ins() { - static Subboard60InjectAndOutletModule instance; - return &instance; -} -/*********************************************************************************************************************** - * PRI * - ***********************************************************************************************************************/ -int32_t Subboard60InjectAndOutletModule::getid(int32_t *id) { - *id = getmoduleId(0); - return 0; -} -int32_t Subboard60InjectAndOutletModule::module_xxx_reg(int32_t param_id, bool read, int32_t &val) { return err::kmodule_not_find_reg; } -int32_t Subboard60InjectAndOutletModule::board_read_ext_io(int32_t ioindex, int32_t *val) { - if (ioindex < 0 || ioindex >= ZARRAY_SIZE(IO)) return err::kparam_out_of_range; - *val = IO[ioindex].getState(); - return 0; -} -int32_t Subboard60InjectAndOutletModule::board_write_ext_io(int32_t ioindex, int32_t val) { return 0; } -int32_t Subboard60InjectAndOutletModule::board_read_muti_io(int32_t *val) { - for (int i = 0; i < ZARRAY_SIZE(IO); i++) { - *val |= IO[i].getState() << i; - } - return 0; -} -/*********************************************************************************************************************** - * IMPL * - ***********************************************************************************************************************/ void Subboard60InjectAndOutletModule::initialize() { IO_INIT(); GService::inst()->getZCanProtocolParser()->registerModule(this); - #if 1 TMC5130_MOTOR_INITER(/*motorid:*/ 1, /*moduleid:*/ 1); TMC5130_MOTOR_INITER(/*motorid:*/ 2, /*moduleid:*/ 2); diff --git a/usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.hpp b/usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.hpp index 0f54b03..a2979e2 100644 --- a/usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.hpp +++ b/usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.hpp @@ -6,39 +6,19 @@ #include "sdk/chip/chip.hpp" #include "sdk/os/zos.hpp" // +#include "public_service/public_service.hpp" #include "sdk\components\step_motor_ctrl_module\step_motor_ctrl_module.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp" namespace iflytop { -class Subboard60InjectAndOutletModule : public ZIBoard, public ZIModule { - ENABLE_MODULE(Subboard60InjectAndOutletModule, kboard, 1); - - private: - /* data */ - +class Subboard60InjectAndOutletModule : public ExtBoardImpl { public: - Subboard60InjectAndOutletModule(/* args */); - ~Subboard60InjectAndOutletModule(); - - static Subboard60InjectAndOutletModule *ins(); + static Subboard60InjectAndOutletModule *ins() { + static Subboard60InjectAndOutletModule instance; + return &instance; + } void initialize(); - - public: - /*********************************************************************************************************************** - * ZIModule * - ***********************************************************************************************************************/ - virtual int32_t getid(int32_t *id); - virtual int32_t module_xxx_reg(int32_t param_id, bool read, int32_t &val); - /*********************************************************************************************************************** - * ZIBoard * - ***********************************************************************************************************************/ - virtual int32_t board_read_ext_io(int32_t ioindex, int32_t *val); - virtual int32_t board_write_ext_io(int32_t ioindex, int32_t val); - virtual int32_t board_read_muti_io(int32_t *val); - - private: - int32_t getmoduleId(int off); }; } // namespace iflytop diff --git a/usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.cpp b/usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.cpp index 7543759..d3ea487 100644 --- a/usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.cpp +++ b/usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.cpp @@ -13,45 +13,11 @@ extern "C" { #define TAG "ShakeModule" using namespace iflytop; - -static ZGPIO IO[EXT_READ_IO_NUM]; -Subboard70IncubationTurntable::Subboard70IncubationTurntable(/* args */) {} -Subboard70IncubationTurntable::~Subboard70IncubationTurntable() {} -int32_t Subboard70IncubationTurntable::getmoduleId(int off) { return zdevice_id_mgr_get_device_id() + off; } -Subboard70IncubationTurntable *Subboard70IncubationTurntable::ins() { - static Subboard70IncubationTurntable instance; - return &instance; -} -/*********************************************************************************************************************** - * PRI * - ***********************************************************************************************************************/ -int32_t Subboard70IncubationTurntable::getid(int32_t *id) { - *id = getmoduleId(0); - return 0; -} -int32_t Subboard70IncubationTurntable::module_xxx_reg(int32_t param_id, bool read, int32_t &val) { return err::kmodule_not_find_reg; } -int32_t Subboard70IncubationTurntable::board_read_ext_io(int32_t ioindex, int32_t *val) { - if (ioindex < 0 || ioindex >= ZARRAY_SIZE(IO)) return err::kparam_out_of_range; - *val = IO[ioindex].getState(); - return 0; -} -int32_t Subboard70IncubationTurntable::board_write_ext_io(int32_t ioindex, int32_t val) { return 0; } -int32_t Subboard70IncubationTurntable::board_read_muti_io(int32_t *val) { - for (int i = 0; i < ZARRAY_SIZE(IO); i++) { - *val |= IO[i].getState() << i; - } - return 0; -} -/*********************************************************************************************************************** - * IMPL * - ***********************************************************************************************************************/ void Subboard70IncubationTurntable::initialize() { IO_INIT(); GService::inst()->getZCanProtocolParser()->registerModule(this); #if 1 - TMC4361_MOTOR_INITER(/*motorid*/ 1, /*moduleid*/ 1); - #endif } diff --git a/usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.hpp b/usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.hpp index 39abdd0..ef65b4f 100644 --- a/usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.hpp +++ b/usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.hpp @@ -9,36 +9,18 @@ #include "sdk\components\step_motor_ctrl_module\step_motor_ctrl_module.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp" -namespace iflytop { -class Subboard70IncubationTurntable : public ZIBoard, public ZIModule { - ENABLE_MODULE(Subboard70IncubationTurntable, kboard, 1); - - private: - /* data */ +// +#include "public_service/public_service.hpp" +namespace iflytop { +class Subboard70IncubationTurntable : public ExtBoardImpl { public: - Subboard70IncubationTurntable(/* args */); - ~Subboard70IncubationTurntable(); - - static Subboard70IncubationTurntable *ins(); + static Subboard70IncubationTurntable *ins() { + static Subboard70IncubationTurntable instance; + return &instance; + } void initialize(); - - public: - /*********************************************************************************************************************** - * ZIModule * - ***********************************************************************************************************************/ - virtual int32_t getid(int32_t *id); - virtual int32_t module_xxx_reg(int32_t param_id, bool read, int32_t &val); - /*********************************************************************************************************************** - * ZIBoard * - ***********************************************************************************************************************/ - virtual int32_t board_read_ext_io(int32_t ioindex, int32_t *val); - virtual int32_t board_write_ext_io(int32_t ioindex, int32_t val); - virtual int32_t board_read_muti_io(int32_t *val); - - private: - int32_t getmoduleId(int off); }; } // namespace iflytop diff --git a/usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp b/usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp index 4d5aa54..196cc15 100644 --- a/usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp +++ b/usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp @@ -15,35 +15,6 @@ extern "C" { using namespace iflytop; - -static ZGPIO IO[EXT_READ_IO_NUM]; -Subboard80Cliptip::Subboard80Cliptip(/* args */) {} -Subboard80Cliptip::~Subboard80Cliptip() {} -int32_t Subboard80Cliptip::getmoduleId(int off) { return zdevice_id_mgr_get_device_id() + off; } -Subboard80Cliptip *Subboard80Cliptip::ins() { - static Subboard80Cliptip instance; - return &instance; -} -/*********************************************************************************************************************** - * PRI * - ***********************************************************************************************************************/ -int32_t Subboard80Cliptip::getid(int32_t *id) { - *id = getmoduleId(0); - return 0; -} -int32_t Subboard80Cliptip::module_xxx_reg(int32_t param_id, bool read, int32_t &val) { return err::kmodule_not_find_reg; } -int32_t Subboard80Cliptip::board_read_ext_io(int32_t ioindex, int32_t *val) { - if (ioindex < 0 || ioindex >= ZARRAY_SIZE(IO)) return err::kparam_out_of_range; - *val = IO[ioindex].getState(); - return 0; -} -int32_t Subboard80Cliptip::board_write_ext_io(int32_t ioindex, int32_t val) { return 0; } -int32_t Subboard80Cliptip::board_read_muti_io(int32_t *val) { - for (int i = 0; i < ZARRAY_SIZE(IO); i++) { - *val |= IO[i].getState() << i; - } - return 0; -} /*********************************************************************************************************************** * IMPL * ***********************************************************************************************************************/ diff --git a/usrc/subboards/subboard80_cliptip/subboard80_cliptip.hpp b/usrc/subboards/subboard80_cliptip/subboard80_cliptip.hpp index adf4231..494a852 100644 --- a/usrc/subboards/subboard80_cliptip/subboard80_cliptip.hpp +++ b/usrc/subboards/subboard80_cliptip/subboard80_cliptip.hpp @@ -8,37 +8,16 @@ // #include "sdk\components\step_motor_ctrl_module\step_motor_ctrl_module.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp" +#include "public_service/public_service.hpp" namespace iflytop { -class Subboard80Cliptip : public ZIBoard, public ZIModule { - ENABLE_MODULE(Subboard80Cliptip, kboard, 1); - - private: - /* data */ - +class Subboard80Cliptip : public ExtBoardImpl { public: - Subboard80Cliptip(/* args */); - ~Subboard80Cliptip(); - - static Subboard80Cliptip *ins(); - + static Subboard80Cliptip *ins() { + static Subboard80Cliptip instance; + return &instance; + } void initialize(); - - public: - /*********************************************************************************************************************** - * ZIModule * - ***********************************************************************************************************************/ - virtual int32_t getid(int32_t *id); - virtual int32_t module_xxx_reg(int32_t param_id, bool read, int32_t &val); - /*********************************************************************************************************************** - * ZIBoard * - ***********************************************************************************************************************/ - virtual int32_t board_read_ext_io(int32_t ioindex, int32_t *val); - virtual int32_t board_write_ext_io(int32_t ioindex, int32_t val); - virtual int32_t board_read_muti_io(int32_t *val); - - private: - int32_t getmoduleId(int off); }; } // namespace iflytop diff --git a/usrc/subboards/subboard90_optical_module/subboard90_optical_module.cpp b/usrc/subboards/subboard90_optical_module/subboard90_optical_module.cpp index 825def4..0fd7679 100644 --- a/usrc/subboards/subboard90_optical_module/subboard90_optical_module.cpp +++ b/usrc/subboards/subboard90_optical_module/subboard90_optical_module.cpp @@ -16,34 +16,6 @@ extern "C" { using namespace iflytop; -static ZGPIO IO[EXT_READ_IO_NUM]; -Subboard90OpticalModule::Subboard90OpticalModule(/* args */) {} -Subboard90OpticalModule::~Subboard90OpticalModule() {} -int32_t Subboard90OpticalModule::getmoduleId(int off) { return zdevice_id_mgr_get_device_id() + off; } -Subboard90OpticalModule *Subboard90OpticalModule::ins() { - static Subboard90OpticalModule instance; - return &instance; -} -/*********************************************************************************************************************** - * PRI * - ***********************************************************************************************************************/ -int32_t Subboard90OpticalModule::getid(int32_t *id) { - *id = getmoduleId(0); - return 0; -} -int32_t Subboard90OpticalModule::module_xxx_reg(int32_t param_id, bool read, int32_t &val) { return err::kmodule_not_find_reg; } -int32_t Subboard90OpticalModule::board_read_ext_io(int32_t ioindex, int32_t *val) { - if (ioindex < 0 || ioindex >= ZARRAY_SIZE(IO)) return err::kparam_out_of_range; - *val = IO[ioindex].getState(); - return 0; -} -int32_t Subboard90OpticalModule::board_write_ext_io(int32_t ioindex, int32_t val) { return 0; } -int32_t Subboard90OpticalModule::board_read_muti_io(int32_t *val) { - for (int i = 0; i < ZARRAY_SIZE(IO); i++) { - *val |= IO[i].getState() << i; - } - return 0; -} /*********************************************************************************************************************** * IMPL * @@ -51,7 +23,6 @@ int32_t Subboard90OpticalModule::board_read_muti_io(int32_t *val) { void Subboard90OpticalModule::initialize() { IO_INIT(); GService::inst()->getZCanProtocolParser()->registerModule(this); - #if 1 /*********************************************************************************************************************** diff --git a/usrc/subboards/subboard90_optical_module/subboard90_optical_module.hpp b/usrc/subboards/subboard90_optical_module/subboard90_optical_module.hpp index 55a1b3e..1a340cc 100644 --- a/usrc/subboards/subboard90_optical_module/subboard90_optical_module.hpp +++ b/usrc/subboards/subboard90_optical_module/subboard90_optical_module.hpp @@ -6,40 +6,19 @@ #include "sdk/chip/chip.hpp" #include "sdk/os/zos.hpp" // +#include "public_service/public_service.hpp" #include "sdk\components\step_motor_ctrl_module\step_motor_ctrl_module.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp" namespace iflytop { -class Subboard90OpticalModule : public ZIBoard, public ZIModule { - ENABLE_MODULE(Subboard90OpticalModule, kboard, 1); - - private: - /* data */ - +class Subboard90OpticalModule : public ExtBoardImpl { public: - Subboard90OpticalModule(/* args */); - ~Subboard90OpticalModule(); - - static Subboard90OpticalModule *ins(); + static Subboard90OpticalModule *ins() { + static Subboard90OpticalModule instance; + return &instance; + } void initialize(); - - public: - /*********************************************************************************************************************** - * ZIModule * - ***********************************************************************************************************************/ - virtual int32_t getid(int32_t *id); - virtual int32_t module_xxx_reg(int32_t param_id, bool read, int32_t &val); - /*********************************************************************************************************************** - * ZIBoard * - ***********************************************************************************************************************/ - virtual int32_t board_read_ext_io(int32_t ioindex, int32_t *val); - virtual int32_t board_write_ext_io(int32_t ioindex, int32_t val); - virtual int32_t board_read_muti_io(int32_t *val); - - private: - int32_t getmoduleId(int off); }; } // namespace iflytop -