X-CUBE-SPN1-20150128 example source code for one motor compiled under mbed. Tested OK on Nucleo F401. l6474.cpp is modified from original with defines in l6474_target_config.h to select the original behaviour (motor de-energised when halted), or new mode to continue powering with a (reduced) current in the coils (braking/position hold capability). On F401 avoid using mbed's InterruptIn on pins 10-15 (any port). Beware of other conflicts! L0 & F0 are included but untested.
IHM01A1/ihm01a1.h@6:19c1b4a04c24, 2015-10-13 (annotated)
- Committer:
- gregeric
- Date:
- Tue Oct 13 10:46:01 2015 +0000
- Revision:
- 6:19c1b4a04c24
- Parent:
- 2:d6f513e1313b
Ensure bridge is disabled before resetting the L6474.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gregeric | 0:b9444a40a999 | 1 | |
gregeric | 0:b9444a40a999 | 2 | /** |
gregeric | 0:b9444a40a999 | 3 | ****************************************************************************** |
gregeric | 0:b9444a40a999 | 4 | * @file Multi/Examples/MotionControl/IHM01A1_ExampleFor1Motor/Inc/main.h |
gregeric | 0:b9444a40a999 | 5 | * @author IPC Rennes |
gregeric | 0:b9444a40a999 | 6 | * @version V1.5.0 |
gregeric | 0:b9444a40a999 | 7 | * @date November 12, 2014 |
gregeric | 0:b9444a40a999 | 8 | * @brief Header for main.c module |
gregeric | 0:b9444a40a999 | 9 | ****************************************************************************** |
gregeric | 0:b9444a40a999 | 10 | * @attention |
gregeric | 0:b9444a40a999 | 11 | * |
gregeric | 0:b9444a40a999 | 12 | * <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2> |
gregeric | 0:b9444a40a999 | 13 | * |
gregeric | 0:b9444a40a999 | 14 | * Redistribution and use in source and binary forms, with or without modification, |
gregeric | 0:b9444a40a999 | 15 | * are permitted provided that the following conditions are met: |
gregeric | 0:b9444a40a999 | 16 | * 1. Redistributions of source code must retain the above copyright notice, |
gregeric | 0:b9444a40a999 | 17 | * this list of conditions and the following disclaimer. |
gregeric | 0:b9444a40a999 | 18 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
gregeric | 0:b9444a40a999 | 19 | * this list of conditions and the following disclaimer in the documentation |
gregeric | 0:b9444a40a999 | 20 | * and/or other materials provided with the distribution. |
gregeric | 0:b9444a40a999 | 21 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
gregeric | 0:b9444a40a999 | 22 | * may be used to endorse or promote products derived from this software |
gregeric | 0:b9444a40a999 | 23 | * without specific prior written permission. |
gregeric | 0:b9444a40a999 | 24 | * |
gregeric | 0:b9444a40a999 | 25 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
gregeric | 0:b9444a40a999 | 26 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
gregeric | 0:b9444a40a999 | 27 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
gregeric | 0:b9444a40a999 | 28 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
gregeric | 0:b9444a40a999 | 29 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
gregeric | 0:b9444a40a999 | 30 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
gregeric | 0:b9444a40a999 | 31 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
gregeric | 0:b9444a40a999 | 32 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
gregeric | 0:b9444a40a999 | 33 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
gregeric | 0:b9444a40a999 | 34 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
gregeric | 0:b9444a40a999 | 35 | * |
gregeric | 0:b9444a40a999 | 36 | ****************************************************************************** |
gregeric | 0:b9444a40a999 | 37 | */ |
gregeric | 0:b9444a40a999 | 38 | |
gregeric | 0:b9444a40a999 | 39 | /* Define to prevent recursive inclusion -------------------------------------*/ |
gregeric | 0:b9444a40a999 | 40 | #ifndef __MAIN_H |
gregeric | 0:b9444a40a999 | 41 | #define __MAIN_H |
gregeric | 0:b9444a40a999 | 42 | |
gregeric | 0:b9444a40a999 | 43 | /* Includes ------------------------------------------------------------------*/ |
gregeric | 0:b9444a40a999 | 44 | #include "motorcontrol.h" |
gregeric | 0:b9444a40a999 | 45 | #include "l6474.h" |
gregeric | 0:b9444a40a999 | 46 | |
gregeric | 6:19c1b4a04c24 | 47 | #if defined TARGET_STM32F4 //TARGET_NUCLEO_F401RE |
gregeric | 0:b9444a40a999 | 48 | #include "stm32f4xx_nucleo_ihm01a1.h" |
gregeric | 0:b9444a40a999 | 49 | #elif defined TARGET_STM32F0 |
gregeric | 2:d6f513e1313b | 50 | #warning Untested platform! |
gregeric | 0:b9444a40a999 | 51 | #include "stm32f0xx_nucleo_ihm01a1.h" |
gregeric | 0:b9444a40a999 | 52 | #elif defined TARGET_STM32L0 |
gregeric | 2:d6f513e1313b | 53 | #warning Untested platform! |
gregeric | 0:b9444a40a999 | 54 | #include "stm32l0xx_nucleo_ihm01a1.h" |
gregeric | 0:b9444a40a999 | 55 | #else |
gregeric | 0:b9444a40a999 | 56 | #error Unknown Target: only STM32F0xx, F4xx, L0xx are supported. |
gregeric | 0:b9444a40a999 | 57 | #endif |
gregeric | 0:b9444a40a999 | 58 | |
gregeric | 0:b9444a40a999 | 59 | /* Exported types ------------------------------------------------------------*/ |
gregeric | 0:b9444a40a999 | 60 | /* Exported constants --------------------------------------------------------*/ |
gregeric | 0:b9444a40a999 | 61 | /* Exported functions ------------------------------------------------------- */ |
gregeric | 0:b9444a40a999 | 62 | void SystemClock_Config(void); |
gregeric | 0:b9444a40a999 | 63 | void Error_Handler(uint16_t error); |
gregeric | 0:b9444a40a999 | 64 | |
gregeric | 0:b9444a40a999 | 65 | #endif /* __MAIN_H */ |
gregeric | 0:b9444a40a999 | 66 | |
gregeric | 0:b9444a40a999 | 67 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |