Library thread Blink Led or other processes use RTOS
Fork of BlinkLed by
Example
https://developer.mbed.org/users/AVELARDEV/code/LedsThreading/
BlinkLed.h@2:1d0c09c1a8b4, 2012-12-24 (annotated)
- Committer:
- togayan
- Date:
- Mon Dec 24 06:38:42 2012 +0000
- Revision:
- 2:1d0c09c1a8b4
- Parent:
- 0:a55a3351317d
- Child:
- 3:f317d057edde
Add "isBlinking()" method.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
togayan | 0:a55a3351317d | 1 | /* BlinkLed.h */ |
togayan | 0:a55a3351317d | 2 | #ifndef BLINKLED_H_ |
togayan | 0:a55a3351317d | 3 | #define BLINKLED_H_ |
togayan | 0:a55a3351317d | 4 | |
togayan | 0:a55a3351317d | 5 | #include "mbed.h" |
togayan | 0:a55a3351317d | 6 | #include "rtos.h" |
togayan | 0:a55a3351317d | 7 | |
togayan | 0:a55a3351317d | 8 | /** LED which blinks automatically with RTOS |
togayan | 0:a55a3351317d | 9 | */ |
togayan | 0:a55a3351317d | 10 | class BlinkLed |
togayan | 0:a55a3351317d | 11 | { |
togayan | 0:a55a3351317d | 12 | public: |
togayan | 0:a55a3351317d | 13 | /** Constructor |
togayan | 0:a55a3351317d | 14 | */ |
togayan | 0:a55a3351317d | 15 | BlinkLed(PinName pin, float dutyChangeStep); |
togayan | 0:a55a3351317d | 16 | |
togayan | 0:a55a3351317d | 17 | /** Destructor |
togayan | 0:a55a3351317d | 18 | */ |
togayan | 0:a55a3351317d | 19 | ~BlinkLed(); |
togayan | 0:a55a3351317d | 20 | |
togayan | 0:a55a3351317d | 21 | /** Start biinking |
togayan | 0:a55a3351317d | 22 | */ |
togayan | 0:a55a3351317d | 23 | void startBlink(); |
togayan | 0:a55a3351317d | 24 | |
togayan | 0:a55a3351317d | 25 | /** Finish biinking |
togayan | 0:a55a3351317d | 26 | */ |
togayan | 0:a55a3351317d | 27 | void finishBlink(); |
togayan | 2:1d0c09c1a8b4 | 28 | |
togayan | 2:1d0c09c1a8b4 | 29 | /** Check biinking |
togayan | 2:1d0c09c1a8b4 | 30 | */ |
togayan | 2:1d0c09c1a8b4 | 31 | bool isBlinking(); |
togayan | 0:a55a3351317d | 32 | |
togayan | 0:a55a3351317d | 33 | private: |
togayan | 0:a55a3351317d | 34 | /** Copy constructor |
togayan | 0:a55a3351317d | 35 | * Disable because it is only declaration |
togayan | 0:a55a3351317d | 36 | */ |
togayan | 0:a55a3351317d | 37 | BlinkLed(const BlinkLed&); |
togayan | 0:a55a3351317d | 38 | |
togayan | 0:a55a3351317d | 39 | /** Copy assignment operators |
togayan | 0:a55a3351317d | 40 | * Disable because it is only declaration |
togayan | 0:a55a3351317d | 41 | */ |
togayan | 0:a55a3351317d | 42 | BlinkLed& operator=(const BlinkLed&); |
togayan | 0:a55a3351317d | 43 | |
togayan | 0:a55a3351317d | 44 | /** Function for blinking |
togayan | 0:a55a3351317d | 45 | * This function will be bind to new thread |
togayan | 0:a55a3351317d | 46 | */ |
togayan | 0:a55a3351317d | 47 | static void blink(void const *argument); |
togayan | 0:a55a3351317d | 48 | |
togayan | 0:a55a3351317d | 49 | /** Target Led |
togayan | 0:a55a3351317d | 50 | */ |
togayan | 0:a55a3351317d | 51 | PwmOut led; |
togayan | 0:a55a3351317d | 52 | |
togayan | 0:a55a3351317d | 53 | /** Duty ratio step of changing every 20ms |
togayan | 0:a55a3351317d | 54 | */ |
togayan | 0:a55a3351317d | 55 | float dutyChangeStep; |
togayan | 0:a55a3351317d | 56 | |
togayan | 0:a55a3351317d | 57 | /** Flag of pause |
togayan | 0:a55a3351317d | 58 | */ |
togayan | 0:a55a3351317d | 59 | bool pause; |
togayan | 0:a55a3351317d | 60 | |
togayan | 0:a55a3351317d | 61 | /** Pointer to thread for blinking |
togayan | 0:a55a3351317d | 62 | */ |
togayan | 0:a55a3351317d | 63 | Thread* thread; |
togayan | 0:a55a3351317d | 64 | }; |
togayan | 0:a55a3351317d | 65 | |
togayan | 0:a55a3351317d | 66 | #endif /* BLINKLED_H_ */ |