Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
ledlib.h@0:f2dd1916acde, 2020-07-08 (annotated)
- Committer:
- robarzangana
- Date:
- Wed Jul 08 10:59:04 2020 +0000
- Revision:
- 0:f2dd1916acde
laboration 3
Who changed what in which revision?
| User | Revision | Line number | New 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 |