├── .github └── workflows │ ├── cmake_clang.yml │ ├── cmake_ubuntu.yml │ └── cmake_windows.yml ├── .gitignore ├── Allocator ├── CMakeLists.txt ├── fb_allocator.c ├── fb_allocator.h ├── x_allocator.c └── x_allocator.h ├── CMakeLists.txt ├── Callback ├── CMakeLists.txt ├── callback.c ├── callback.h ├── callback_allocator.c └── callback_allocator.h ├── Figure_1.png ├── Figure_2_1.png ├── Figure_3_1.png ├── Figure_4.png ├── LICENSE ├── Port ├── CMakeLists.txt ├── DataTypes.h ├── Fault.cpp ├── Fault.h ├── LockGuard.cpp ├── LockGuard.h ├── ThreadMsg.h ├── Timer.c ├── Timer.h ├── UserMsgs.h ├── WorkerThreadStd.cpp └── WorkerThreadStd.h ├── README.md ├── SelfTest ├── CMakeLists.txt ├── CentrifugeTest.c ├── CentrifugeTest.h ├── PressureTest.c ├── PressureTest.h ├── SelfTestEngine.c ├── SelfTestEngine.h ├── SysData.c └── SysData.h ├── StateMachine ├── CMakeLists.txt ├── StateMachine.c ├── StateMachine.h ├── sm_allocator.c └── sm_allocator.h └── main.cpp /.github/workflows/cmake_clang.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/.github/workflows/cmake_clang.yml -------------------------------------------------------------------------------- /.github/workflows/cmake_ubuntu.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/.github/workflows/cmake_ubuntu.yml -------------------------------------------------------------------------------- /.github/workflows/cmake_windows.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/.github/workflows/cmake_windows.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/.gitignore -------------------------------------------------------------------------------- /Allocator/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Allocator/CMakeLists.txt -------------------------------------------------------------------------------- /Allocator/fb_allocator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Allocator/fb_allocator.c -------------------------------------------------------------------------------- /Allocator/fb_allocator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Allocator/fb_allocator.h -------------------------------------------------------------------------------- /Allocator/x_allocator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Allocator/x_allocator.c -------------------------------------------------------------------------------- /Allocator/x_allocator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Allocator/x_allocator.h -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /Callback/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Callback/CMakeLists.txt -------------------------------------------------------------------------------- /Callback/callback.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Callback/callback.c -------------------------------------------------------------------------------- /Callback/callback.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Callback/callback.h -------------------------------------------------------------------------------- /Callback/callback_allocator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Callback/callback_allocator.c -------------------------------------------------------------------------------- /Callback/callback_allocator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Callback/callback_allocator.h -------------------------------------------------------------------------------- /Figure_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Figure_1.png -------------------------------------------------------------------------------- /Figure_2_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Figure_2_1.png -------------------------------------------------------------------------------- /Figure_3_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Figure_3_1.png -------------------------------------------------------------------------------- /Figure_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Figure_4.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/LICENSE -------------------------------------------------------------------------------- /Port/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/CMakeLists.txt -------------------------------------------------------------------------------- /Port/DataTypes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/DataTypes.h -------------------------------------------------------------------------------- /Port/Fault.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/Fault.cpp -------------------------------------------------------------------------------- /Port/Fault.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/Fault.h -------------------------------------------------------------------------------- /Port/LockGuard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/LockGuard.cpp -------------------------------------------------------------------------------- /Port/LockGuard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/LockGuard.h -------------------------------------------------------------------------------- /Port/ThreadMsg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/ThreadMsg.h -------------------------------------------------------------------------------- /Port/Timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/Timer.c -------------------------------------------------------------------------------- /Port/Timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/Timer.h -------------------------------------------------------------------------------- /Port/UserMsgs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/UserMsgs.h -------------------------------------------------------------------------------- /Port/WorkerThreadStd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/WorkerThreadStd.cpp -------------------------------------------------------------------------------- /Port/WorkerThreadStd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/Port/WorkerThreadStd.h -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/README.md -------------------------------------------------------------------------------- /SelfTest/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/SelfTest/CMakeLists.txt -------------------------------------------------------------------------------- /SelfTest/CentrifugeTest.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/SelfTest/CentrifugeTest.c -------------------------------------------------------------------------------- /SelfTest/CentrifugeTest.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/SelfTest/CentrifugeTest.h -------------------------------------------------------------------------------- /SelfTest/PressureTest.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/SelfTest/PressureTest.c -------------------------------------------------------------------------------- /SelfTest/PressureTest.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/SelfTest/PressureTest.h -------------------------------------------------------------------------------- /SelfTest/SelfTestEngine.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/SelfTest/SelfTestEngine.c -------------------------------------------------------------------------------- /SelfTest/SelfTestEngine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/SelfTest/SelfTestEngine.h -------------------------------------------------------------------------------- /SelfTest/SysData.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/SelfTest/SysData.c -------------------------------------------------------------------------------- /SelfTest/SysData.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/SelfTest/SysData.h -------------------------------------------------------------------------------- /StateMachine/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/StateMachine/CMakeLists.txt -------------------------------------------------------------------------------- /StateMachine/StateMachine.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/StateMachine/StateMachine.c -------------------------------------------------------------------------------- /StateMachine/StateMachine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/StateMachine/StateMachine.h -------------------------------------------------------------------------------- /StateMachine/sm_allocator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/StateMachine/sm_allocator.c -------------------------------------------------------------------------------- /StateMachine/sm_allocator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/StateMachine/sm_allocator.h -------------------------------------------------------------------------------- /main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/endurodave/C_StateMachineWithThreads/HEAD/main.cpp --------------------------------------------------------------------------------