diff --git a/firmware/main/CMakeLists.txt b/firmware/main/CMakeLists.txt index cf2c455..d9affaf 100644 --- a/firmware/main/CMakeLists.txt +++ b/firmware/main/CMakeLists.txt @@ -1,2 +1,3 @@ idf_component_register(SRCS "main.c" - INCLUDE_DIRS ".") + INCLUDE_DIRS "." + REQUIRES nvs_flash) diff --git a/firmware/main/include/leds.h b/firmware/main/include/leds.h index 33bc70a..f8a581f 100644 --- a/firmware/main/include/leds.h +++ b/firmware/main/include/leds.h @@ -6,7 +6,7 @@ extern "C" { #endif void led_blink_task(void *pvParameter); -unsigned led_init(); +esp_err_t led_init(); void led1_on(); void led2_on(); void led1_off(); diff --git a/firmware/main/include/uart.h b/firmware/main/include/uart.h index 8bcc46b..1029b46 100644 --- a/firmware/main/include/uart.h +++ b/firmware/main/include/uart.h @@ -6,6 +6,7 @@ extern "C" { #endif +esp_err_t uart_init(); void uart_read_task(void *pvParameters); #ifdef __cplusplus diff --git a/firmware/main/include/wifi.h b/firmware/main/include/wifi.h index 97f1fb0..64dc099 100644 --- a/firmware/main/include/wifi.h +++ b/firmware/main/include/wifi.h @@ -6,7 +6,7 @@ extern "C" { #endif -void wifi_init(void); +esp_err_t wifi_init(void); #ifdef __cplusplus } diff --git a/firmware/main/src/leds.c b/firmware/main/src/leds.c index 3746045..a1805cf 100644 --- a/firmware/main/src/leds.c +++ b/firmware/main/src/leds.c @@ -20,24 +20,24 @@ void led_blink_task(void *pvParameter) // Blink the LEDs gpio_set_level(LED1, 0); gpio_set_level(LED2, 0); - vTaskDelay(700 / portTICK_PERIOD_MS); + vTaskDelay(850 / portTICK_PERIOD_MS); gpio_set_level(LED1, 1); gpio_set_level(LED2, 0); - vTaskDelay(100 / portTICK_PERIOD_MS); + vTaskDelay(50 / portTICK_PERIOD_MS); gpio_set_level(LED1, 1); gpio_set_level(LED2, 1); - vTaskDelay(100 / portTICK_PERIOD_MS); + vTaskDelay(50 / portTICK_PERIOD_MS); gpio_set_level(LED1, 0); gpio_set_level(LED2, 1); - vTaskDelay(100 / portTICK_PERIOD_MS); + vTaskDelay(50 / portTICK_PERIOD_MS); } } -unsigned led_init() { +esp_err_t led_init() { gpio_set_direction(LED1,GPIO_MODE_OUTPUT); gpio_set_direction(LED2,GPIO_MODE_OUTPUT); //gpio_set_direction(LED_INT,GPIO_MODE_OUTPUT); - return 0; + return ESP_OK; } void led1_on() { diff --git a/firmware/main/src/main.c b/firmware/main/src/main.c index 6db75df..36edfaf 100644 --- a/firmware/main/src/main.c +++ b/firmware/main/src/main.c @@ -5,7 +5,6 @@ //#include //#include #include -//#include #include "leds.h" #include "sht31.h" #include "uart.h" @@ -20,13 +19,13 @@ static const char * TAG = "main.c"; void app_main() { - //ESP_ERROR_CHECK(nvs_flash_init()); + ESP_ERROR_CHECK(nvs_flash_init()); + ESP_ERROR_CHECK(led_init()); + ESP_ERROR_CHECK(wifi_init()); + ESP_ERROR_CHECK(uart_init()); + ESP_ERROR_CHECK(controller_init()); - led_init(); - wifi_init(); - controller_init(); - - xTaskCreate(&led_blink_task, "led_blink_task", configMINIMAL_STACK_SIZE, NULL, 5, NULL); + xTaskCreate(led_blink_task, "led_blink_task", configMINIMAL_STACK_SIZE, NULL, 5, NULL); xTaskCreate(uart_read_task, "uart_read_task", 2048, NULL, 10, NULL); xTaskCreate(sht31_sensor_test_task, "sht31_sensor_test_task", 2048, NULL, 10, NULL); } diff --git a/firmware/main/src/uart.c b/firmware/main/src/uart.c index c8f40fc..c19be18 100644 --- a/firmware/main/src/uart.c +++ b/firmware/main/src/uart.c @@ -7,11 +7,11 @@ #include "functions.h" #include "leds.h" +#define BUFFER_SIZE 1024 + static const char * TAG = "uart.c"; -// Task to read data from UART -void uart_read_task(void *pvParameters) { - const unsigned bufferSize = 1024; +esp_err_t uart_init() { // Initialize UART uart_config_t uart_config = { .baud_rate = 115200, @@ -22,13 +22,17 @@ void uart_read_task(void *pvParameters) { }; uart_param_config(UART_NUM_0, &uart_config); //uart_set_pin(UART_NUM_0, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE); - uart_driver_install(UART_NUM_0, bufferSize * 2, 0, 0, NULL, 0); + uart_driver_install(UART_NUM_0, BUFFER_SIZE * 2, 0, 0, NULL, 0); + return ESP_OK; +} +// Task to read data from UART +void uart_read_task(void *pvParameters) { // Capture input - uint8_t data[bufferSize]; + uint8_t data[BUFFER_SIZE]; while (1) { // Read data from UART - int length = uart_read_bytes(UART_NUM_0, data, bufferSize, 20 / portTICK_RATE_MS); + int length = uart_read_bytes(UART_NUM_0, data, BUFFER_SIZE, 20 / portTICK_RATE_MS); if (length > 0) { // Null-terminate the received string data[length] = '\0'; diff --git a/firmware/main/src/wifi.c b/firmware/main/src/wifi.c index 15bb2dd..6bb1672 100644 --- a/firmware/main/src/wifi.c +++ b/firmware/main/src/wifi.c @@ -6,7 +6,7 @@ #include "functions.h" #include "wifi.h" -void wifi_init(void) { +esp_err_t wifi_init(void) { tcpip_adapter_init(); ESP_ERROR_CHECK(esp_event_loop_create_default()); wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); @@ -21,6 +21,8 @@ void wifi_init(void) { ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &sta_config)); ESP_ERROR_CHECK(esp_wifi_start()); ESP_ERROR_CHECK(esp_wifi_connect()); + + return ESP_OK; }