Simple program for introduction of mirror actuator.

Committer:
altb2
Date:
Sat May 01 20:08:51 2021 +0000
Revision:
14:1be03d1c45c7
Parent:
13:1bf960928a93
2nd commit

Who changed what in which revision?

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