|
|
@ -1,5 +1,7 @@ |
|
|
|
#include <stddef.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
#include "board.h"
|
|
|
|
#include "sdk\components\subcanmodule\zcancmder_subboard_initer.hpp"
|
|
|
@ -9,9 +11,9 @@ |
|
|
|
#include "sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.hpp"
|
|
|
|
#include "sdk\components\mini_servo_motor\feite_servo_motor.hpp"
|
|
|
|
#include "sdk\components\mini_servo_motor\mini_servo_motor_ctrl_module.hpp"
|
|
|
|
#include "sdk\components\step_motor_ctrl_module\tmc51x0_motor.hpp"
|
|
|
|
#include "sdk\components\tmc\ic\ztmc4361A.hpp"
|
|
|
|
#include "sdk\components\tmc\ic\ztmc5130.hpp"
|
|
|
|
#include "sdk\components\step_motor_ctrl_module\tmc51x0_motor.hpp"
|
|
|
|
|
|
|
|
#define TAG "main"
|
|
|
|
using namespace iflytop; |
|
|
@ -64,8 +66,40 @@ static void initsubmodule() { |
|
|
|
}; |
|
|
|
g_motor.initialize(&cfg); |
|
|
|
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); |
|
|
|
g_motor.enable(true); |
|
|
|
g_motor.enable(false); |
|
|
|
g_motor.setMotorShaft(false); |
|
|
|
|
|
|
|
#if 0
|
|
|
|
// g_motor.setMotorShaft(true);
|
|
|
|
|
|
|
|
// void writeInt(uint8_t address, int32_t value);
|
|
|
|
// int32_t readInt(uint8_t address);
|
|
|
|
|
|
|
|
int32_t enc_const_integral = 12; |
|
|
|
float enc_const_fractional = 0.8; |
|
|
|
|
|
|
|
int32_t setval = (enc_const_integral << 16) + enc_const_fractional * 10000; |
|
|
|
setval = -setval; |
|
|
|
ZLOGI(TAG, "setval:%d", setval); |
|
|
|
g_motor.writeInt(TMC5130_ENC_CONST, setval); |
|
|
|
g_motor.writeInt(TMC5130_ENCMODE, 0x1 << 10); |
|
|
|
|
|
|
|
g_motor.setIHOLD_IRUN(2, 6, 1000); |
|
|
|
g_motor.setENCVAL(0); |
|
|
|
g_motor.enable(true); |
|
|
|
osDelay(100); |
|
|
|
g_motor.setENCVAL(0); |
|
|
|
// g_motor.moveBy(51200, 100000);
|
|
|
|
g_motor.moveBy(51200, 100000); |
|
|
|
|
|
|
|
while (true) { |
|
|
|
int32_t enc = g_motor.readInt(TMC5130_XENC); |
|
|
|
int32_t xactual = g_motor.readInt(TMC5130_XACTUAL); |
|
|
|
ZLOGI(TAG, "enc:%d %d %d", enc, xactual, enc - xactual); |
|
|
|
osDelay(1000); |
|
|
|
} |
|
|
|
#endif
|
|
|
|
|
|
|
|
static ZGPIO input[10]; |
|
|
|
input[0].initAsInput(MOTOR0_REFL /*REFL*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); |
|
|
|
input[1].initAsInput(MOTOR0_REFR /*REFR*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); |
|
|
|