#pragma once #include #include #include "apibasic/basic.hpp" namespace iflytop { using namespace std; class ZIStepMotor { public: virtual ~ZIStepMotor() {} virtual int32_t step_motor_enable(int32_t enable) = 0; virtual int32_t step_motor_stop(int32_t breakstop) = 0; virtual int32_t step_motor_read_pos(int32_t* pos) = 0; virtual int32_t step_motor_easy_rotate(int32_t direction) = 0; virtual int32_t step_motor_easy_move_by(int32_t distance) = 0; virtual int32_t step_motor_easy_move_to(int32_t position) = 0; virtual int32_t step_motor_easy_move_to_zero() = 0; virtual int32_t step_motor_easy_set_current_pos(int32_t pos) = 0; virtual int32_t step_motor_easy_move_to_io(int32_t ioindex, int32_t direction) = 0; virtual int32_t step_motor_active_cfg() = 0; virtual int32_t step_motor_read_io_state(int32_t ioindex, int32_t* state) = 0; }; } // namespace iflytop