You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.9 KiB

#pragma once
#include <stdint.h>
#include <functional>
#include "apibasic/basic.hpp"
typedef struct {
uint32_t sg_result : 10;
uint32_t reserved0 : 5;
uint32_t fsactive : 1;
uint32_t cs_actual : 5;
uint32_t reserved1 : 3;
uint32_t stallguard : 1;
uint32_t ot : 1;
uint32_t otpw : 1;
uint32_t s2ga : 1;
uint32_t s2gb : 1;
uint32_t ola : 1;
uint32_t olb : 1;
uint32_t stst : 1;
} TMC5130MotorStatus_t;
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;
/***********************************************************************************************************************
* DEBUG *
***********************************************************************************************************************/
virtual int32_t step_motor_read_tmc5130_status(int32_t* errorflag) = 0;
};
} // namespace iflytop