Display text on LCD displays (even on multiple ones). Allow to create windows (frames) on display, and to combine them (split, add, duplicate, scroll). See http://mbed.org/users/hlipka/notebook/lcdwindow/ for more information.
semaphore.h@3:e5d5e2fe4bf6, 2010-11-28 (annotated)
- Committer:
- hlipka
- Date:
- Sun Nov 28 22:09:54 2010 +0000
- Revision:
- 3:e5d5e2fe4bf6
- Child:
- 9:2fe93daa2106
Made LCD driver thread safe (to allow usage from timers)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hlipka | 3:e5d5e2fe4bf6 | 1 | /** |
hlipka | 3:e5d5e2fe4bf6 | 2 | * code from Igor Skochinsky |
hlipka | 3:e5d5e2fe4bf6 | 3 | * taken from http://mbed.org/forum/mbed/post/799/ |
hlipka | 3:e5d5e2fe4bf6 | 4 | */ |
hlipka | 3:e5d5e2fe4bf6 | 5 | |
hlipka | 3:e5d5e2fe4bf6 | 6 | #ifndef SEMAPHORE_H_ |
hlipka | 3:e5d5e2fe4bf6 | 7 | #define SEMAPHORE_H_ |
hlipka | 3:e5d5e2fe4bf6 | 8 | |
hlipka | 3:e5d5e2fe4bf6 | 9 | class Semaphore |
hlipka | 3:e5d5e2fe4bf6 | 10 | { |
hlipka | 3:e5d5e2fe4bf6 | 11 | public: |
hlipka | 3:e5d5e2fe4bf6 | 12 | // constructor |
hlipka | 3:e5d5e2fe4bf6 | 13 | Semaphore(); |
hlipka | 3:e5d5e2fe4bf6 | 14 | |
hlipka | 3:e5d5e2fe4bf6 | 15 | // try to take the semaphore and return success |
hlipka | 3:e5d5e2fe4bf6 | 16 | // by default block until succeeded |
hlipka | 3:e5d5e2fe4bf6 | 17 | bool take(bool block = true); |
hlipka | 3:e5d5e2fe4bf6 | 18 | // release the semaphore |
hlipka | 3:e5d5e2fe4bf6 | 19 | void release(); |
hlipka | 3:e5d5e2fe4bf6 | 20 | |
hlipka | 3:e5d5e2fe4bf6 | 21 | private: |
hlipka | 3:e5d5e2fe4bf6 | 22 | enum { SemFree, SemTaken }; |
hlipka | 3:e5d5e2fe4bf6 | 23 | // semaphore value |
hlipka | 3:e5d5e2fe4bf6 | 24 | int s; |
hlipka | 3:e5d5e2fe4bf6 | 25 | |
hlipka | 3:e5d5e2fe4bf6 | 26 | }; |
hlipka | 3:e5d5e2fe4bf6 | 27 | |
hlipka | 3:e5d5e2fe4bf6 | 28 | #endif |