A small library that's provide helpers for programmers
MyThread.h@4:eef83534b19e, 2015-04-14 (annotated)
- Committer:
- clemounet
- Date:
- Tue Apr 14 13:07:53 2015 +0000
- Revision:
- 4:eef83534b19e
- Parent:
- 2:6cc4c56940af
.add CallBack
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 | 2:6cc4c56940af | 28 | uint32_t stackSize; |
clemounet | 0:11d8781f1013 | 29 | bool running; |
clemounet | 0:11d8781f1013 | 30 | Thread *t; |
clemounet | 2:6cc4c56940af | 31 | |
clemounet | 2:6cc4c56940af | 32 | MyThread(const char* name, uint32_t stack_size = DEFAULT_STACK_SIZE); |
clemounet | 0:11d8781f1013 | 33 | virtual ~MyThread(); |
clemounet | 0:11d8781f1013 | 34 | virtual void Start(); |
clemounet | 0:11d8781f1013 | 35 | virtual void Stop(); |
clemounet | 0:11d8781f1013 | 36 | virtual void Run(); |
clemounet | 0:11d8781f1013 | 37 | virtual void Main(void) = 0; |
clemounet | 0:11d8781f1013 | 38 | virtual void Wait(int32_t ms); |
clemounet | 0:11d8781f1013 | 39 | virtual void WaitEnd(); |
clemounet | 0:11d8781f1013 | 40 | }; |
clemounet | 0:11d8781f1013 | 41 | |
clemounet | 0:11d8781f1013 | 42 | #endif |