Robar Zangana / Mbed 2 deprecated LEDLIB

Dependencies:   mbed

Committer:
robarzangana
Date:
Wed Jul 08 10:59:04 2020 +0000
Revision:
0:f2dd1916acde
laboration 3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
robarzangana 0:f2dd1916acde 1 #ifndef LEDLIB_H
robarzangana 0:f2dd1916acde 2 #define LEDLIB_H
robarzangana 0:f2dd1916acde 3
robarzangana 0:f2dd1916acde 4 #include "mbed.h"
robarzangana 0:f2dd1916acde 5
robarzangana 0:f2dd1916acde 6 /** LED class.
robarzangana 0:f2dd1916acde 7 * Collection of supporrt functions for the second lab in the course ET095G at Mittuniversitetet.
robarzangana 0:f2dd1916acde 8 *
robarzangana 0:f2dd1916acde 9 * To use the library, its header file needs to be included and an object of the LED class created.
robarzangana 0:f2dd1916acde 10 *
robarzangana 0:f2dd1916acde 11 * Example:
robarzangana 0:f2dd1916acde 12 * @code
robarzangana 0:f2dd1916acde 13 * #include "mbed.h"
robarzangana 0:f2dd1916acde 14 * #include "Led.h"
robarzangana 0:f2dd1916acde 15 *
robarzangana 0:f2dd1916acde 16 * LED myled(PF4);
robarzangana 0:f2dd1916acde 17 *
robarzangana 0:f2dd1916acde 18 * int main(){
robarzangana 0:f2dd1916acde 19 * while(1){
robarzangana 0:f2dd1916acde 20 * wait(5);
robarzangana 0:f2dd1916acde 21 * myled.on(); //Turns the led on
robarzangana 0:f2dd1916acde 22 * wait(5);
robarzangana 0:f2dd1916acde 23 * myled.blink(1); //Blinks the led for 0.2 seconds
robarzangana 0:f2dd1916acde 24 * wait(5);
robarzangana 0:f2dd1916acde 25 * myled.toggle(); //Toggles the state of the led (turns it off)
robarzangana 0:f2dd1916acde 26 * }
robarzangana 0:f2dd1916acde 27 * @endcode
robarzangana 0:f2dd1916acde 28 */
robarzangana 0:f2dd1916acde 29
robarzangana 0:f2dd1916acde 30 class LED {
robarzangana 0:f2dd1916acde 31 public:
robarzangana 0:f2dd1916acde 32 /** The constructor creates an instance of the LED class. It is automatically called when a new object is declared.
robarzangana 0:f2dd1916acde 33 * @param PinName pin = (The pin that is used).
robarzangana 0:f2dd1916acde 34 */
robarzangana 0:f2dd1916acde 35 LED(PinName pin);
robarzangana 0:f2dd1916acde 36
robarzangana 0:f2dd1916acde 37 /** This function sets LED0(i.e., turns it on).
robarzangana 0:f2dd1916acde 38 */
robarzangana 0:f2dd1916acde 39 void on();
robarzangana 0:f2dd1916acde 40
robarzangana 0:f2dd1916acde 41 /** This function clears LED0 (i.e., turns it off).
robarzangana 0:f2dd1916acde 42 */
robarzangana 0:f2dd1916acde 43 void off();
robarzangana 0:f2dd1916acde 44
robarzangana 0:f2dd1916acde 45 /** This function toggles LED0 (i.e., it inverts its current state).
robarzangana 0:f2dd1916acde 46 */
robarzangana 0:f2dd1916acde 47 void toggle();
robarzangana 0:f2dd1916acde 48
robarzangana 0:f2dd1916acde 49 /** This function toggles LED0 on and off in an intervall set by the user.
robarzangana 0:f2dd1916acde 50 * @param sec intervall time for led blink in seconds.
robarzangana 0:f2dd1916acde 51 */
robarzangana 0:f2dd1916acde 52 void blink(float sec);
robarzangana 0:f2dd1916acde 53
robarzangana 0:f2dd1916acde 54 private:
robarzangana 0:f2dd1916acde 55 /** LED0 is the lamp on the board
robarzangana 0:f2dd1916acde 56 */
robarzangana 0:f2dd1916acde 57 DigitalOut LED0;
robarzangana 0:f2dd1916acde 58 };
robarzangana 0:f2dd1916acde 59
robarzangana 0:f2dd1916acde 60 #endif