School project.

Dependencies:   Timezone NTPClient BSP_DISCO_F746NG Grove_temperature

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers led_functions.h Source File

led_functions.h

Go to the documentation of this file.
00001 /**
00002 @file    led_functions.h
00003 @author  Tu Tri Huynh
00004 @date    January 14, 2021
00005 @brief   Functions to control Grove LED.
00006 */
00007 
00008 /**
00009 This function will use the sensor_value and determine LED blinking rate.
00010 The closer the value is to 0.00f the more frequent it will blink or even completely light up.
00011 @value Float value from the read() function in analog units. Must be between 0 and 1.
00012 1/14/2021
00013 */
00014 void led_set_blink_rate(float value)
00015 {
00016     /// Turn on LED completely (no blinking)
00017     if (value < 0.10f) {
00018         led.period(1.00f);
00019         led.write(1.00f);
00020     }
00021     /// Blink very fast
00022     else if (value >= 0.10f && value < 0.30f) {
00023         led.period(0.13f);
00024         led.write(0.25f);
00025     }
00026     /// Blink fast
00027     else if (value >= 0.30f && value < 0.50f) {
00028         led.period(0.25f);
00029         led.write(0.50f);
00030     }
00031     /// Blink
00032     else if (value >= 0.50f && value < 0.70f) {
00033         led.period(0.50f);
00034         led.write(0.50f);
00035     }
00036     /// Blink slow
00037     else if (value >= 0.70f && value < 0.90f) {
00038         led.period(1.00f);
00039         led.write(0.50f);
00040     }
00041     /// If value is 1.00 turn off LED
00042     else {
00043         led.period(1.00f);
00044         led.write(0.00f);
00045     }
00046     //printf("Blink rate on this value: %0.2f\n", value);
00047 }