diff --git a/source/shoh/.cproject b/source/shoh/.cproject
index c20b11d..b1e8833 100644
--- a/source/shoh/.cproject
+++ b/source/shoh/.cproject
@@ -51,6 +51,7 @@
+
diff --git a/source/shoh/src/main.cpp b/source/shoh/src/main.cpp
index d374f52..579acae 100644
--- a/source/shoh/src/main.cpp
+++ b/source/shoh/src/main.cpp
@@ -8,6 +8,7 @@
#include "Rotary.h"
#include "retarget_uart.h"
#include "LiquidCrystal.h"
+#include "Manager.h"
void lcd_starting();
@@ -32,6 +33,9 @@ int main(void)
manager->createTask(master_thread, "master",
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
static_cast(qmanager));
+ manager->createTask(thread_manager, "manager",
+ configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
+ static_cast(qmanager));
manager->createTask(rotary_thread, "rotary",
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
static_cast(qmanager));
diff --git a/source/shoh/src/threads/manager/Manager.cpp b/source/shoh/src/threads/manager/Manager.cpp
new file mode 100644
index 0000000..b1f2b2d
--- /dev/null
+++ b/source/shoh/src/threads/manager/Manager.cpp
@@ -0,0 +1,34 @@
+/*
+ * Manager.cpp
+ *
+ * Created on: 29 Apr 2023
+ * Author: dave
+ */
+
+#include "Manager.h"
+#include "ThreadCommon.h"
+
+Manager::Manager(ThreadCommon::QueueManager* qm) : _qm(qm)
+{
+ // TODO Auto-generated constructor stub
+
+}
+
+Manager::~Manager()
+{
+ // TODO Auto-generated destructor stub
+}
+
+void Manager::taskFunction()
+{
+ for(;;)
+ {
+ vTaskDelay(1);
+ }
+}
+
+void thread_manager(void* pvParams)
+{
+ Manager m(static_cast(pvParams));
+ m.taskFunction();
+}
\ No newline at end of file
diff --git a/source/shoh/src/threads/manager/Manager.h b/source/shoh/src/threads/manager/Manager.h
new file mode 100644
index 0000000..f214a04
--- /dev/null
+++ b/source/shoh/src/threads/manager/Manager.h
@@ -0,0 +1,26 @@
+/*
+ * Manager.h
+ *
+ * Created on: 29 Apr 2023
+ * Author: dave
+ */
+
+#ifndef THREADS_MANAGER_MANAGER_H_
+#define THREADS_MANAGER_MANAGER_H_
+
+#include "ThreadCommon.h"
+#include "Event.h"
+
+class Manager {
+public:
+ Manager(ThreadCommon::QueueManager* qm);
+ virtual ~Manager();
+ void taskFunction();
+private:
+ Event* message;
+ ThreadCommon::QueueManager* _qm;
+};
+
+void thread_manager(void* pvParams);
+
+#endif /* THREADS_MANAGER_MANAGER_H_ */