Expansion SW library to control a bipolar stepper motor using X-NUCLEO-IHM05A1 expansion board based on L6208.

Dependencies:   ST_INTERFACES

Dependents:   HelloWorld_IHM05A1 TAU_ROTATING_PLATFORM_IHM05A1 Amaldi_13_Exercise_IHM05A1 Amaldi_13_Exercise_IHM05A1motore ... more

Fork of X-NUCLEO-IHM05A1 by ST Expansion SW Team

Motor Control Library

Library to handle the X-NUCLEO-IHM05A1 Motor Control Expansion Board based on the L6208 component.

It features the:

  • Read and write of device parameters
  • Configuration of GPIOs and IRQs (for enabling, direction, current decay and microstepping)
  • Control of position, speed, acceleration and deceleration
  • Command locking until the device completes movement
  • Handling of overcurrent and thermal alarms (flag interrupt handling)

The API allows to easily:

  • perform various positioning, moves and stops
  • get/set or monitor the motor positions
  • set home position and mark another position
  • get/set minimum and maximum speed
  • get current speed
  • get/set acceleration and deceleration
  • get/set the step mode (up to 1/16)

Board configuration

/media/uploads/nucleosam/mbed-x-nucleo-ihm05a1.png

Platform compatibility

Compatible platforms have been tested with the configurations provided by the HelloWorld_IHM05A1 example.

Files at this revision

API Documentation at this revision

Comitter:
Davidroid
Date:
Mon May 08 15:42:20 2017 +0000
Parent:
4:0b52159554b5
Child:
6:c73faac7197f
Commit message:
Aligned to ARM mbed coding style.

Changed in this revision

Components/L6208/L6208.h Show annotated file Show diff for this revision Revisions of this file
--- a/Components/L6208/L6208.h	Fri Mar 24 13:29:46 2017 +0000
+++ b/Components/L6208/L6208.h	Mon May 08 15:42:20 2017 +0000
@@ -133,14 +133,14 @@
      *     table's functions, if any (2).                                     *
      *                                                                        *
      * Example:                                                               *
-     *   virtual int GetValue(float *pData) //(1)                             *
+     *   virtual int get_value(float *pData) //(1)                            *
      *   {                                                                    *
-     *     return COMPONENT_GetValue(float *pfData);                          *
+     *     return COMPONENT_get_value(float *pfData);                         *
      *   }                                                                    *
      *                                                                        *
-     *   virtual int EnableFeature(void) //(2)                                *
+     *   virtual int enable_feature(void) //(2)                               *
      *   {                                                                    *
-     *     return COMPONENT_EnableFeature();                                  *
+     *     return COMPONENT_enable_feature();                                 *
      *   }                                                                    *
      *------------------------------------------------------------------------*/