aboutsummaryrefslogtreecommitdiff
path: root/main/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/init.c')
-rw-r--r--main/init.c36
1 files changed, 16 insertions, 20 deletions
diff --git a/main/init.c b/main/init.c
index 4ab373e..bd00c04 100644
--- a/main/init.c
+++ b/main/init.c
@@ -1,22 +1,20 @@
-#include "config.h"
-#include "init.h"
-#include "i2c.h"
-
#include <FreeRTOS.h>
#include <task.h>
-#include <event_groups.h>
#include <pico/stdio.h>
#include <pico/cyw43_arch.h>
-EventGroupHandle_t init_complete;
+#include "config.h"
+#include "init.h"
+#include "tasks.h"
+#include "drv/rp2040/mod.h"
static void init_stdio() {
stdio_init_all();
}
static void init_cyw34() {
- if (cyw43_arch_init_with_country(CONF_NET_COUNTRY))
+ if (cyw43_arch_init_with_country(CFG_NET_COUNTRY))
panic("cyw43_arch_init_with_country failed\n");
}
@@ -24,30 +22,32 @@ static void init_wifi() {
// enable 'station' mode (connect to an access point instead of acting like one)
cyw43_arch_enable_sta_mode();
- /* WERKT GEWOON NIET MET DEZE LIJNEN CODE */
- if (cyw43_arch_wifi_connect_timeout_ms(CONF_NET_SSID, CONF_NET_PASS, CONF_NET_AUTH, CONF_NET_CONN_TIMEOUT))
+ if (cyw43_arch_wifi_connect_timeout_ms(CFG_NET_SSID, CFG_NET_PASS, CFG_NET_AUTH, CFG_NET_CONN_TIMEOUT))
panic("cyw43_arch_wifi_connect failed\n");
- /* WERKT GEWOON NIET MET DEZE LIJNEN CODE */
-
- printf("connected to Wi-Fi\n");
// TODO: announce hostname(?)
}
+static void init_i2c() {
+ gpio_set_function(CFG_SDA_PIN, GPIO_FUNC_I2C);
+ gpio_set_function(CFG_SCL_PIN, GPIO_FUNC_I2C);
+
+ pbdrv_setup();
+}
+
static void async_init() {
init_cyw34();
init_i2c();
+#ifndef CFG_NET_DISABLE
init_wifi();
-
- xEventGroupSetBits(init_complete, 1);
+#endif
+ init_tasks();
// delete self
vTaskDelete(NULL);
}
void init() {
- init_complete = xEventGroupCreate();
-
// used for debug `printf` and `panic` on errors
init_stdio();
@@ -55,7 +55,3 @@ void init() {
xTaskCreate((TaskFunction_t) async_init, "init", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 4, NULL);
}
-void await_init() {
- xEventGroupWaitBits(init_complete, 1, pdFALSE, pdFALSE, portMAX_DELAY);
-}
-