A small library that's provide helpers for programmers

Dependents:   PYRN

Committer:
clemounet
Date:
Fri Mar 27 16:48:12 2015 +0000
Revision:
2:6cc4c56940af
Parent:
1:ee7a5f05513d
Child:
4:eef83534b19e
.MyDebug. Add the Debug macros and stuffs that print nice stuff on console; .MyThread. StackSize are customisable

Who changed what in which revision?

UserRevisionLine numberNew contents of line
clemounet 0:11d8781f1013 1
clemounet 1:ee7a5f05513d 2 #include "MyThread.h"
clemounet 1:ee7a5f05513d 3 #include "MyLibc.h"
clemounet 0:11d8781f1013 4
clemounet 2:6cc4c56940af 5 #define __DEBUG__ 5
clemounet 2:6cc4c56940af 6 #ifndef __MODULE__
clemounet 2:6cc4c56940af 7 #define __MODULE__ "MyThread.cpp"
clemounet 2:6cc4c56940af 8 #endif
clemounet 2:6cc4c56940af 9 #include "MyDebug.h"
clemounet 2:6cc4c56940af 10
clemounet 2:6cc4c56940af 11
clemounet 0:11d8781f1013 12 void MainTrampoline(void const *args){
clemounet 0:11d8781f1013 13 MyThread *mt = (MyThread*) args;
clemounet 0:11d8781f1013 14 mt->Main();
clemounet 0:11d8781f1013 15 mt->t->signal_set(ENDSIG);
clemounet 0:11d8781f1013 16 mt->t->terminate();
clemounet 0:11d8781f1013 17 }
clemounet 0:11d8781f1013 18
clemounet 2:6cc4c56940af 19 MyThread::MyThread(const char* name,uint32_t sz){
clemounet 2:6cc4c56940af 20 stackSize = sz;
clemounet 1:ee7a5f05513d 21 tName = strdup(name);
clemounet 0:11d8781f1013 22 }
clemounet 0:11d8781f1013 23
clemounet 0:11d8781f1013 24 MyThread::~MyThread() {
clemounet 0:11d8781f1013 25 free((char*)tName);
clemounet 0:11d8781f1013 26 }
clemounet 0:11d8781f1013 27
clemounet 0:11d8781f1013 28 void MyThread::Start(void){
clemounet 0:11d8781f1013 29 running = true;
clemounet 0:11d8781f1013 30 }
clemounet 0:11d8781f1013 31
clemounet 0:11d8781f1013 32 void MyThread::Stop(void){
clemounet 0:11d8781f1013 33 running = false;
clemounet 0:11d8781f1013 34 }
clemounet 0:11d8781f1013 35
clemounet 0:11d8781f1013 36 void MyThread::Run(void){
clemounet 2:6cc4c56940af 37 t = new Thread(MainTrampoline,this,osPriorityNormal,stackSize);
clemounet 0:11d8781f1013 38 }
clemounet 0:11d8781f1013 39
clemounet 0:11d8781f1013 40 void MyThread::Wait(int32_t ms){
clemounet 0:11d8781f1013 41 t->wait(ms);
clemounet 0:11d8781f1013 42 }
clemounet 0:11d8781f1013 43
clemounet 0:11d8781f1013 44 void MyThread::WaitEnd(){
clemounet 0:11d8781f1013 45 t->signal_wait(ENDSIG);
clemounet 0:11d8781f1013 46 }