Library to handle the X-NUCLEO-LED61A1 LED Control Expansion Board based on the LED6001 component.

Dependents:   LedDimming_LED61A1_mbedOS HelloWorld_LED61A1_mbedOS LedDimming_LED61A1 HelloWorld_LED61A1 ... more

Fork of X_NUCLEO_LED61A1 by ST Expansion SW Team

LED Control Library

Library to handle the X-NUCLEO-LED61A1 LED Control Expansion Board based on the LED6001 component.

Platform compatibility

  • NUCLEO boards have been tested with the default configuration provided by the HelloWorld_LED61A1 example.
  • NUCLEO-F070RB, NUCLEO-F072RB, NUCLEO-F091RC boards have been tested with the following patch:
    • to connect with a wire the NUCLEO’s D9 pin to the LED61A1’s D6 pin;
    • to initialize the pwm PinName variable with D9 rather than D6.
  • NUCLEO-F302R8 board has been tested with the following patch:
    • to connect with a wire the NUCLEO’s D7 pin to the LED61A1’s D6 pin;
    • to initialize the pwm PinName variable with D7 rather than D6.
  • LPCXpresso11U68 board has been tested with the limitation of using only the PWM Dimming, as it provides only one PWM channel, thus allowing just one between the PWM or Analog Dimming functionalities. It has been tested with the following patch:
    • to connect with a wire the LPCX’s D3 pin to the LED61A1’s D4 pin;
    • to connect with a wire the LPCX’s D4 pin to the LED61A1’s D6 pin;
    • to initialize the xfault_irq PinName variable with D3 rather than D4;
    • to initialize the pwm PinName variable with D4 rather than D6;
    • to initialize the analog PinName variable with NC rather than D5;
    • to disable the use of the user button in any application example as it is not available.
  • FRDM-K64F board has been tested with the following patch:
    • to disable the use of the user button in any application example as it is not available.
Committer:
Davidroid
Date:
Tue Feb 09 09:35:26 2016 +0000
Revision:
8:ef1936790948
Parent:
7:20db85c1963c
Child:
9:e7e23795cbe4
Updated comments in Interfaces files.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Davidroid 0:4a3d02667d9f 1 /**
Davidroid 0:4a3d02667d9f 2 ******************************************************************************
Davidroid 0:4a3d02667d9f 3 * @file Led_class.h
Davidroid 0:4a3d02667d9f 4 * @author AST
Davidroid 8:ef1936790948 5 * @version V1.0.0
Davidroid 8:ef1936790948 6 * @date April 13th, 2015
Davidroid 7:20db85c1963c 7 * @brief This file contains the abstract class describing the interface of a
Davidroid 7:20db85c1963c 8 * led component.
Davidroid 0:4a3d02667d9f 9 ******************************************************************************
Davidroid 0:4a3d02667d9f 10 * @attention
Davidroid 0:4a3d02667d9f 11 *
Davidroid 0:4a3d02667d9f 12 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
Davidroid 0:4a3d02667d9f 13 *
Davidroid 0:4a3d02667d9f 14 * Redistribution and use in source and binary forms, with or without modification,
Davidroid 0:4a3d02667d9f 15 * are permitted provided that the following conditions are met:
Davidroid 0:4a3d02667d9f 16 * 1. Redistributions of source code must retain the above copyright notice,
Davidroid 0:4a3d02667d9f 17 * this list of conditions and the following disclaimer.
Davidroid 0:4a3d02667d9f 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
Davidroid 0:4a3d02667d9f 19 * this list of conditions and the following disclaimer in the documentation
Davidroid 0:4a3d02667d9f 20 * and/or other materials provided with the distribution.
Davidroid 0:4a3d02667d9f 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Davidroid 0:4a3d02667d9f 22 * may be used to endorse or promote products derived from this software
Davidroid 0:4a3d02667d9f 23 * without specific prior written permission.
Davidroid 0:4a3d02667d9f 24 *
Davidroid 0:4a3d02667d9f 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Davidroid 0:4a3d02667d9f 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Davidroid 0:4a3d02667d9f 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Davidroid 0:4a3d02667d9f 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Davidroid 0:4a3d02667d9f 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Davidroid 0:4a3d02667d9f 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Davidroid 0:4a3d02667d9f 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Davidroid 0:4a3d02667d9f 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Davidroid 0:4a3d02667d9f 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Davidroid 0:4a3d02667d9f 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Davidroid 0:4a3d02667d9f 35 *
Davidroid 0:4a3d02667d9f 36 ******************************************************************************
Davidroid 0:4a3d02667d9f 37 */
Davidroid 0:4a3d02667d9f 38
Davidroid 0:4a3d02667d9f 39
Davidroid 0:4a3d02667d9f 40 /* Generated with Stm32CubeTOO -----------------------------------------------*/
Davidroid 0:4a3d02667d9f 41
Davidroid 0:4a3d02667d9f 42
Davidroid 0:4a3d02667d9f 43 /* Revision ------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 44 /*
Davidroid 0:4a3d02667d9f 45 Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
Davidroid 0:4a3d02667d9f 46 Branch/Trunk/Tag: trunk
Davidroid 0:4a3d02667d9f 47 Based on: X-CUBE-LED1/trunk/Drivers/BSP/Components/Common/led.h
Davidroid 0:4a3d02667d9f 48 Revision: 0
Davidroid 0:4a3d02667d9f 49 */
Davidroid 0:4a3d02667d9f 50
Davidroid 0:4a3d02667d9f 51
Davidroid 7:20db85c1963c 52 /* Define to prevent recursive inclusion -------------------------------------*/
Davidroid 0:4a3d02667d9f 53
Davidroid 0:4a3d02667d9f 54 #ifndef __LED_CLASS_H
Davidroid 0:4a3d02667d9f 55 #define __LED_CLASS_H
Davidroid 0:4a3d02667d9f 56
Davidroid 0:4a3d02667d9f 57
Davidroid 0:4a3d02667d9f 58 /* Includes ------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 59
Davidroid 0:4a3d02667d9f 60 #include <Component_class.h>
Davidroid 0:4a3d02667d9f 61
Davidroid 0:4a3d02667d9f 62
Davidroid 0:4a3d02667d9f 63 /* Classes ------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 64
Davidroid 0:4a3d02667d9f 65 /** An abstract class for Led components.
Davidroid 0:4a3d02667d9f 66 */
Davidroid 0:4a3d02667d9f 67 class Led : public Component
Davidroid 0:4a3d02667d9f 68 {
Davidroid 0:4a3d02667d9f 69 public:
Davidroid 0:4a3d02667d9f 70 /* ACTION 1 --------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 71 * Declare here the interface's methods. *
Davidroid 0:4a3d02667d9f 72 * They should be: *
Davidroid 0:4a3d02667d9f 73 * + Methods with the same name of the C component's virtual table *
Davidroid 0:4a3d02667d9f 74 * (and extended virtual table, if any)'s functions, provided that *
Davidroid 0:4a3d02667d9f 75 * the component's driver implements them (i.e.: the corresponding *
Davidroid 0:4a3d02667d9f 76 * pointer to function is not "0"). *
Davidroid 0:4a3d02667d9f 77 * *
Davidroid 0:4a3d02667d9f 78 * Example: *
Davidroid 7:20db85c1963c 79 * virtual int GetValue(float *f) = 0; *
Davidroid 0:4a3d02667d9f 80 *------------------------------------------------------------------------*/
Davidroid 2:a270bdb62fc8 81 /**
Davidroid 2:a270bdb62fc8 82 * @brief Getting the current flowing through the LED.
Davidroid 2:a270bdb62fc8 83 * @param None.
Davidroid 2:a270bdb62fc8 84 * @retval The current flowing through the LED, represented as a floating
Davidroid 2:a270bdb62fc8 85 * point number in the range [0.0, 1.0].
Davidroid 2:a270bdb62fc8 86 */
Davidroid 2:a270bdb62fc8 87 virtual float GetCurrent(void) = 0;
Davidroid 2:a270bdb62fc8 88
Davidroid 2:a270bdb62fc8 89 /**
Davidroid 2:a270bdb62fc8 90 * @brief Setting PWM dimming value.
Davidroid 2:a270bdb62fc8 91 * @param dimming PWM dimming value.
Davidroid 2:a270bdb62fc8 92 * @retval None.
Davidroid 2:a270bdb62fc8 93 */
Davidroid 2:a270bdb62fc8 94 virtual void SetPWMDimming(float dimming) = 0;
Davidroid 2:a270bdb62fc8 95
Davidroid 2:a270bdb62fc8 96 /**
Davidroid 2:a270bdb62fc8 97 * @brief Setting Analog dimming value.
Davidroid 2:a270bdb62fc8 98 * @param dimming Analog dimming value.
Davidroid 2:a270bdb62fc8 99 * @retval None.
Davidroid 2:a270bdb62fc8 100 */
Davidroid 2:a270bdb62fc8 101 virtual void SetAnalogDimming(float dimming) = 0;
Davidroid 0:4a3d02667d9f 102 };
Davidroid 0:4a3d02667d9f 103
Davidroid 0:4a3d02667d9f 104 #endif /* __LED_CLASS_H */
Davidroid 0:4a3d02667d9f 105
Davidroid 7:20db85c1963c 106 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/