2nd try

Dependents:   cuboid_balance

Committer:
altb2
Date:
Thu Feb 25 20:28:16 2021 +0000
Revision:
3:29602f4ade5c
First commit of Mirror actuato, still under construction, pins should be ok, next: check path planner;

Who changed what in which revision?

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