commit a09b16f67ba3cb8e72ceef33223ba980e7fe20f2 Author: yenru0 Date: Wed Sep 17 02:35:13 2025 +0900 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3ecf124 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +.vscode +.idea +cmake-build-*/ + +components/**/build +components/**/sdkconfig +components/**/sdkconfig.old + +build + +dependenceies + +sdkconfig \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..5b560fd --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.16) + +include(cfg.cmake) + +if (NOT DEFINED ENV{IDF_TARGET}) + file(WRITE "cfg.cmake" "set(ENV{ESPPORT} \"COM3\")\nset(ENV{IDF_TARGET} \"esp32\")") + MESSAGE(FATAL_ERROR "THERE ARE NO CONFIG; CREATE NEW CONFIG.") +endif () +if (NOT DEFINED ENV{ESPPORT}) + MESSAGE(WARNING "PORT IS NOT DEFINED.") +endif () + +MESSAGE($ENV{ESPPORT}) +MESSAGE($ENV{IDF_PATH}) + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(esp32-counter-example) \ No newline at end of file diff --git a/cfg.cmake b/cfg.cmake new file mode 100644 index 0000000..eab2eb6 --- /dev/null +++ b/cfg.cmake @@ -0,0 +1,2 @@ +set(ENV{ESPPORT} "/dev/ttyUSB0") +set(ENV{IDF_TARGET} "esp32") \ No newline at end of file diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt new file mode 100644 index 0000000..83d0883 --- /dev/null +++ b/main/CMakeLists.txt @@ -0,0 +1,13 @@ +set(srcs "src/main.cpp") +#list(APPEND srcs "src/function/touch_graph.cpp") +#list(APPEND srcs "src/function/server_clock.cpp") +#list(APPEND srcs "src/connection/connect.cpp") +#list(APPEND srcs "src/function/sd_rw.cpp") + +idf_component_register( + SRCS ${srcs} + #INCLUDE_DIRS "include" "include/function" + #REQUIRES "driver" "ssd1306" "esp_wifi" "nvs_flash" "esp-tls" "esp_http_client" "json" "sdmmc" "vfs" +) +set(CMAKE_CXX_STANDARD 11) +target_compile_options(${COMPONENT_LIB} PRIVATE -std=gnu++11) \ No newline at end of file diff --git a/main/src/main.cpp b/main/src/main.cpp new file mode 100644 index 0000000..997126d --- /dev/null +++ b/main/src/main.cpp @@ -0,0 +1,40 @@ +#include + +#include "driver/timer.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" + +static void IRAM_ATTR timer_g0_t0_isr(void *arg) { + + timer_group_clr_intr_status_in_isr(TIMER_GROUP_0, TIMER_0); + + timer_group_enable_alarm_in_isr(TIMER_GROUP_0, TIMER_0); + + esp_rom_printf("Hello From ISR 20sec\n"); +} + +extern "C" void app_main() { + + timer_config_t config = { + .alarm_en = TIMER_ALARM_EN, + .counter_en = TIMER_PAUSE, + .counter_dir = TIMER_COUNT_UP, + .auto_reload = TIMER_AUTORELOAD_EN, + .divider = 80, + }; + + const unsigned long long interval_sec = 10; + + timer_init(TIMER_GROUP_0, TIMER_0, &config); + + timer_set_counter_value(TIMER_GROUP_0, TIMER_0, 0x00000000ULL); + timer_set_alarm_value(TIMER_GROUP_0, TIMER_0, interval_sec * 1000000ULL); + + timer_enable_intr(TIMER_GROUP_0, TIMER_0); + + timer_isr_register(TIMER_GROUP_0, TIMER_0, timer_g0_t0_isr, NULL, ESP_INTR_FLAG_IRAM, NULL); + + timer_start(TIMER_GROUP_0, TIMER_0); + + while (true) { vTaskDelay(pdMS_TO_TICKS(10000)); } +}