Library to handle the X-NUCLEO-IHM01A1 Motor Control Expansion Board based on the L6474 component.
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Dependents: Stepper_Matlab_Control SunTracker_BLE Stepper_Matlab_Control MemsMotorControl ... more
Fork of X_NUCLEO_IHM01A1 by
Motor Control Library
Introduction
Library to handle the X-NUCLEO-IHM01A1 Motor Control Expansion Board based on the the L6474 component.
Daisy-Chain Configuration
This board can be stacked up to three times so that the L6474 components will be connected in daisy-chain configuration. For this purpose, some resistors must be correctly connected on the boards as depicted here below:
Platform compatibility
- NUCLEO boards have been tested with the default configuration provided by the HelloWorld_IHM01A1 example.
- LPCXpresso11U68 board has been tested with the following patch:
- to connect with a wire from the LPCX’s
D4
pin to the IHM01A1’sD9
pin; - to initialize the pwm PinName variable with
D4
rather thanD9
.
- to connect with a wire from the LPCX’s
- FRDM-K64F board has been tested with the following patch:
- to connect with a wire from the FRDM’s
D4
pin to the IHM01A1’sD8
pin; - to initialize the standby_reset PinName variable with
D4
rather thanD8
.
- to connect with a wire from the FRDM’s
Example Applications
- HelloWorld_IHM01A1
- HelloWorld_IHM01A1_2Motors
- MotorControl_IHM01A1
- MemsMotorControl
- MemsMotorControl_IHM01A1_IKS01A2
Diff: Components/l6474/l6474.h
- Revision:
- 1:b38ebb8ea286
- Parent:
- 0:2887415a46cd
- Child:
- 5:d3c78f12a78d
diff -r 2887415a46cd -r b38ebb8ea286 Components/l6474/l6474.h --- a/Components/l6474/l6474.h Wed Oct 14 15:12:18 2015 +0000 +++ b/Components/l6474/l6474.h Fri Oct 16 13:30:06 2015 +0000 @@ -455,30 +455,24 @@ } L6474_DrvDataTypeDef; -/* Functions -----------------------------------------------------------------*/ +/* Exported functions --------------------------------------------------------*/ -/** @addtogroup BSP - * @{ - */ - -/** @addtogroup Components - * @{ - */ +/** @defgroup L6474_Exported_Functions + * @{ + */ -/** @addtogroup L6474 - * @{ - */ - -/** @defgroup L6474_IO_Functions L6474_IO_Functions - * @{ - */ /* ACTION --------------------------------------------------------------------* - * Declare here extern I/O functions you need and implemented them in a glue * - * logic file on the target environment, for example within the expansion * - * board "*.c" file. E.g.: * + * Declare here extern I/O and interrupt related functions you might need, * + * and implemented then in a glue logic file on the target environment, for * + * example within the "x_nucleo_<board>.c" file., e.g.: * + * extern DrvStatusTypeDef COMPONENT_IO_Init (void *handle); * * extern DrvStatusTypeDef COMPONENT_IO_Read (handle, buf, regadd, bytes); * * extern DrvStatusTypeDef COMPONENT_IO_Write(handle, buf, regadd, bytes); * + * extern void COMPONENT_IO_ITConfig(void); * *----------------------------------------------------------------------------*/ +/** @defgroup MotorControl_Board_Linked_Functions + * @{ + */ ///Delay of the requested number of milliseconds extern void L6474_Delay(void *handle, uint32_t delay); ///Enable Irq