Workshop 2

Dependencies:   FastPWM

Committer:
pmic
Date:
Tue Mar 30 12:21:00 2021 +0000
Revision:
0:86129f1b4a93
Child:
4:9c003c402033
First commit.

Who changed what in which revision?

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