Committer:
oehlemar
Date:
Fri Jun 12 08:19:42 2020 +0000
Revision:
1:5201940a41c1
Parent:
0:893a1e710078
asdf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
oehlemar 0:893a1e710078 1 /*
oehlemar 0:893a1e710078 2 * ThreadFlag.h
oehlemar 0:893a1e710078 3 * Copyright (c) 2020, ZHAW
oehlemar 0:893a1e710078 4 * All rights reserved.
oehlemar 0:893a1e710078 5 */
oehlemar 0:893a1e710078 6
oehlemar 0:893a1e710078 7 #ifndef THREAD_FLAG_H_
oehlemar 0:893a1e710078 8 #define THREAD_FLAG_H_
oehlemar 0:893a1e710078 9
oehlemar 0:893a1e710078 10 #include <cstdlib>
oehlemar 0:893a1e710078 11 #include <mbed.h>
oehlemar 0:893a1e710078 12
oehlemar 0:893a1e710078 13 /**
oehlemar 0:893a1e710078 14 * This class manages the handling of unique thread flags to trigger rtos threads.
oehlemar 0:893a1e710078 15 */
oehlemar 0:893a1e710078 16 class ThreadFlag {
oehlemar 0:893a1e710078 17
oehlemar 0:893a1e710078 18 public:
oehlemar 0:893a1e710078 19
oehlemar 0:893a1e710078 20 ThreadFlag();
oehlemar 0:893a1e710078 21 virtual ~ThreadFlag();
oehlemar 0:893a1e710078 22 virtual unsigned int read();
oehlemar 0:893a1e710078 23 operator unsigned int();
oehlemar 0:893a1e710078 24
oehlemar 0:893a1e710078 25 private:
oehlemar 0:893a1e710078 26
oehlemar 0:893a1e710078 27 static unsigned int threadFlags; // variable that holds all assigned thread flags
oehlemar 0:893a1e710078 28 unsigned int threadFlag; // thread flag of this object
oehlemar 0:893a1e710078 29 Mutex mutex; // mutex to lock critical sections
oehlemar 0:893a1e710078 30 };
oehlemar 0:893a1e710078 31
oehlemar 0:893a1e710078 32 #endif /* THREAD_FLAG_H_ */
oehlemar 0:893a1e710078 33