Browse Source

recode

master
zhaohe 1 year ago
parent
commit
d8016d71c6
  1. 27
      usrc/public_service/ext_board_impl.cpp
  2. 41
      usrc/public_service/ext_board_impl.hpp
  3. 1
      usrc/public_service/public_service.hpp
  4. 29
      usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.cpp
  5. 32
      usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.hpp
  6. 29
      usrc/subboards/subboard30_shake_module/subboard30_shake_module.cpp
  7. 30
      usrc/subboards/subboard30_shake_module/subboard30_shake_module.hpp
  8. 33
      usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.cpp
  9. 32
      usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.hpp
  10. 34
      usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.cpp
  11. 34
      usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.hpp
  12. 29
      usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp
  13. 33
      usrc/subboards/subboard80_cliptip/subboard80_cliptip.hpp
  14. 29
      usrc/subboards/subboard90_optical_module/subboard90_optical_module.cpp
  15. 33
      usrc/subboards/subboard90_optical_module/subboard90_optical_module.hpp

27
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;
}

41
usrc/public_service/ext_board_impl.hpp

@ -0,0 +1,41 @@
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
//
#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

1
usrc/public_service/public_service.hpp

@ -4,3 +4,4 @@
#include "gins.h" #include "gins.h"
#include "gservice.hpp" #include "gservice.hpp"
#include "instance_init.hpp" #include "instance_init.hpp"
#include "ext_board_impl.hpp"

29
usrc/subboards/subboard20_plate_clamp_case/subboard20_plate_clamp_case.cpp

@ -16,34 +16,6 @@ extern "C" {
using namespace iflytop; 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 * * IMPL *
***********************************************************************************************************************/ ***********************************************************************************************************************/
@ -51,7 +23,6 @@ void Subboard20PlateClampCase::initialize() {
IO_INIT(); IO_INIT();
GService::inst()->getZCanProtocolParser()->registerModule(this); GService::inst()->getZCanProtocolParser()->registerModule(this);
#if 1 #if 1
/*********************************************************************************************************************** /***********************************************************************************************************************
* ID1 * * ID1 *
***********************************************************************************************************************/ ***********************************************************************************************************************/

32
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\step_motor_ctrl_module\step_motor_ctrl_module.hpp"
#include "sdk\components\tmc\ic\ztmc5130.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp"
#include "public_service/public_service.hpp"
namespace iflytop { namespace iflytop {
class Subboard20PlateClampCase : public ZIBoard, public ZIModule {
ENABLE_MODULE(Subboard20PlateClampCase, kboard, 1);
private:
/* data */
class Subboard20PlateClampCase : public ExtBoardImpl {
public: public:
Subboard20PlateClampCase(/* args */);
~Subboard20PlateClampCase();
static Subboard20PlateClampCase *ins();
static Subboard20PlateClampCase *ins() {
static Subboard20PlateClampCase instance;
return &instance;
}
void initialize(); 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 } // namespace iflytop

29
usrc/subboards/subboard30_shake_module/subboard30_shake_module.cpp

@ -11,35 +11,6 @@ extern "C" {
#define TAG "ShakeModule" #define TAG "ShakeModule"
using namespace iflytop; 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 * * IMPL *
***********************************************************************************************************************/ ***********************************************************************************************************************/

30
usrc/subboards/subboard30_shake_module/subboard30_shake_module.hpp

@ -6,39 +6,21 @@
#include "sdk/chip/chip.hpp" #include "sdk/chip/chip.hpp"
#include "sdk/os/zos.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\step_motor_ctrl_module\step_motor_ctrl_module.hpp"
#include "sdk\components\tmc\ic\ztmc5130.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp"
namespace iflytop { namespace iflytop {
class Subboard30ShakeModule : public ZIBoard, public ZIModule {
class Subboard30ShakeModule : public ExtBoardImpl {
ENABLE_MODULE(Subboard30ShakeModule, kboard, 1); ENABLE_MODULE(Subboard30ShakeModule, kboard, 1);
private:
/* data */
public: public:
Subboard30ShakeModule(/* args */);
~Subboard30ShakeModule();
static Subboard30ShakeModule *ins();
static Subboard30ShakeModule *ins() {
static Subboard30ShakeModule instance;
return &instance;
}
void initialize(); 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 } // namespace iflytop

33
usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.cpp

@ -12,43 +12,10 @@ extern "C" {
#define TAG "ShakeModule" #define TAG "ShakeModule"
using namespace iflytop; 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() { void Subboard60InjectAndOutletModule::initialize() {
IO_INIT(); IO_INIT();
GService::inst()->getZCanProtocolParser()->registerModule(this); GService::inst()->getZCanProtocolParser()->registerModule(this);
#if 1 #if 1
TMC5130_MOTOR_INITER(/*motorid:*/ 1, /*moduleid:*/ 1); TMC5130_MOTOR_INITER(/*motorid:*/ 1, /*moduleid:*/ 1);
TMC5130_MOTOR_INITER(/*motorid:*/ 2, /*moduleid:*/ 2); TMC5130_MOTOR_INITER(/*motorid:*/ 2, /*moduleid:*/ 2);

32
usrc/subboards/subboard60_inlet_and_outlet_module/subboard60_inlet_and_outlet_module.hpp

@ -6,39 +6,19 @@
#include "sdk/chip/chip.hpp" #include "sdk/chip/chip.hpp"
#include "sdk/os/zos.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\step_motor_ctrl_module\step_motor_ctrl_module.hpp"
#include "sdk\components\tmc\ic\ztmc5130.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp"
namespace iflytop { namespace iflytop {
class Subboard60InjectAndOutletModule : public ZIBoard, public ZIModule {
ENABLE_MODULE(Subboard60InjectAndOutletModule, kboard, 1);
private:
/* data */
class Subboard60InjectAndOutletModule : public ExtBoardImpl {
public: public:
Subboard60InjectAndOutletModule(/* args */);
~Subboard60InjectAndOutletModule();
static Subboard60InjectAndOutletModule *ins();
static Subboard60InjectAndOutletModule *ins() {
static Subboard60InjectAndOutletModule instance;
return &instance;
}
void initialize(); 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 } // namespace iflytop

34
usrc/subboards/subboard70_incubation_turntable/subboard70_incubation_turntable.cpp

@ -13,45 +13,11 @@ extern "C" {
#define TAG "ShakeModule" #define TAG "ShakeModule"
using namespace iflytop; 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() { void Subboard70IncubationTurntable::initialize() {
IO_INIT(); IO_INIT();
GService::inst()->getZCanProtocolParser()->registerModule(this); GService::inst()->getZCanProtocolParser()->registerModule(this);
#if 1 #if 1
TMC4361_MOTOR_INITER(/*motorid*/ 1, /*moduleid*/ 1); TMC4361_MOTOR_INITER(/*motorid*/ 1, /*moduleid*/ 1);
#endif #endif
} }

34
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\step_motor_ctrl_module\step_motor_ctrl_module.hpp"
#include "sdk\components\tmc\ic\ztmc5130.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: public:
Subboard70IncubationTurntable(/* args */);
~Subboard70IncubationTurntable();
static Subboard70IncubationTurntable *ins();
static Subboard70IncubationTurntable *ins() {
static Subboard70IncubationTurntable instance;
return &instance;
}
void initialize(); 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 } // namespace iflytop

29
usrc/subboards/subboard80_cliptip/subboard80_cliptip.cpp

@ -15,35 +15,6 @@ extern "C" {
using namespace iflytop; 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 * * IMPL *
***********************************************************************************************************************/ ***********************************************************************************************************************/

33
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\step_motor_ctrl_module\step_motor_ctrl_module.hpp"
#include "sdk\components\tmc\ic\ztmc5130.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp"
#include "public_service/public_service.hpp"
namespace iflytop { namespace iflytop {
class Subboard80Cliptip : public ZIBoard, public ZIModule {
ENABLE_MODULE(Subboard80Cliptip, kboard, 1);
private:
/* data */
class Subboard80Cliptip : public ExtBoardImpl {
public: public:
Subboard80Cliptip(/* args */);
~Subboard80Cliptip();
static Subboard80Cliptip *ins();
static Subboard80Cliptip *ins() {
static Subboard80Cliptip instance;
return &instance;
}
void initialize(); 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 } // namespace iflytop

29
usrc/subboards/subboard90_optical_module/subboard90_optical_module.cpp

@ -16,34 +16,6 @@ extern "C" {
using namespace iflytop; 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 * * IMPL *
@ -51,7 +23,6 @@ int32_t Subboard90OpticalModule::board_read_muti_io(int32_t *val) {
void Subboard90OpticalModule::initialize() { void Subboard90OpticalModule::initialize() {
IO_INIT(); IO_INIT();
GService::inst()->getZCanProtocolParser()->registerModule(this); GService::inst()->getZCanProtocolParser()->registerModule(this);
#if 1 #if 1
/*********************************************************************************************************************** /***********************************************************************************************************************

33
usrc/subboards/subboard90_optical_module/subboard90_optical_module.hpp

@ -6,40 +6,19 @@
#include "sdk/chip/chip.hpp" #include "sdk/chip/chip.hpp"
#include "sdk/os/zos.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\step_motor_ctrl_module\step_motor_ctrl_module.hpp"
#include "sdk\components\tmc\ic\ztmc5130.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp"
namespace iflytop { namespace iflytop {
class Subboard90OpticalModule : public ZIBoard, public ZIModule {
ENABLE_MODULE(Subboard90OpticalModule, kboard, 1);
private:
/* data */
class Subboard90OpticalModule : public ExtBoardImpl {
public: public:
Subboard90OpticalModule(/* args */);
~Subboard90OpticalModule();
static Subboard90OpticalModule *ins();
static Subboard90OpticalModule *ins() {
static Subboard90OpticalModule instance;
return &instance;
}
void initialize(); 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 } // namespace iflytop
Loading…
Cancel
Save