A small library that's provide helpers for programmers
MyThread.h@1:ee7a5f05513d, 2015-02-17 (annotated)
- Committer:
- clemounet
- Date:
- Tue Feb 17 11:55:34 2015 +0000
- Revision:
- 1:ee7a5f05513d
- Parent:
- 0:11d8781f1013
- Child:
- 2:6cc4c56940af
more Things
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
clemounet | 0:11d8781f1013 | 1 | |
clemounet | 0:11d8781f1013 | 2 | #ifndef MYTHREADS_H |
clemounet | 0:11d8781f1013 | 3 | #define MYTHREADS_H |
clemounet | 0:11d8781f1013 | 4 | |
clemounet | 0:11d8781f1013 | 5 | #include "mbed.h" |
clemounet | 0:11d8781f1013 | 6 | #include "rtos.h" |
clemounet | 0:11d8781f1013 | 7 | |
clemounet | 0:11d8781f1013 | 8 | #define ENDSIG 0x01 |
clemounet | 0:11d8781f1013 | 9 | |
clemounet | 1:ee7a5f05513d | 10 | /** MyThread class. |
clemounet | 1:ee7a5f05513d | 11 | * Used to simplify the use of threads. |
clemounet | 1:ee7a5f05513d | 12 | * This is a pure virtual class, subclass it. |
clemounet | 1:ee7a5f05513d | 13 | * Example: |
clemounet | 1:ee7a5f05513d | 14 | * @code |
clemounet | 1:ee7a5f05513d | 15 | * class blinker: public MyThread { |
clemounet | 1:ee7a5f05513d | 16 | * private: |
clemounet | 1:ee7a5f05513d | 17 | * PwmOut *led; |
clemounet | 1:ee7a5f05513d | 18 | * int32_t delay; |
clemounet | 1:ee7a5f05513d | 19 | * public: |
clemounet | 1:ee7a5f05513d | 20 | * blinker(PwmOut *o, int32_t d); |
clemounet | 1:ee7a5f05513d | 21 | * virtual void Main(void); |
clemounet | 1:ee7a5f05513d | 22 | * }; |
clemounet | 1:ee7a5f05513d | 23 | * @endcode |
clemounet | 1:ee7a5f05513d | 24 | */ |
clemounet | 0:11d8781f1013 | 25 | class MyThread{ |
clemounet | 0:11d8781f1013 | 26 | public: |
clemounet | 0:11d8781f1013 | 27 | const char* tName; |
clemounet | 0:11d8781f1013 | 28 | bool running; |
clemounet | 0:11d8781f1013 | 29 | Thread *t; |
clemounet | 0:11d8781f1013 | 30 | MyThread(const char* name); |
clemounet | 0:11d8781f1013 | 31 | virtual ~MyThread(); |
clemounet | 0:11d8781f1013 | 32 | virtual void Start(); |
clemounet | 0:11d8781f1013 | 33 | virtual void Stop(); |
clemounet | 0:11d8781f1013 | 34 | virtual void Run(); |
clemounet | 0:11d8781f1013 | 35 | virtual void Main(void) = 0; |
clemounet | 0:11d8781f1013 | 36 | virtual void Wait(int32_t ms); |
clemounet | 0:11d8781f1013 | 37 | virtual void WaitEnd(); |
clemounet | 0:11d8781f1013 | 38 | }; |
clemounet | 0:11d8781f1013 | 39 | |
clemounet | 0:11d8781f1013 | 40 | #endif |