aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
index 5b0f034f4..7119238de 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
@@ -45,7 +45,7 @@ uint32_t MotorsConfigMessage(HardwareMotor * request)
{
uint32_t status = PASSED;
int Motor_i;
-
+ MotorDriverConfigStruc MotorDriverConfig;
Motor_i = request->hardwaremotortype;
if (Motor_i< MAX_THREAD_MOTORS_NUM)
{
@@ -63,7 +63,30 @@ uint32_t MotorsConfigMessage(HardwareMotor * request)
MotorsCfg[Motor_i].kd = request->kd;
MotorsCfg[Motor_i].changeslope = request->changeslope;
MotorsCfg[Motor_i].hightimeoutusec = request->highlengthmicrosecond;
- ThreadInitialTestStub(request);
+ if (Motor_i == MOTOR_LDRIVING)
+ ThreadInitialTestStub(request);
+ /*
+ typedef struct
+ {
+ uint32_t ACC; //set
+ uint32_t DEC; //set
+ uint32_t MaxSpeed; //set
+ bool HasMicroStep;
+ uint32_t Microstep; //set
+ bool HasConfigWord;
+ uint16_t ConfigWord; //set
+ }MotorDriverConfigStruc;
+ */
+ MotorDriverConfig.ACC = MotorsCfg[Motor_i].changeslope;
+ MotorDriverConfig.DEC = MotorsCfg[Motor_i].changeslope;
+ MotorDriverConfig.MaxSpeed = MotorsCfg[Motor_i].maxfreq;
+ MotorDriverConfig.HasMicroStep = true;
+ MotorDriverConfig.Microstep = MotorsCfg[Motor_i].minmicrostep;
+ MotorDriverConfig.HasConfigWord = false;
+ MotorDriverConfig.ConfigWord = 0;
+
+ status = MotorConfig( Motor_i, &MotorDriverConfig);
+
return status;
}
else return Motor_i;