From 53540d9fb422e8f74d3802ec4a1c73a2b8e99999 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Sun, 6 Jul 2025 13:23:47 +0200 Subject: [PATCH] Blink --- main/CMakeLists.txt | 2 +- main/main.c | 8 +++++--- main/task_blink.c | 20 ++++++++++++++++++++ main/tasks.h | 14 ++++++++++++++ 4 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 main/task_blink.c create mode 100644 main/tasks.h diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index cf2c455..4130d44 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -1,2 +1,2 @@ -idf_component_register(SRCS "main.c" +idf_component_register(SRCS "main.c" "task_blink.c" INCLUDE_DIRS ".") diff --git a/main/main.c b/main/main.c index 7b66f33..474eae3 100644 --- a/main/main.c +++ b/main/main.c @@ -1,6 +1,8 @@ +#include "freertos/idf_additions.h" +#include "tasks.h" #include -void app_main(void) -{ - +void app_main(void) { + TaskHandle_t task_handle_blink; + xTaskCreate(task_blink, "task_blink", 1024, NULL, 0, &task_handle_blink); } diff --git a/main/task_blink.c b/main/task_blink.c new file mode 100644 index 0000000..b9634e1 --- /dev/null +++ b/main/task_blink.c @@ -0,0 +1,20 @@ +#include "freertos/idf_additions.h" +#include "portmacro.h" +#include +#include +#include +#include + +#include "tasks.h" + +void task_blink(void *pvParams) { + esp_rom_gpio_pad_select_gpio(LED_PIN); + gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT); + + while (1) { + gpio_set_level(LED_PIN, 0); + vTaskDelay(BLINK_DELAY / portTICK_PERIOD_MS); + gpio_set_level(LED_PIN, 1); + vTaskDelay(BLINK_DELAY / portTICK_PERIOD_MS); + } +} diff --git a/main/tasks.h b/main/tasks.h new file mode 100644 index 0000000..1cc3db0 --- /dev/null +++ b/main/tasks.h @@ -0,0 +1,14 @@ +#ifndef TASKS_H +#define TASKS_H + +/* + * This file exports all the individual tasks, avoiding tons of semi-empty headers. + */ + +#define LED_PIN 2 +#define RATE_PER_S 10 +#define BLINK_DELAY (1000 / 2 / RATE_PER_S) + +void task_blink(void *pvParams); + +#endif