#pragma once #include #include #include "apibasic/basic.hpp" namespace iflytop { using namespace std; class ZIXYMotor { public: virtual ~ZIXYMotor() {} virtual int32_t xymotor_enable(int32_t enable) = 0; virtual int32_t xymotor_move_by(int32_t dx, int32_t dy) = 0; virtual int32_t xymotor_move_to(int32_t x, int32_t y) = 0; virtual int32_t xymotor_move_to_zero() = 0; virtual int32_t xymotor_read_pos(int32_t *x, int32_t *y) = 0; virtual int32_t xymotor_set_pos(int32_t x, int32_t y) = 0; virtual int32_t xymotor_motor_move_by_direct(int32_t motor1_dpos, int32_t motor2_dpos) = 0; virtual int32_t xymotor_read_enc_direct(int32_t *enc1, int32_t *enc2) = 0; virtual int32_t xymotor_read_inio(int32_t ioindex, int32_t *val) = 0; virtual int32_t xymotor_read_inio_index_in_stm32(int32_t ioindex, int32_t *val) = 0; }; } // namespace iflytop