aboutsummaryrefslogtreecommitdiff
path: root/main/main.c
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2024-05-09 15:38:25 +0200
committerlonkaars <loek@pipeframe.xyz>2024-05-09 15:38:25 +0200
commitadc6e726f672aa7057992af54b286f7632b4fb07 (patch)
tree9a24f2c67566aa80c6379b160cbceeadedc2966d /main/main.c
parent21bfc93676c56e2265f330170d319da2c480987d (diff)
stop the c++
Diffstat (limited to 'main/main.c')
-rw-r--r--main/main.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/main/main.c b/main/main.c
new file mode 100644
index 0000000..c97a808
--- /dev/null
+++ b/main/main.c
@@ -0,0 +1,42 @@
+#include <FreeRTOS.h>
+#include <task.h>
+
+#include <pico/stdlib.h>
+#include <pico/time.h>
+
+#include "config.h"
+#include "init.h"
+
+// #include <lwip/sockets.h>
+// #include <lwip/sys.h>
+// #include <lwip/opt.h>
+
+void blink_task() {
+ await_init(); // `blink_task` uses GPIO
+
+ while (true) {
+ cyw43_arch_gpio_put(LED_PIN, 0);
+ vTaskDelay(250 / portTICK_PERIOD_MS);
+ cyw43_arch_gpio_put(LED_PIN, 1);
+ vTaskDelay(250 / portTICK_PERIOD_MS);
+ }
+}
+
+void test_task() {
+ int i = 0;
+ while (true) {
+ // stdio is initialized synchronously, so no `await_init` is needed
+ printf("hello #%d...\n", ++i);
+ vTaskDelay(1000 / portTICK_PERIOD_MS);
+ }
+}
+
+int main() {
+ init();
+
+ xTaskCreate((TaskFunction_t) blink_task, "blink", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 2, NULL);
+ xTaskCreate((TaskFunction_t) test_task, "test", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 2, NULL);
+
+ vTaskStartScheduler();
+}
+