mbed library for STMicroelectronics' X-NUCLEO-IKA01A1 expansion board.

Dependents:   HelloWorld_IKA01A1

Fork of X_NUCLEO_IKA01A1 by ST Expansion SW Team

Library for STMicroelectronics' X-NUCLEO-IKA01A1 multifunctional expansion board based on operational amplifiers.

Files at this revision

API Documentation at this revision

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

Components/Common/led_driver.h Show annotated file Show diff for this revision Revisions of this file
Components/Interfaces/Led_driver_class.h Show annotated file Show diff for this revision Revisions of this file
Components/tsv734/tsv734_class.h Show annotated file Show diff for this revision Revisions of this file
x_nucleo_ika01a1_class.cpp Show annotated file Show diff for this revision Revisions of this file
x_nucleo_ika01a1_class.h Show annotated file Show diff for this revision Revisions of this file
--- 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 ***/