ching-yang Trui / X_NUCLEO_IHM02A1

Dependencies:   ST_INTERFACES X_NUCLEO_COMMON

Dependents:   selfbalansingcar

Fork of X_NUCLEO_IHM02A1 by ST

Revision:
22:ba7f4131a5e0
Parent:
21:1b7f3e002688
Child:
23:cf489f2ab072
--- a/BSP/x_nucleo_ihm02a1_class.h	Wed Mar 01 17:52:33 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/**
- ******************************************************************************
- * @file    x_nucleo_ihm02a1_class.h
- * @author  AST / Software Platforms and Cloud
- * @version V1.0
- * @date    November 3rd, 2015
- * @brief   Class header file for the X_NUCLEO_IHM02A1 expansion board.
- ******************************************************************************
- * @attention
- *
- * <h2><center>&copy; 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.
- *
- ******************************************************************************
- */
-
-
-/* Generated with STM32CubeTOO -----------------------------------------------*/
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
-
-#ifndef __X_NUCLEO_IHM02A1_CLASS_H
-#define __X_NUCLEO_IHM02A1_CLASS_H
-
-
-/* Includes ------------------------------------------------------------------*/
-
-/* ACTION 1 ------------------------------------------------------------------*
- * Include here platform specific header files.                               *
- *----------------------------------------------------------------------------*/
-#include "mbed.h"
-#include "DevSPI.h"
-/* ACTION 2 ------------------------------------------------------------------*
- * Include here expansion board configuration's header files.                 *
- *----------------------------------------------------------------------------*/
-#include "x_nucleo_ihm02a1_config.h"
-/* ACTION 3 ------------------------------------------------------------------*
- * Include here expansion board's components' header files.                   *
- *                                                                            *
- * Example:                                                                   *
- *   #include "component_1_class.h"                                           *
- *   #include "component_2_class.h"                                           *
- *----------------------------------------------------------------------------*/
-#include "l6470_class.h"
-
-
-/* Classes -------------------------------------------------------------------*/
-
-/** Class representing a X_NUCLEO_IHM02A1 board.
- */
-class X_NUCLEO_IHM02A1
-{
-public:
-
-    /*** Constructor, Destructor, and Initialization Methods ***/
-
-    /**
-     * @brief Constructor.
-     * @param init_0        pointer to the initialization structure of the first motor.
-     * @param init_1        pointer to the initialization structure of the second motor.
-     * @param flag_irq      pin name of the FLAG pin of the component.
-     * @param busy_irq      pin name of the BUSY pin of the component.
-     * @param standby_reset pin name of the STBY\RST pin of the component.
-     * @param ssel          pin name of the SSEL pin of the SPI device to be used for communication.
-     * @param spi           SPI device to be used for communication.
-     */
-    X_NUCLEO_IHM02A1(L6470_Init_t *init_0, L6470_Init_t *init_1, PinName flag_irq, PinName busy_irq, PinName standby_reset, PinName ssel, DevSPI *spi);
-
-    /**
-     * @brief Constructor.
-     * @param init_0        pointer to the initialization structure of the first motor.
-     * @param init_1        pointer to the initialization structure of the second motor.
-     * @param flag_irq      pin name of the FLAG pin of the component.
-     * @param busy_irq      pin name of the BUSY pin of the component.
-     * @param standby_reset pin name of the STBY\RST pin of the component.
-     * @param ssel          pin name of the SSEL pin of the SPI device to be used for communication.
-     * @param mosi          pin name of the MOSI pin of the SPI device to be used for communication.
-     * @param miso          pin name of the MISO pin of the SPI device to be used for communication.
-     * @param sclk          pin name of the SCLK pin of the SPI device to be used for communication.
-     */
-    X_NUCLEO_IHM02A1(L6470_Init_t *init_0, L6470_Init_t *init_1, PinName flag_irq, PinName busy_irq, PinName standby_reset, PinName ssel, PinName mosi, PinName miso, PinName sclk);
-
-    /**
-     * @brief Destructor.
-     */
-    ~X_NUCLEO_IHM02A1(void) {}
-
-    /**
-     * @brief Initializing the X_NUCLEO_IHM02A1 board.
-     * @retval true if initialization is successful, false otherwise.
-     */
-    bool Init(void);
-
-
-    /*** Other Public Expansion Board Related Methods ***/
-
-    /**
-     * @brief  Getting the array of components.
-     * @param  None.
-     * @retval The array of components.
-     */
-    L6470 **GetComponents(void)
-    {
-        return components;
-    }
-
-    /**
-      * @brief  Performing the actions set on the motors with calls to a number of
-      *         "Prepare<Action>()" methods, one for each motor of the daisy-chain.
-      * @param  None.
-      * @retval A pointer to the results returned by the components, i.e. an
-      *         integer value for each of them.
-      */
-    virtual uint32_t* PerformPreparedActions(void)
-    {
-        /* Performing pre-actions, if needed. */
-        for (int m = 0; m < L6470DAISYCHAINSIZE; m++) {
-            /*
-               "GetPosition()" is needed by "PrepareSetMark()" at the time when the
-               prepared actions get performed.
-            */
-            if (components[m]->GetPreparedAction() == L6470::PREPARED_SET_MARK) {
-                components[m]->PrepareSetMark((uint32_t) components[m]->GetPosition());
-            }
-        }
-        
-        /* Performing the prepared actions and getting back raw data. */
-        uint8_t *raw_data = components[0]->PerformPreparedActions();
-
-        /* Processing raw data. */
-        for (int m = 0; m < L6470DAISYCHAINSIZE; m++) {
-            results[m] = components[m]->GetResult(raw_data);
-        }
-
-        /* Returning results. */
-        return results;
-    }
-
-
-    /*** Public Expansion Board Related Attributes ***/
-
-    /* ACTION 4 --------------------------------------------------------------*
-     * Declare here a public attribute for each expansion board's component.  *
-     * You will have to call these attributes' public methods within your     *
-     * main program.                                                          *
-     *                                                                        *
-     *   Example:                                                             *
-     *     COMPONENT_1 *component_1;                                          *
-     *     COMPONENT_2 *component_2;                                          *
-     *------------------------------------------------------------------------*/
-    L6470 *l6470_0;
-    L6470 *l6470_1;
-
-
-protected:
-
-    /*** Protected Expansion Board Related Initialization Methods ***/
-
-    /* ACTION 5 --------------------------------------------------------------*
-     * Declare here a protected initialization method for each expansion      *
-     * board's component.                                                     *
-     *                                                                        *
-     * Example:                                                               *
-     *   bool Init_COMPONENT_1(void);                                         *
-     *   bool Init_COMPONENT_2(void);                                         *
-     *------------------------------------------------------------------------*/
-    bool Init_L6470_0(void);
-    bool Init_L6470_1(void);
-
-
-    /*** Component's Instance Variables ***/
-
-    /* IO Device. */
-    DevSPI *dev_spi;
-
-    /* Components. */
-    L6470 *components[L6470DAISYCHAINSIZE];
-    
-    /* Components' initialization. */
-    L6470_Init_t *init_components[L6470DAISYCHAINSIZE];
-
-    /* Results of prepared actions. */
-    uint32_t results[L6470DAISYCHAINSIZE];
-
-    /* ACTION 6 --------------------------------------------------------------*
-     * Declare here the component's static and non-static data, one variable  *
-     * per line.                                                              *
-     *                                                                        *
-     * Example:                                                               *
-     *   int instance_id;                                                     *
-     *   static int number_of_instances;                                      *
-     *------------------------------------------------------------------------*/
-    /* Data. */
-    uint8_t X_NUCLEO_IHM02A1_Id;
-
-    /* Static data. */
-    static uint8_t number_of_boards;
-};
-
-#endif /* __X_NUCLEO_IHM02A1_CLASS_H */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/