mbed library for STMicroelectronics' X-NUCLEO-IKA01A1 expansion board.
Dependents: HelloWorld_IKA01A1
Fork of X_NUCLEO_IKA01A1 by
Library for STMicroelectronics' X-NUCLEO-IKA01A1 multifunctional expansion board based on operational amplifiers.
Revision 19:af35fc938d88, committed 2016-04-11
- Comitter:
- hemddabral
- Date:
- Mon Apr 11 05:50:58 2016 +0000
- Parent:
- 18:25dbc718084c
- Child:
- 20:169bdc228a7b
- Commit message:
- updated LED driver API and implementation
Changed in this revision
--- a/Components/Common/led_driver.h Fri Apr 08 09:22:36 2016 +0000
+++ b/Components/Common/led_driver.h Mon Apr 11 05:50:58 2016 +0000
@@ -109,7 +109,7 @@
* Status_t (*GetValue) (void *handle, float *f); *
*------------------------------------------------------------------------*/
/* Specific */
- Status_t (*SetDutyCycle) (void *handle, float dc);
+ double (*SetDutyCycle) (void *handle, double dc);
} LED_DRIVER_VTable_t;
#ifdef __cplusplus
--- a/Components/Interfaces/Led_driver_class.h Fri Apr 08 09:22:36 2016 +0000 +++ b/Components/Interfaces/Led_driver_class.h Mon Apr 11 05:50:58 2016 +0000 @@ -84,7 +84,7 @@ * @param dc duty cycle to set * @retval duty cycle in LED driver configuration */ - virtual int SetDutyCycle(float dc) = 0; + virtual double SetDutyCycle(double dc) = 0; }; #endif /* __LED_DRIVER_CLASS_H */
--- a/Components/tsv734/tsv734_class.h Fri Apr 08 09:22:36 2016 +0000
+++ b/Components/tsv734/tsv734_class.h Mon Apr 11 05:50:58 2016 +0000
@@ -88,13 +88,13 @@
/**
* @brief Constructor.
*/
- TSV734(PinName ledDriverPin, unsigned int ledDutyCycle_ms) : Led_driver()
+ TSV734(PinName ledDriverPin, double ledPeriod) : Led_driver()
{
led_driver_pin = ledDriverPin;
- period = ledDutyCycle_ms;
+ period_us = ledPeriod;
PwmOut ledOut(led_driver_pin);
- ledOut.period_ms(period);
+ ledOut.period_us(period_us);
}
/**
@@ -130,11 +130,11 @@
* @param dc duty cycle to set
* @retval duty cycle in LED driver configuration
*/
- virtual int SetDutyCycle(float dc)
+ virtual double SetDutyCycle(double dc)
{
PwmOut ledOut(led_driver_pin);
- ledOut.pulsewidth_us(period*dc);
- return (int) dc;
+ ledOut.pulsewidth_us(period_us*dc);
+ return (double) dc;
}
@@ -197,7 +197,7 @@
/* TSV734's interrupts related functions. */
Status_t TSV734_ConfigIT(void* a);
Status_t TSV734_SetDutyCycle(float dutyCycle);
- unsigned int period;
+ double period_us;
PinName led_driver_pin;
--- a/x_nucleo_ika01a1_class.cpp Fri Apr 08 09:22:36 2016 +0000
+++ b/x_nucleo_ika01a1_class.cpp Mon Apr 11 05:50:58 2016 +0000
@@ -63,7 +63,7 @@
* @brief Constructor.
*/
X_NUCLEO_IKA01A1::X_NUCLEO_IKA01A1(PinName photoSensorPin, PinName windCmpSignalPin_1,PinName windCmpSignalPin_2,
- PinName ledDriverPin, unsigned int ledDutyCycle_ms)
+ PinName ledDriverPin, double ledDriverPeriod_us)
{
/* Instantiating the components. */
@@ -76,7 +76,7 @@
*------------------------------------------------------------------------*/
tsz124 = new TSZ124();
tsu104 = new TSU104(photoSensorPin, windCmpSignalPin_1, windCmpSignalPin_2);
- tsv734 = new TSV734(ledDriverPin, ledDutyCycle_ms);
+ tsv734 = new TSV734(ledDriverPin, ledDriverPeriod_us);
}
/**
@@ -84,12 +84,12 @@
* @retval a singleton instance of X_NUCLEO_IKA01A1 class.
*/
X_NUCLEO_IKA01A1 *X_NUCLEO_IKA01A1::Instance(PinName photoSensorPin, PinName windCmpSignalPin_1,PinName windCmpSignalPin_2,
- PinName ledDriverPin, unsigned int ledDutyCycle_ms)
+ PinName ledDriverPin, double ledDriverPeriod_us)
{
if (_instance == NULL)
{
/* Instantiating the board. */
- _instance = new X_NUCLEO_IKA01A1(photoSensorPin, windCmpSignalPin_1, windCmpSignalPin_2, ledDriverPin, ledDutyCycle_ms);
+ _instance = new X_NUCLEO_IKA01A1(photoSensorPin, windCmpSignalPin_1, windCmpSignalPin_2, ledDriverPin, ledDriverPeriod_us);
/* Initializing the components. */
if (!_instance->Init())
--- a/x_nucleo_ika01a1_class.h Fri Apr 08 09:22:36 2016 +0000 +++ b/x_nucleo_ika01a1_class.h Mon Apr 11 05:50:58 2016 +0000 @@ -95,7 +95,7 @@ * @retval a singleton instance of X_NUCLEO_IKA01A1 class. */ static X_NUCLEO_IKA01A1 *Instance(PinName photoSensorPin, PinName windCmpSignalPin_1,PinName windCmpSignalPin_2, - PinName ledDriverPin, unsigned int ledDutyCycle_ms); + PinName ledDriverPin, double ledDriverPeriod_us); /** * @brief Initialize the singleton's operational amplifiers to default settings @@ -134,7 +134,7 @@ * @brief Constructor. */ X_NUCLEO_IKA01A1(PinName photoSensorPin, PinName windCmpSignalPin_1,PinName windCmpSignalPin_2, - PinName ledDriverPin, unsigned int ledDutyCycle_ms); + PinName ledDriverPin, double ledDriverPeriod_us); /*** Protected Expansion Board Related Initialization Methods ***/

X-NUCLEO-IKA01A1 Multifunctional board based on operational amplifiers.