aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/mcusupport/wizards
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/mcusupport/wizards')
-rw-r--r--src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl14
-rw-r--r--src/plugins/mcusupport/wizards/application/CMakeLists.txt2
-rw-r--r--src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl38
-rw-r--r--src/plugins/mcusupport/wizards/application/main.qml.tpl1
-rw-r--r--src/plugins/mcusupport/wizards/application/wizard.json10
5 files changed, 63 insertions, 2 deletions
diff --git a/src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl b/src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl
new file mode 100644
index 0000000000..d6c84deeea
--- /dev/null
+++ b/src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl
@@ -0,0 +1,14 @@
+#include "%{ProjectName}.h"
+
+#include <qul/application.h>
+#include <qul/qul.h>
+
+int main()
+{
+ Qul::initPlatform();
+ Qul::Application app;
+ static %{ProjectName} item;
+ app.setRootItem(&item);
+ app.exec();
+ return 0;
+}
diff --git a/src/plugins/mcusupport/wizards/application/CMakeLists.txt b/src/plugins/mcusupport/wizards/application/CMakeLists.txt
index ff5871b9b5..3ad30d99ca 100644
--- a/src/plugins/mcusupport/wizards/application/CMakeLists.txt
+++ b/src/plugins/mcusupport/wizards/application/CMakeLists.txt
@@ -4,7 +4,7 @@ project(%{ProjectName} VERSION 0.0.1 LANGUAGES C CXX ASM)
find_package(Qul)
-add_executable(%{ProjectName})
+add_executable(%{ProjectName} ${OS}/main.cpp)
qul_target_qml_sources(%{ProjectName} %{MainQmlFile})
target_link_libraries(%{ProjectName} Qul::QuickUltralite)
diff --git a/src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl b/src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl
new file mode 100644
index 0000000000..43ca2e706b
--- /dev/null
+++ b/src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl
@@ -0,0 +1,38 @@
+#include "%{ProjectName}.h"
+
+#include <qul/application.h>
+#include <qul/qul.h>
+
+#include <cstdio>
+#include <FreeRTOS.h>
+#include <task.h>
+
+#ifndef QUL_STACK_SIZE
+#error QUL_STACK_SIZE must be defined.
+#endif
+
+static void Qul_Thread(void *argument);
+
+int main()
+{
+ Qul::initPlatform();
+
+ if (xTaskCreate(Qul_Thread, "QulExec", QUL_STACK_SIZE, 0, 4, 0) != pdPASS) {
+ std::printf("Task creation failed!.\\r\\n");
+ configASSERT(false);
+ }
+
+ vTaskStartScheduler();
+
+ // Should not reach this point
+ configASSERT(false);
+ return 0;
+}
+
+static void Qul_Thread(void *argument)
+{
+ Qul::Application app;
+ static %{ProjectName} item;
+ app.setRootItem(&item);
+ app.exec();
+}
diff --git a/src/plugins/mcusupport/wizards/application/main.qml.tpl b/src/plugins/mcusupport/wizards/application/main.qml.tpl
index 595c561f74..8c05a48f66 100644
--- a/src/plugins/mcusupport/wizards/application/main.qml.tpl
+++ b/src/plugins/mcusupport/wizards/application/main.qml.tpl
@@ -1,4 +1,3 @@
-pragma main;
import QtQuick 2.0
Rectangle {
diff --git a/src/plugins/mcusupport/wizards/application/wizard.json b/src/plugins/mcusupport/wizards/application/wizard.json
index 1c598507e1..b458bb010a 100644
--- a/src/plugins/mcusupport/wizards/application/wizard.json
+++ b/src/plugins/mcusupport/wizards/application/wizard.json
@@ -53,6 +53,16 @@
"openInEditor": false
},
{
+ "source": "BareMetal/main.cpp.tpl",
+ "target": "%{ProjectDirectory}/BareMetal/main.cpp",
+ "openInEditor": false
+ },
+ {
+ "source": "FreeRTOS/main.cpp.tpl",
+ "target": "%{ProjectDirectory}/FreeRTOS/main.cpp",
+ "openInEditor": false
+ },
+ {
"source": "main.qml.tpl",
"target": "%{ProjectDirectory}/%{MainQmlFile}",
"openInEditor": true