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:
Thu Dec 10 15:32:20 2015 +0000
Revision:
0:4a3d02667d9f
Child:
1:eab47c592e8f
Library to handle the X-NUCLEO-LED61A1 LED Control Expansion Board based on the LED6001 component.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Davidroid 0:4a3d02667d9f 1 /**
Davidroid 0:4a3d02667d9f 2 ******************************************************************************
Davidroid 0:4a3d02667d9f 3 * @file led6001_class.h
Davidroid 0:4a3d02667d9f 4 * @author Davide Aliprandi, STMicrolectronics
Davidroid 0:4a3d02667d9f 5 * @version V1.0.0
Davidroid 0:4a3d02667d9f 6 * @date December 9th, 2015
Davidroid 0:4a3d02667d9f 7 * @brief This file contains the class of an LED6001 component.
Davidroid 0:4a3d02667d9f 8 ******************************************************************************
Davidroid 0:4a3d02667d9f 9 * @attention
Davidroid 0:4a3d02667d9f 10 *
Davidroid 0:4a3d02667d9f 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
Davidroid 0:4a3d02667d9f 12 *
Davidroid 0:4a3d02667d9f 13 * Redistribution and use in source and binary forms, with or without modification,
Davidroid 0:4a3d02667d9f 14 * are permitted provided that the following conditions are met:
Davidroid 0:4a3d02667d9f 15 * 1. Redistributions of source code must retain the above copyright notice,
Davidroid 0:4a3d02667d9f 16 * this list of conditions and the following disclaimer.
Davidroid 0:4a3d02667d9f 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Davidroid 0:4a3d02667d9f 18 * this list of conditions and the following disclaimer in the documentation
Davidroid 0:4a3d02667d9f 19 * and/or other materials provided with the distribution.
Davidroid 0:4a3d02667d9f 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Davidroid 0:4a3d02667d9f 21 * may be used to endorse or promote products derived from this software
Davidroid 0:4a3d02667d9f 22 * without specific prior written permission.
Davidroid 0:4a3d02667d9f 23 *
Davidroid 0:4a3d02667d9f 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Davidroid 0:4a3d02667d9f 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Davidroid 0:4a3d02667d9f 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Davidroid 0:4a3d02667d9f 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Davidroid 0:4a3d02667d9f 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Davidroid 0:4a3d02667d9f 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Davidroid 0:4a3d02667d9f 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Davidroid 0:4a3d02667d9f 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Davidroid 0:4a3d02667d9f 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Davidroid 0:4a3d02667d9f 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Davidroid 0:4a3d02667d9f 34 *
Davidroid 0:4a3d02667d9f 35 ******************************************************************************
Davidroid 0:4a3d02667d9f 36 */
Davidroid 0:4a3d02667d9f 37
Davidroid 0:4a3d02667d9f 38
Davidroid 0:4a3d02667d9f 39 /* Generated with Stm32CubeTOO -----------------------------------------------*/
Davidroid 0:4a3d02667d9f 40
Davidroid 0:4a3d02667d9f 41
Davidroid 0:4a3d02667d9f 42 /* Revision ------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 43 /*
Davidroid 0:4a3d02667d9f 44 Repository: http://svn.x-nucleodev.codex.cro.st.com/svnroot/X-NucleoDev
Davidroid 0:4a3d02667d9f 45 Branch/Trunk/Tag: trunk
Davidroid 0:4a3d02667d9f 46 Based on: X-CUBE-LED1/trunk/Drivers/BSP/Components/led6001/led6001.h
Davidroid 0:4a3d02667d9f 47 Revision: 0
Davidroid 0:4a3d02667d9f 48 */
Davidroid 0:4a3d02667d9f 49
Davidroid 0:4a3d02667d9f 50
Davidroid 0:4a3d02667d9f 51 /* Define to prevent recursive inclusion -------------------------------------*/
Davidroid 0:4a3d02667d9f 52
Davidroid 0:4a3d02667d9f 53 #ifndef __LED6001_CLASS_H
Davidroid 0:4a3d02667d9f 54 #define __LED6001_CLASS_H
Davidroid 0:4a3d02667d9f 55
Davidroid 0:4a3d02667d9f 56
Davidroid 0:4a3d02667d9f 57 /* Includes ------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 58
Davidroid 0:4a3d02667d9f 59 /* ACTION 1 ------------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 60 * Include here platform specific header files. *
Davidroid 0:4a3d02667d9f 61 *----------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 62 #include "mbed.h"
Davidroid 0:4a3d02667d9f 63 #include "DevI2C.h"
Davidroid 0:4a3d02667d9f 64 /* ACTION 2 ------------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 65 * Include here component specific header files. *
Davidroid 0:4a3d02667d9f 66 *----------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 67 #include "led6001.h"
Davidroid 0:4a3d02667d9f 68 /* ACTION 3 ------------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 69 * Include here interface specific header files. *
Davidroid 0:4a3d02667d9f 70 * *
Davidroid 0:4a3d02667d9f 71 * Example: *
Davidroid 0:4a3d02667d9f 72 * #include "../Interfaces/Humidity_class.h" *
Davidroid 0:4a3d02667d9f 73 * #include "../Interfaces/Temperature_class.h" *
Davidroid 0:4a3d02667d9f 74 *----------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 75 #include "../Interfaces/Led_class.h"
Davidroid 0:4a3d02667d9f 76
Davidroid 0:4a3d02667d9f 77
Davidroid 0:4a3d02667d9f 78 /* Classes -------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 79
Davidroid 0:4a3d02667d9f 80 /**
Davidroid 0:4a3d02667d9f 81 * @brief Class representing a LED6001 component.
Davidroid 0:4a3d02667d9f 82 */
Davidroid 0:4a3d02667d9f 83 class LED6001 : public Led
Davidroid 0:4a3d02667d9f 84 {
Davidroid 0:4a3d02667d9f 85 public:
Davidroid 0:4a3d02667d9f 86
Davidroid 0:4a3d02667d9f 87 /*** Constructor and Destructor Methods ***/
Davidroid 0:4a3d02667d9f 88
Davidroid 0:4a3d02667d9f 89 /**
Davidroid 0:4a3d02667d9f 90 * @brief Constructor.
Davidroid 0:4a3d02667d9f 91 * @param address I2C address of the component.
Davidroid 0:4a3d02667d9f 92 * @param i2c I2C device to be used for communication.
Davidroid 0:4a3d02667d9f 93 */
Davidroid 0:4a3d02667d9f 94 LED6001(uint8_t address, DevI2C &i2c) : Led(), address(address), dev_i2c(i2c)
Davidroid 0:4a3d02667d9f 95 {
Davidroid 0:4a3d02667d9f 96 /* ACTION 4 ----------------------------------------------------------*
Davidroid 0:4a3d02667d9f 97 * Initialize here the component's member variables, one variable per *
Davidroid 0:4a3d02667d9f 98 * line. *
Davidroid 0:4a3d02667d9f 99 * *
Davidroid 0:4a3d02667d9f 100 * Example: *
Davidroid 0:4a3d02667d9f 101 * measure = 0; *
Davidroid 0:4a3d02667d9f 102 * instance_id = number_of_instances++; *
Davidroid 0:4a3d02667d9f 103 *--------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 104 }
Davidroid 0:4a3d02667d9f 105
Davidroid 0:4a3d02667d9f 106 /**
Davidroid 0:4a3d02667d9f 107 * @brief Destructor.
Davidroid 0:4a3d02667d9f 108 */
Davidroid 0:4a3d02667d9f 109 virtual ~LED6001(void) {}
Davidroid 0:4a3d02667d9f 110
Davidroid 0:4a3d02667d9f 111
Davidroid 0:4a3d02667d9f 112 /*** Public Component Related Methods ***/
Davidroid 0:4a3d02667d9f 113
Davidroid 0:4a3d02667d9f 114 /* ACTION 5 --------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 115 * Implement here the component's public methods, as wrappers of the C *
Davidroid 0:4a3d02667d9f 116 * component's functions. *
Davidroid 0:4a3d02667d9f 117 * They should be: *
Davidroid 0:4a3d02667d9f 118 * + Methods with the same name of the C component's virtual table's *
Davidroid 0:4a3d02667d9f 119 * functions (1); *
Davidroid 0:4a3d02667d9f 120 * + Methods with the same name of the C component's extended virtual *
Davidroid 0:4a3d02667d9f 121 * table's functions, if any (2). *
Davidroid 0:4a3d02667d9f 122 * *
Davidroid 0:4a3d02667d9f 123 * Example: *
Davidroid 0:4a3d02667d9f 124 * virtual int GetValue(float *pData) //(1) *
Davidroid 0:4a3d02667d9f 125 * { *
Davidroid 0:4a3d02667d9f 126 * return COMPONENT_GetValue(float *pfData); *
Davidroid 0:4a3d02667d9f 127 * } *
Davidroid 0:4a3d02667d9f 128 * *
Davidroid 0:4a3d02667d9f 129 * virtual int EnableFeature(void) //(2) *
Davidroid 0:4a3d02667d9f 130 * { *
Davidroid 0:4a3d02667d9f 131 * return COMPONENT_EnableFeature(); *
Davidroid 0:4a3d02667d9f 132 * } *
Davidroid 0:4a3d02667d9f 133 *------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 134 /**
Davidroid 0:4a3d02667d9f 135 * @brief Initializing the component.
Davidroid 0:4a3d02667d9f 136 * @param init Configuration settings for the LED6001 component.
Davidroid 0:4a3d02667d9f 137 * @retval COMPONENT_OK in case of success, an error code otherwise.
Davidroid 0:4a3d02667d9f 138 */
Davidroid 0:4a3d02667d9f 139 virtual int Init(void *init)
Davidroid 0:4a3d02667d9f 140 {
Davidroid 0:4a3d02667d9f 141 return (int) LED6001_Init((void *) init);
Davidroid 0:4a3d02667d9f 142 }
Davidroid 0:4a3d02667d9f 143
Davidroid 0:4a3d02667d9f 144 /**
Davidroid 0:4a3d02667d9f 145 * @brief Deinitializing the component.
Davidroid 0:4a3d02667d9f 146 * @param None.
Davidroid 0:4a3d02667d9f 147 * @retval None.
Davidroid 0:4a3d02667d9f 148 */
Davidroid 0:4a3d02667d9f 149 virtual void DeInit(void)
Davidroid 0:4a3d02667d9f 150 {
Davidroid 0:4a3d02667d9f 151 LED6001_DeInit();
Davidroid 0:4a3d02667d9f 152 }
Davidroid 0:4a3d02667d9f 153
Davidroid 0:4a3d02667d9f 154 /**
Davidroid 0:4a3d02667d9f 155 * @brief Setting PWM dim value.
Davidroid 0:4a3d02667d9f 156 * @param value PWM dim value.
Davidroid 0:4a3d02667d9f 157 * @retval None.
Davidroid 0:4a3d02667d9f 158 */
Davidroid 0:4a3d02667d9f 159 virtual void SetPwmDim(uint8_t)
Davidroid 0:4a3d02667d9f 160 {
Davidroid 0:4a3d02667d9f 161 LED6001_SetPwmDim(() uint8_t);
Davidroid 0:4a3d02667d9f 162 }
Davidroid 0:4a3d02667d9f 163
Davidroid 0:4a3d02667d9f 164 /**
Davidroid 0:4a3d02667d9f 165 * @brief Setting analog dim value.
Davidroid 0:4a3d02667d9f 166 * @param value Analog dim value.
Davidroid 0:4a3d02667d9f 167 * @retval None.
Davidroid 0:4a3d02667d9f 168 */
Davidroid 0:4a3d02667d9f 169 virtual void SetAnaDim(uint8_t)
Davidroid 0:4a3d02667d9f 170 {
Davidroid 0:4a3d02667d9f 171 LED6001_SetAnaDim(() uint8_t);
Davidroid 0:4a3d02667d9f 172 }
Davidroid 0:4a3d02667d9f 173
Davidroid 0:4a3d02667d9f 174 /**
Davidroid 0:4a3d02667d9f 175 * @brief Returning fault status of the component.
Davidroid 0:4a3d02667d9f 176 * @param None.
Davidroid 0:4a3d02667d9f 177 * @retval Fault status.
Davidroid 0:4a3d02667d9f 178 */
Davidroid 0:4a3d02667d9f 179 virtual int FaultStatus(void)
Davidroid 0:4a3d02667d9f 180 {
Davidroid 0:4a3d02667d9f 181 return (int) LED6001_FaultStatus();
Davidroid 0:4a3d02667d9f 182 }
Davidroid 0:4a3d02667d9f 183
Davidroid 0:4a3d02667d9f 184
Davidroid 0:4a3d02667d9f 185 /*** Public Interrupt Related Methods ***/
Davidroid 0:4a3d02667d9f 186
Davidroid 0:4a3d02667d9f 187 /* ACTION 6 --------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 188 * Implement here interrupt related methods, if any. *
Davidroid 0:4a3d02667d9f 189 * Note that interrupt handling is platform dependent, e.g.: *
Davidroid 0:4a3d02667d9f 190 * + mbed: *
Davidroid 0:4a3d02667d9f 191 * InterruptIn feature_irq(pin); //Interrupt object. *
Davidroid 0:4a3d02667d9f 192 * feature_irq.rise(callback); //Attach a callback. *
Davidroid 0:4a3d02667d9f 193 * feature_irq.mode(PullNone); //Set interrupt mode. *
Davidroid 0:4a3d02667d9f 194 * feature_irq.enable_irq(); //Enable interrupt. *
Davidroid 0:4a3d02667d9f 195 * feature_irq.disable_irq(); //Disable interrupt. *
Davidroid 0:4a3d02667d9f 196 * + Arduino: *
Davidroid 0:4a3d02667d9f 197 * attachInterrupt(pin, callback, RISING); //Attach a callback. *
Davidroid 0:4a3d02667d9f 198 * detachInterrupt(pin); //Detach a callback. *
Davidroid 0:4a3d02667d9f 199 * *
Davidroid 0:4a3d02667d9f 200 * Example (mbed): *
Davidroid 0:4a3d02667d9f 201 * void AttachFeatureIRQ(void (*fptr) (void)) *
Davidroid 0:4a3d02667d9f 202 * { *
Davidroid 0:4a3d02667d9f 203 * feature_irq.rise(fptr); *
Davidroid 0:4a3d02667d9f 204 * } *
Davidroid 0:4a3d02667d9f 205 * *
Davidroid 0:4a3d02667d9f 206 * void EnableFeatureIRQ(void) *
Davidroid 0:4a3d02667d9f 207 * { *
Davidroid 0:4a3d02667d9f 208 * feature_irq.enable_irq(); *
Davidroid 0:4a3d02667d9f 209 * } *
Davidroid 0:4a3d02667d9f 210 * *
Davidroid 0:4a3d02667d9f 211 * void DisableFeatureIRQ(void) *
Davidroid 0:4a3d02667d9f 212 * { *
Davidroid 0:4a3d02667d9f 213 * feature_irq.disable_irq(); *
Davidroid 0:4a3d02667d9f 214 * } *
Davidroid 0:4a3d02667d9f 215 *------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 216
Davidroid 0:4a3d02667d9f 217
Davidroid 0:4a3d02667d9f 218 protected:
Davidroid 0:4a3d02667d9f 219
Davidroid 0:4a3d02667d9f 220 /*** Protected Component Related Methods ***/
Davidroid 0:4a3d02667d9f 221
Davidroid 0:4a3d02667d9f 222 /* ACTION 7 --------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 223 * Declare here the component's specific methods. *
Davidroid 0:4a3d02667d9f 224 * They should be: *
Davidroid 0:4a3d02667d9f 225 * + Methods with the same name of the C component's virtual table's *
Davidroid 0:4a3d02667d9f 226 * functions (1); *
Davidroid 0:4a3d02667d9f 227 * + Methods with the same name of the C component's extended virtual *
Davidroid 0:4a3d02667d9f 228 * table's functions, if any (2); *
Davidroid 0:4a3d02667d9f 229 * + Helper methods, if any, like functions declared in the component's *
Davidroid 0:4a3d02667d9f 230 * source files but not pointed by the component's virtual table (3). *
Davidroid 0:4a3d02667d9f 231 * *
Davidroid 0:4a3d02667d9f 232 * Example: *
Davidroid 0:4a3d02667d9f 233 * DrvStatusTypeDef COMPONENT_GetValue(float* pfData); //(1) *
Davidroid 0:4a3d02667d9f 234 * DrvStatusTypeDef COMPONENT_EnableFeature(void); //(2) *
Davidroid 0:4a3d02667d9f 235 * DrvStatusTypeDef COMPONENT_ComputeAverage(void); //(3) *
Davidroid 0:4a3d02667d9f 236 *------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 237 LED_StatusTypeDef LED6001_Init(LED_InitTypeDef *init);
Davidroid 0:4a3d02667d9f 238 void LED6001_DeInit(void);
Davidroid 0:4a3d02667d9f 239 void LED6001_SetPwmDim(uint8_t PwmVal);
Davidroid 0:4a3d02667d9f 240 void LED6001_SetAnaDim(uint8_t PwmVal);
Davidroid 0:4a3d02667d9f 241 LED_StatusTypeDef LED6001_FaultStatus(void);
Davidroid 0:4a3d02667d9f 242
Davidroid 0:4a3d02667d9f 243
Davidroid 0:4a3d02667d9f 244 /*** Component's I/O Methods ***/
Davidroid 0:4a3d02667d9f 245
Davidroid 0:4a3d02667d9f 246 /**
Davidroid 0:4a3d02667d9f 247 * @brief Utility function to read data from LED6001.
Davidroid 0:4a3d02667d9f 248 * @param[out] pBuffer pointer to the buffer to read data into.
Davidroid 0:4a3d02667d9f 249 * @param[in] RegisterAddr specifies the internal address register to read from.
Davidroid 0:4a3d02667d9f 250 * @param[in] NumBytesToRead number of bytes to read.
Davidroid 0:4a3d02667d9f 251 * @retval COMPONENT_OK in case of success, COMPONENT_ERROR otherwise.
Davidroid 0:4a3d02667d9f 252 */
Davidroid 0:4a3d02667d9f 253 DrvStatusTypeDef Read(uint8_t* pBuffer, uint8_t RegisterAddr, uint16_t NumBytesToRead)
Davidroid 0:4a3d02667d9f 254 {
Davidroid 0:4a3d02667d9f 255 if (dev_i2c.i2c_read(pBuffer, address, RegisterAddr, NumBytesToRead) != 0)
Davidroid 0:4a3d02667d9f 256 return COMPONENT_ERROR;
Davidroid 0:4a3d02667d9f 257 return COMPONENT_OK;
Davidroid 0:4a3d02667d9f 258 }
Davidroid 0:4a3d02667d9f 259
Davidroid 0:4a3d02667d9f 260 /**
Davidroid 0:4a3d02667d9f 261 * @brief Utility function to write data to LED6001.
Davidroid 0:4a3d02667d9f 262 * @param[in] pBuffer pointer to the buffer of data to send.
Davidroid 0:4a3d02667d9f 263 * @param[in] RegisterAddr specifies the internal address register to write to.
Davidroid 0:4a3d02667d9f 264 * @param[in] NumBytesToWrite number of bytes to write.
Davidroid 0:4a3d02667d9f 265 * @retval COMPONENT_OK in case of success, COMPONENT_ERROR otherwise.
Davidroid 0:4a3d02667d9f 266 */
Davidroid 0:4a3d02667d9f 267 DrvStatusTypeDef Write(uint8_t* pBuffer, uint8_t RegisterAddr, uint16_t NumBytesToWrite)
Davidroid 0:4a3d02667d9f 268 {
Davidroid 0:4a3d02667d9f 269 if (dev_i2c.i2c_write(pBuffer, address, RegisterAddr, NumBytesToWrite) != 0)
Davidroid 0:4a3d02667d9f 270 return COMPONENT_ERROR;
Davidroid 0:4a3d02667d9f 271 return COMPONENT_OK;
Davidroid 0:4a3d02667d9f 272 }
Davidroid 0:4a3d02667d9f 273
Davidroid 0:4a3d02667d9f 274 /* ACTION 8 --------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 275 * Implement here other I/O methods beyond those already implemented *
Davidroid 0:4a3d02667d9f 276 * above, which are declared extern within the component's header file. *
Davidroid 0:4a3d02667d9f 277 *------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 278 DrvStatusTypeDef LED6001_IO_Init(void)
Davidroid 0:4a3d02667d9f 279 {
Davidroid 0:4a3d02667d9f 280 /* TO BE IMPLEMENTED BY USING TARGET PLATFORM'S APIs. */
Davidroid 0:4a3d02667d9f 281 return (DrvStatusTypeDef) 0;
Davidroid 0:4a3d02667d9f 282 }
Davidroid 0:4a3d02667d9f 283
Davidroid 0:4a3d02667d9f 284 void LED6001_IO_DeInit(void)
Davidroid 0:4a3d02667d9f 285 {
Davidroid 0:4a3d02667d9f 286 /* TO BE IMPLEMENTED BY USING TARGET PLATFORM'S APIs. */
Davidroid 0:4a3d02667d9f 287 }
Davidroid 0:4a3d02667d9f 288
Davidroid 0:4a3d02667d9f 289 void LED6001_IO_ITConfig(void)
Davidroid 0:4a3d02667d9f 290 {
Davidroid 0:4a3d02667d9f 291 /* TO BE IMPLEMENTED BY USING TARGET PLATFORM'S APIs. */
Davidroid 0:4a3d02667d9f 292 }
Davidroid 0:4a3d02667d9f 293
Davidroid 0:4a3d02667d9f 294 void LED6001_SetPdimTimer(uint8_t PwmVal)
Davidroid 0:4a3d02667d9f 295 {
Davidroid 0:4a3d02667d9f 296 /* TO BE IMPLEMENTED BY USING TARGET PLATFORM'S APIs. */
Davidroid 0:4a3d02667d9f 297 }
Davidroid 0:4a3d02667d9f 298
Davidroid 0:4a3d02667d9f 299 void LED6001_SetAdimTimer(uint8_t PwmVal)
Davidroid 0:4a3d02667d9f 300 {
Davidroid 0:4a3d02667d9f 301 /* TO BE IMPLEMENTED BY USING TARGET PLATFORM'S APIs. */
Davidroid 0:4a3d02667d9f 302 }
Davidroid 0:4a3d02667d9f 303
Davidroid 0:4a3d02667d9f 304
Davidroid 0:4a3d02667d9f 305 /*** Component's Instance Variables ***/
Davidroid 0:4a3d02667d9f 306
Davidroid 0:4a3d02667d9f 307 /* ACTION 9 --------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 308 * Declare here interrupt related variables, if needed. *
Davidroid 0:4a3d02667d9f 309 * Note that interrupt handling is platform dependent, see *
Davidroid 0:4a3d02667d9f 310 * "Interrupt Related Methods" above. *
Davidroid 0:4a3d02667d9f 311 * *
Davidroid 0:4a3d02667d9f 312 * Example: *
Davidroid 0:4a3d02667d9f 313 * + mbed: *
Davidroid 0:4a3d02667d9f 314 * InterruptIn feature_irq; *
Davidroid 0:4a3d02667d9f 315 *------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 316
Davidroid 0:4a3d02667d9f 317 /* ACTION 10 -------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 318 * Declare here other pin related variables, if needed. *
Davidroid 0:4a3d02667d9f 319 * *
Davidroid 0:4a3d02667d9f 320 * Example: *
Davidroid 0:4a3d02667d9f 321 * + mbed: *
Davidroid 0:4a3d02667d9f 322 * DigitalOut standby_reset; *
Davidroid 0:4a3d02667d9f 323 *------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 324
Davidroid 0:4a3d02667d9f 325 /* ACTION 11 -------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 326 * Declare here communication related variables, if needed. *
Davidroid 0:4a3d02667d9f 327 * *
Davidroid 0:4a3d02667d9f 328 * Example: *
Davidroid 0:4a3d02667d9f 329 * + mbed: *
Davidroid 0:4a3d02667d9f 330 * DigitalOut address; *
Davidroid 0:4a3d02667d9f 331 * DevI2C &dev_i2c; *
Davidroid 0:4a3d02667d9f 332 *------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 333 /* Configuration. */
Davidroid 0:4a3d02667d9f 334 DigitalOut address;
Davidroid 0:4a3d02667d9f 335
Davidroid 0:4a3d02667d9f 336 /* IO Device. */
Davidroid 0:4a3d02667d9f 337 DevI2C &dev_i2c;
Davidroid 0:4a3d02667d9f 338
Davidroid 0:4a3d02667d9f 339 /* ACTION 12 -------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 340 * Declare here identity related variables, if needed. *
Davidroid 0:4a3d02667d9f 341 * Note that there should be only a unique identifier for each component, *
Davidroid 0:4a3d02667d9f 342 * which should be the "who_am_i" parameter. *
Davidroid 0:4a3d02667d9f 343 *------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 344 /* Identity */
Davidroid 0:4a3d02667d9f 345 uint8_t who_am_i;
Davidroid 0:4a3d02667d9f 346
Davidroid 0:4a3d02667d9f 347 /* ACTION 13 -------------------------------------------------------------*
Davidroid 0:4a3d02667d9f 348 * Declare here the component's static and non-static data, one variable *
Davidroid 0:4a3d02667d9f 349 * per line. *
Davidroid 0:4a3d02667d9f 350 * *
Davidroid 0:4a3d02667d9f 351 * Example: *
Davidroid 0:4a3d02667d9f 352 * float measure; *
Davidroid 0:4a3d02667d9f 353 * int instance_id; *
Davidroid 0:4a3d02667d9f 354 * static int number_of_instances; *
Davidroid 0:4a3d02667d9f 355 *------------------------------------------------------------------------*/
Davidroid 0:4a3d02667d9f 356 };
Davidroid 0:4a3d02667d9f 357
Davidroid 0:4a3d02667d9f 358 #endif // __LED6001_CLASS_H
Davidroid 0:4a3d02667d9f 359
Davidroid 0:4a3d02667d9f 360 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/