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: ST_INTERFACES X_NUCLEO_COMMON
Fork of X_NUCLEO_IHM01A1 by
Diff: Components/Interfaces/StepperMotor_class.h
- Revision:
- 25:1c3146315f16
- Parent:
- 20:a8e81b65f0af
- Child:
- 26:fd83fecf1ef5
diff -r 258f0f60d30c -r 1c3146315f16 Components/Interfaces/StepperMotor_class.h
--- a/Components/Interfaces/StepperMotor_class.h Fri Mar 11 15:46:34 2016 +0000
+++ b/Components/Interfaces/StepperMotor_class.h Thu Apr 07 16:31:49 2016 +0000
@@ -2,8 +2,8 @@
******************************************************************************
* @file StepperMotor_class.h
* @author Davide Aliprandi, STMicroelectronics
- * @version V1.0.0
- * @date November 12th, 2015
+ * @version V1.1.0
+ * @date April 6th, 2016
* @brief This file contains the abstract class describing the interface of a
* stepper-motor component.
******************************************************************************
@@ -60,11 +60,29 @@
*/
typedef enum
{
- BWD = 0, /* Backward. */
- FWD = 1 /* Forward. */
+ BWD = 0, /* Backward. */
+ FWD = 1 /* Forward. */
} direction_t;
/**
+ * @brief Step modes.
+ */
+ typedef enum
+ {
+ STEP_MODE_FULL = 0, /* Full-step. */
+ STEP_MODE_HALF, /* Half-step. */
+ STEP_MODE_1_4, /* 1/4 microstep. */
+ STEP_MODE_1_8, /* 1/8 microstep. */
+ STEP_MODE_1_16, /* 1/16 microstep. */
+ STEP_MODE_1_32, /* 1/32 microstep. */
+ STEP_MODE_1_64, /* 1/64 microstep. */
+ STEP_MODE_1_128, /* 1/128 microstep. */
+ STEP_MODE_1_256, /* 1/256 microstep. */
+ STEP_MODE_UNKNOWN, /* Unknown. */
+ STEP_MODE_WAVE /* Full-step one-phase-on. */
+ } step_mode_t;
+
+ /**
* @brief Getting the status.
* @param None.
* @retval The status.
@@ -72,13 +90,6 @@
virtual unsigned int GetStatus(void) = 0;
/**
- * @brief Getting a parameter.
- * @param parameter The parameter's identifier (or its register address).
- * @retval The parameter's value.
- */
- virtual float GetParameter(unsigned int parameter) = 0;
-
- /**
* @brief Getting the position.
* @param None.
* @retval The position.
@@ -134,14 +145,6 @@
*/
virtual direction_t GetDirection(void) = 0;
- /**
- * @brief Setting a parameter.
- * @param parameter The parameter's identifier (or its register address).
- * @param value The parameter's value.
- * @retval None.
- */
- virtual void SetParameter(unsigned int parameter, float value) = 0;
-
/**
* @brief Setting the current position to be the home position.
* @param None.
@@ -159,30 +162,37 @@
/**
* @brief Setting the maximum speed in pps.
* @param speed The maximum speed in pps.
- * @retval None.
+ * @retval "true" in case of success, "false" otherwise.
*/
- virtual void SetMaxSpeed(unsigned int speed) = 0;
+ virtual bool SetMaxSpeed(unsigned int speed) = 0;
/**
* @brief Setting the minimum speed in pps.
* @param speed The minimum speed in pps.
- * @retval None.
+ * @retval "true" in case of success, "false" otherwise.
*/
- virtual void SetMinSpeed(unsigned int speed) = 0;
+ virtual bool SetMinSpeed(unsigned int speed) = 0;
/**
* @brief Setting the acceleration in pps^2.
* @param acceleration The acceleration in pps^2.
- * @retval None.
+ * @retval "true" in case of success, "false" otherwise.
*/
- virtual void SetAcceleration(unsigned int acceleration) = 0;
+ virtual bool SetAcceleration(unsigned int acceleration) = 0;
/**
* @brief Setting the deceleration in pps^2.
* @param deceleration The deceleration in pps^2.
- * @retval None.
+ * @retval "true" in case of success, "false" otherwise.
*/
- virtual void SetDeceleration(unsigned int deceleration) = 0;
+ virtual bool SetDeceleration(unsigned int deceleration) = 0;
+
+ /**
+ * @brief Setting the Step Mode.
+ * @param step_mode The Step Mode.
+ * @retval "true" in case of success, "false" otherwise.
+ */
+ virtual bool SetStepMode(step_mode_t step_mode) = 0;
/**
* @brief Going to a specified position.
