|
|
@ -30,13 +30,14 @@ extern DMA_HandleTypeDef hdma_usart3_tx; |
|
|
|
/*******************************************************************************
|
|
|
|
* GET_DEVICE_ID * |
|
|
|
*******************************************************************************/ |
|
|
|
static ZGPIO ID0; |
|
|
|
static ZGPIO ID1; |
|
|
|
static ZGPIO ID2; |
|
|
|
static ZGPIO ID3; |
|
|
|
static ZGPIO ID4; |
|
|
|
static int32_t getDeviceId() { |
|
|
|
static bool init = false; |
|
|
|
static ZGPIO ID0; |
|
|
|
static ZGPIO ID1; |
|
|
|
static ZGPIO ID2; |
|
|
|
static ZGPIO ID3; |
|
|
|
static ZGPIO ID4; |
|
|
|
static bool init = false; |
|
|
|
|
|
|
|
if (!init) { |
|
|
|
ID0.initAsInput(ID0_IO, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); |
|
|
|
ID1.initAsInput(ID1_IO, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); |
|
|
@ -51,9 +52,14 @@ static int32_t getDeviceId() { |
|
|
|
/*******************************************************************************
|
|
|
|
* INIT_SUBMODULE * |
|
|
|
*******************************************************************************/ |
|
|
|
#define GLOBAL_SCALE 32
|
|
|
|
#define DEFAULT_ENABLE true
|
|
|
|
|
|
|
|
void nvs_init_cb() {} |
|
|
|
static void initsubmodule() { |
|
|
|
osDelay(1000); |
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
static TMC5130 g_motor; |
|
|
|
static StepMotorCtrlModule g_stepMotorCtrlModule; |
|
|
@ -66,6 +72,9 @@ static void initsubmodule() { |
|
|
|
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); |
|
|
|
g_motor.enable(true); |
|
|
|
g_motor.setMotorShaft(false); |
|
|
|
g_motor.setGlobalScale(GLOBAL_SCALE); |
|
|
|
// g_motor.rotate(1*1000);
|
|
|
|
|
|
|
|
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);
|
|
|
@ -75,9 +84,9 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse = 1000; |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse_denominator = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_ihold = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 20; |
|
|
|
smcm_cfg.base_param.motor_shaft = 0; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 1; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 800; |
|
|
|
smcm_cfg.base_param.motor_run_to_zero_speed = 0; |
|
|
|
smcm_cfg.base_param.max_d = 0; |
|
|
|
smcm_cfg.base_param.min_d = 0; |
|
|
@ -89,7 +98,7 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_look_zero_edge_dec = 0; |
|
|
|
|
|
|
|
g_stepMotorCtrlModule.initialize(initer.get_module_id(1), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg); |
|
|
|
g_stepMotorCtrlModule.enable(false); |
|
|
|
g_stepMotorCtrlModule.enable(DEFAULT_ENABLE); |
|
|
|
initer.register_module(&g_stepMotorCtrlModule); |
|
|
|
} |
|
|
|
|
|
|
@ -105,6 +114,7 @@ static void initsubmodule() { |
|
|
|
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); |
|
|
|
g_motor.enable(true); |
|
|
|
g_motor.setMotorShaft(false); |
|
|
|
g_motor.setGlobalScale(GLOBAL_SCALE); |
|
|
|
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);
|
|
|
@ -114,9 +124,9 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse = 1000; |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse_denominator = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_ihold = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 20; |
|
|
|
smcm_cfg.base_param.motor_shaft = 0; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 1; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 800; |
|
|
|
smcm_cfg.base_param.motor_run_to_zero_speed = 0; |
|
|
|
smcm_cfg.base_param.max_d = 0; |
|
|
|
smcm_cfg.base_param.min_d = 0; |
|
|
@ -128,7 +138,7 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_look_zero_edge_dec = 0; |
|
|
|
|
|
|
|
g_stepMotorCtrlModule.initialize(initer.get_module_id(2), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg); |
|
|
|
g_stepMotorCtrlModule.enable(false); |
|
|
|
g_stepMotorCtrlModule.enable(DEFAULT_ENABLE); |
|
|
|
initer.register_module(&g_stepMotorCtrlModule); |
|
|
|
} |
|
|
|
|
|
|
@ -144,6 +154,7 @@ static void initsubmodule() { |
|
|
|
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); |
|
|
|
g_motor.enable(true); |
|
|
|
g_motor.setMotorShaft(false); |
|
|
|
g_motor.setGlobalScale(GLOBAL_SCALE); |
|
|
|
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);
|
|
|
@ -153,9 +164,9 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse = 1000; |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse_denominator = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_ihold = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 20; |
|
|
|
smcm_cfg.base_param.motor_shaft = 0; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 1; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 800; |
|
|
|
smcm_cfg.base_param.motor_run_to_zero_speed = 0; |
|
|
|
smcm_cfg.base_param.max_d = 0; |
|
|
|
smcm_cfg.base_param.min_d = 0; |
|
|
@ -167,7 +178,7 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_look_zero_edge_dec = 0; |
|
|
|
|
|
|
|
g_stepMotorCtrlModule.initialize(initer.get_module_id(3), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg); |
|
|
|
g_stepMotorCtrlModule.enable(false); |
|
|
|
g_stepMotorCtrlModule.enable(DEFAULT_ENABLE); |
|
|
|
initer.register_module(&g_stepMotorCtrlModule); |
|
|
|
} |
|
|
|
|
|
|
@ -183,6 +194,7 @@ static void initsubmodule() { |
|
|
|
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); |
|
|
|
g_motor.enable(true); |
|
|
|
g_motor.setMotorShaft(false); |
|
|
|
g_motor.setGlobalScale(GLOBAL_SCALE); |
|
|
|
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);
|
|
|
@ -192,9 +204,9 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse = 1000; |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse_denominator = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_ihold = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 20; |
|
|
|
smcm_cfg.base_param.motor_shaft = 0; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 1; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 800; |
|
|
|
smcm_cfg.base_param.motor_run_to_zero_speed = 0; |
|
|
|
smcm_cfg.base_param.max_d = 0; |
|
|
|
smcm_cfg.base_param.min_d = 0; |
|
|
@ -206,7 +218,7 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_look_zero_edge_dec = 0; |
|
|
|
|
|
|
|
g_stepMotorCtrlModule.initialize(initer.get_module_id(4), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg); |
|
|
|
g_stepMotorCtrlModule.enable(false); |
|
|
|
g_stepMotorCtrlModule.enable(DEFAULT_ENABLE); |
|
|
|
initer.register_module(&g_stepMotorCtrlModule); |
|
|
|
} |
|
|
|
|
|
|
@ -223,6 +235,7 @@ static void initsubmodule() { |
|
|
|
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); |
|
|
|
g_motor.enable(true); |
|
|
|
g_motor.setMotorShaft(false); |
|
|
|
g_motor.setGlobalScale(GLOBAL_SCALE); |
|
|
|
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);
|
|
|
@ -232,9 +245,9 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse = 1000; |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse_denominator = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_ihold = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 20; |
|
|
|
smcm_cfg.base_param.motor_shaft = 0; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 1; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 800; |
|
|
|
smcm_cfg.base_param.motor_run_to_zero_speed = 0; |
|
|
|
smcm_cfg.base_param.max_d = 0; |
|
|
|
smcm_cfg.base_param.min_d = 0; |
|
|
@ -246,7 +259,7 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_look_zero_edge_dec = 0; |
|
|
|
|
|
|
|
g_stepMotorCtrlModule.initialize(initer.get_module_id(5), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg); |
|
|
|
g_stepMotorCtrlModule.enable(false); |
|
|
|
g_stepMotorCtrlModule.enable(DEFAULT_ENABLE); |
|
|
|
initer.register_module(&g_stepMotorCtrlModule); |
|
|
|
} |
|
|
|
|
|
|
@ -263,6 +276,7 @@ static void initsubmodule() { |
|
|
|
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); |
|
|
|
g_motor.enable(true); |
|
|
|
g_motor.setMotorShaft(false); |
|
|
|
g_motor.setGlobalScale(GLOBAL_SCALE); |
|
|
|
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);
|
|
|
@ -272,9 +286,9 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse = 1000; |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse_denominator = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_ihold = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 20; |
|
|
|
smcm_cfg.base_param.motor_shaft = 0; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 1; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 800; |
|
|
|
smcm_cfg.base_param.motor_run_to_zero_speed = 0; |
|
|
|
smcm_cfg.base_param.max_d = 0; |
|
|
|
smcm_cfg.base_param.min_d = 0; |
|
|
@ -286,7 +300,7 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_look_zero_edge_dec = 0; |
|
|
|
|
|
|
|
g_stepMotorCtrlModule.initialize(initer.get_module_id(6), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg); |
|
|
|
g_stepMotorCtrlModule.enable(false); |
|
|
|
g_stepMotorCtrlModule.enable(DEFAULT_ENABLE); |
|
|
|
initer.register_module(&g_stepMotorCtrlModule); |
|
|
|
} |
|
|
|
|
|
|
@ -303,6 +317,7 @@ static void initsubmodule() { |
|
|
|
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); |
|
|
|
g_motor.enable(true); |
|
|
|
g_motor.setMotorShaft(false); |
|
|
|
g_motor.setGlobalScale(GLOBAL_SCALE); |
|
|
|
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);
|
|
|
@ -312,9 +327,9 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse = 1000; |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse_denominator = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_ihold = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 20; |
|
|
|
smcm_cfg.base_param.motor_shaft = 0; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 1; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 800; |
|
|
|
smcm_cfg.base_param.motor_run_to_zero_speed = 0; |
|
|
|
smcm_cfg.base_param.max_d = 0; |
|
|
|
smcm_cfg.base_param.min_d = 0; |
|
|
@ -326,7 +341,7 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_look_zero_edge_dec = 0; |
|
|
|
|
|
|
|
g_stepMotorCtrlModule.initialize(initer.get_module_id(7), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg); |
|
|
|
g_stepMotorCtrlModule.enable(false); |
|
|
|
g_stepMotorCtrlModule.enable(DEFAULT_ENABLE); |
|
|
|
initer.register_module(&g_stepMotorCtrlModule); |
|
|
|
} |
|
|
|
|
|
|
@ -343,6 +358,7 @@ static void initsubmodule() { |
|
|
|
ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); |
|
|
|
g_motor.enable(true); |
|
|
|
g_motor.setMotorShaft(false); |
|
|
|
g_motor.setGlobalScale(GLOBAL_SCALE); |
|
|
|
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);
|
|
|
@ -352,9 +368,9 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse = 1000; |
|
|
|
smcm_cfg.base_param.motor_one_circle_pulse_denominator = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_ihold = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 1; |
|
|
|
smcm_cfg.base_param.stepmotor_irun = 20; |
|
|
|
smcm_cfg.base_param.motor_shaft = 0; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 1; |
|
|
|
smcm_cfg.base_param.motor_default_velocity = 800; |
|
|
|
smcm_cfg.base_param.motor_run_to_zero_speed = 0; |
|
|
|
smcm_cfg.base_param.max_d = 0; |
|
|
|
smcm_cfg.base_param.min_d = 0; |
|
|
@ -366,7 +382,7 @@ static void initsubmodule() { |
|
|
|
smcm_cfg.base_param.motor_look_zero_edge_dec = 0; |
|
|
|
|
|
|
|
g_stepMotorCtrlModule.initialize(initer.get_module_id(8), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg); |
|
|
|
g_stepMotorCtrlModule.enable(false); |
|
|
|
g_stepMotorCtrlModule.enable(DEFAULT_ENABLE); |
|
|
|
initer.register_module(&g_stepMotorCtrlModule); |
|
|
|
} |
|
|
|
} |
|
|
|