A small library that's provide helpers for programmers

Dependents:   PYRN

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?

UserRevisionLine numberNew 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