Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: X_NUCLEO_IHM03A1 mbed
Fork of IHM03A1_ExampleFor3Motors by
This application provides an example of usage of three X-NUCLEO-IHM03A1 High Power Stepper Motor Control Expansion Boards.
It shows how to use three stepper motors connected to the three expansion boards by:
- moving each motor independently;
- moving several motors synchronously;
- monitoring the status of the three motors;
- handling interrupts triggered by all motor drivers;
- getting and setting a motor driver parameter;
- etc.
For the hardware configuration of the expansion boards, please refer to the X_NUCLEO_IHM03A1 home web page.
Diff: main.cpp
- Revision:
- 1:1d98c151c8eb
- Parent:
- 0:36024a9bd220
- Child:
- 2:c29a38e427f6
--- a/main.cpp Tue Apr 05 15:33:37 2016 +0000
+++ b/main.cpp Thu Apr 07 16:19:01 2016 +0000
@@ -585,36 +585,36 @@
WaitForAllDevicesNotBusy();
/* Get acceleration, deceleration, Maxspeed and MinSpeed of motor 1*/
- myMaxSpeed= motor1->GetParameter(POWERSTEP01_MAX_SPEED);
- myAcceleration = motor1->GetParameter(POWERSTEP01_ACC);
- myDeceleration = motor1->GetParameter(POWERSTEP01_DEC);
- myMinSpeed = motor1->GetParameter(POWERSTEP01_MIN_SPEED);
+ myMaxSpeed= motor1->GetRawParameter(POWERSTEP01_MAX_SPEED);
+ myAcceleration = motor1->GetRawParameter(POWERSTEP01_ACC);
+ myDeceleration = motor1->GetRawParameter(POWERSTEP01_DEC);
+ myMinSpeed = motor1->GetRawParameter(POWERSTEP01_MIN_SPEED);
/* Select 1/16 microstepping mode for motor 1 */
printf(" Set 1/16 microstepping mode for motor1.\r\n");
- motor1->SetStepMode(STEP_MODE_1_16);
+ motor1->SetStepMode(StepperMotor::STEP_MODE_1_16);
/* Select 1/8 microstepping mode for motor 2 */
printf(" Set 1/8 microstepping mode for motor2.\r\n");
- motor2->SetStepMode(STEP_MODE_1_8);
+ motor2->SetStepMode(StepperMotor::STEP_MODE_1_8);
/* Set speed and acceleration of motor 2 */
/* Do not scale with microstepping mode */
- motor2->SetParameter(POWERSTEP01_ACC, myAcceleration);
- motor2->SetParameter(POWERSTEP01_DEC, myDeceleration);
- motor2->SetParameter(POWERSTEP01_MIN_SPEED, myMinSpeed);
- motor2->SetParameter(POWERSTEP01_MAX_SPEED, myMaxSpeed);
+ motor2->SetRawParameter(POWERSTEP01_ACC, myAcceleration);
+ motor2->SetRawParameter(POWERSTEP01_DEC, myDeceleration);
+ motor2->SetRawParameter(POWERSTEP01_MIN_SPEED, myMinSpeed);
+ motor2->SetRawParameter(POWERSTEP01_MAX_SPEED, myMaxSpeed);
/* Select ful step mode for motor 3 */
printf(" Set ful step mode for motor3.\r\n");
- motor3->SetStepMode(STEP_MODE_FULL);
+ motor3->SetStepMode(StepperMotor::STEP_MODE_FULL);
/* Set speed and acceleration of motor 3 */
/* Do not scale with microstepping mode */
- motor3->SetParameter(POWERSTEP01_ACC, myAcceleration);
- motor3->SetParameter(POWERSTEP01_DEC, myDeceleration);
- motor3->SetParameter(POWERSTEP01_MIN_SPEED, myMinSpeed);
- motor3->SetParameter(POWERSTEP01_MAX_SPEED, myMaxSpeed);
+ motor3->SetRawParameter(POWERSTEP01_ACC, myAcceleration);
+ motor3->SetRawParameter(POWERSTEP01_DEC, myDeceleration);
+ motor3->SetRawParameter(POWERSTEP01_MIN_SPEED, myMinSpeed);
+ motor3->SetRawParameter(POWERSTEP01_MAX_SPEED, myMaxSpeed);
/* Printing to the console. */
printf("--> Infinite Loop...\r\n");
