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.
Fork of X-NUCLEO-IHM05A1 by
Revision 3:d566edd8cd34, committed 2016-09-29
- Comitter:
- Davidroid
- Date:
- Thu Sep 29 09:57:41 2016 +0000
- Parent:
- 2:2af31245e67e
- Commit message:
- Added ST_INTERFACES library.
Changed in this revision
--- a/Components/Interfaces/Component_class.h Fri Apr 29 14:58:30 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -/** - ****************************************************************************** - * @file Component_class.h - * @author AST - * @version V1.0.0 - * @date April 13th, 2015 - * @brief This file contains the abstract class describing the interface of a - * generic component. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************** - */ - - -/* Define to prevent recursive inclusion -------------------------------------*/ - -#ifndef __COMPONENT_CLASS_H -#define __COMPONENT_CLASS_H - - -/* Includes ------------------------------------------------------------------*/ - -#include <stdint.h> - - -/* Classes ------------------------------------------------------------------*/ - -/** An abstract class for Generic components. - */ -class Component -{ -public: - /** - * @brief Initializing the component. - * @param[in] init pointer to device specific initalization structure. - * @retval "0" in case of success, an error code otherwise. - */ - virtual int Init(void *init) = 0; - - /** - * @brief Getting the ID of the component. - * @param[out] id pointer to an allocated variable to store the ID into. - * @retval "0" in case of success, an error code otherwise. - */ - virtual int ReadID(uint8_t *id) = 0; - - /** - * @brief Getting the version of the firmware. - * @param None. - * @retval The version of the firmware. - */ - virtual unsigned int GetFwVersion(void) = 0; - -}; - -#endif /* __COMPONENT_CLASS_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- a/Components/Interfaces/StepperMotor_class.h Fri Apr 29 14:58:30 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,271 +0,0 @@ -/** - ****************************************************************************** - * @file StepperMotor_class.h - * @author Davide Aliprandi, STMicroelectronics - * @version V1.1.0 - * @date April 6th, 2016 - * @brief This file contains the abstract class describing the interface of a - * stepper-motor component. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************** - */ - - -/* Define to prevent from recursive inclusion --------------------------------*/ - -#ifndef __STEPPERMOTOR_CLASS_H -#define __STEPPERMOTOR_CLASS_H - - -/* Includes ------------------------------------------------------------------*/ - -#include <Component_class.h> - - -/* Classes ------------------------------------------------------------------*/ - -/** An abstract class for StepperMotor components. - */ -class StepperMotor : public Component -{ -public: - /** - * @brief Rotation modes. - */ - typedef enum - { - 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, - STEP_MODE_WAVE /* Full-step one-phase-on*/ - } step_mode_t; - - /** - * @brief Getting the status. - * @param None. - * @retval The status. - */ - virtual unsigned int GetStatus(void) = 0; - - /** - * @brief Getting the position. - * @param None. - * @retval The position. - */ - virtual signed int GetPosition(void) = 0; - - /** - * @brief Getting the marked position. - * @param None. - * @retval The marked position. - */ - virtual signed int GetMark(void) = 0; - - /** - * @brief Getting the current speed in pps. - * @param None. - * @retval The current speed in pps. - */ - virtual unsigned int GetSpeed(void) = 0; - - /** - * @brief Getting the maximum speed in pps. - * @param None. - * @retval The maximum speed in pps. - */ - virtual unsigned int GetMaxSpeed(void) = 0; - - /** - * @brief Getting the minimum speed in pps. - * @param None. - * @retval The minimum speed in pps. - */ - virtual unsigned int GetMinSpeed(void) = 0; - - /** - * @brief Getting the acceleration in pps^2. - * @param None. - * @retval The acceleration in pps^2. - */ - virtual unsigned int GetAcceleration(void) = 0; - - /** - * @brief Getting the deceleration in pps^2. - * @param None. - * @retval The deceleration in pps^2. - */ - virtual unsigned int GetDeceleration(void) = 0; - - /** - * @brief Getting the direction of rotation. - * @param None. - * @retval The direction of rotation. - */ - virtual direction_t GetDirection(void) = 0; - - /** - * @brief Setting the current position to be the home position. - * @param None. - * @retval None. - */ - virtual void SetHome(void) = 0; - - /** - * @brief Setting the current position to be the marked position. - * @param None. - * @retval None. - */ - virtual void SetMark(void) = 0; - - /** - * @brief Setting the maximum speed in pps. - * @param speed The maximum speed in pps. - * @retval "true" in case of success, "false" otherwise. - */ - virtual bool SetMaxSpeed(unsigned int speed) = 0; - - /** - * @brief Setting the minimum speed in pps. - * @param speed The minimum speed in pps. - * @retval "true" in case of success, "false" otherwise. - */ - virtual bool SetMinSpeed(unsigned int speed) = 0; - - /** - * @brief Setting the acceleration in pps^2. - * @param acceleration The acceleration in pps^2. - * @retval "true" in case of success, "false" otherwise. - */ - virtual bool SetAcceleration(unsigned int acceleration) = 0; - - /** - * @brief Setting the deceleration in pps^2. - * @param deceleration The deceleration in pps^2. - * @retval "true" in case of success, "false" otherwise. - */ - 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. - * @param position The desired position. - * @retval None. - */ - virtual void GoTo(signed int position) = 0; - - /** - * @brief Going to the home position. - * @param None. - * @retval None. - */ - virtual void GoHome(void) = 0; - - /** - * @brief Going to the marked position. - * @param None. - * @retval None. - */ - virtual void GoMark(void) = 0; - - /** - * @brief Running the motor towards a specified direction. - * @param direction The direction of rotation. - * @retval None. - */ - virtual void Run(direction_t direction) = 0; - - /** - * @brief Moving the motor towards a specified direction for a certain number of steps. - * @param direction The direction of rotation. - * @param steps The desired number of steps. - * @retval None. - */ - virtual void Move(direction_t direction, unsigned int steps) = 0; - - /** - * @brief Stopping the motor through an immediate deceleration up to zero speed. - * @param None. - * @retval None. - */ - virtual void SoftStop(void) = 0; - - /** - * @brief Stopping the motor through an immediate infinite deceleration. - * @param None. - * @retval None. - */ - virtual void HardStop(void) = 0; - - /** - * @brief Disabling the power bridge after performing a deceleration to zero. - * @param None. - * @retval None. - */ - virtual void SoftHiZ(void) = 0; - - /** - * @brief Disabling the power bridge immediately. - * @param None. - * @retval None. - */ - virtual void HardHiZ(void) = 0; - - /** - * @brief Waiting while the motor is active. - * @param None. - * @retval None. - */ - virtual void WaitWhileActive(void) = 0; -}; - -#endif /* __STEPPERMOTOR_CLASS_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
--- a/Components/l6208/l6208_class.h Fri Apr 29 14:58:30 2016 +0000 +++ b/Components/l6208/l6208_class.h Thu Sep 29 09:57:41 2016 +0000 @@ -58,10 +58,10 @@ * Include here interface specific header files. * * * * Example: * - * #include "../Interfaces/Humidity_class.h" * - * #include "../Interfaces/Temperature_class.h" * + * #include "Humidity_class.h" * + * #include "Temperature_class.h" * *----------------------------------------------------------------------------*/ -#include "../Interfaces/StepperMotor_class.h" +#include "StepperMotor.h" /* Classes -------------------------------------------------------------------*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ST_INTERFACES.lib Thu Sep 29 09:57:41 2016 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/teams/ST/code/ST_INTERFACES/#a7810e7acf8d