# MySwitcher组件 - MySwitch是一个用于控制开头类的控制组件,提供开头状态控制、循环工作、工作结束回调支持。 ## 主要特性 - 状态管理 - IDLE:空闲状态 - RUN:运行状态 - PAUSE:暂停状态 - FINISHED:工作完成状态 - 配置参数 - 最大/最小工作时间 - 最大/最小暂停时间 - 最大/最小工作次数 - 工作完成回调:支持注册工作完成事件回调函数 ## 快速开始 ``` #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "esp_log.h" #include "my_switcher.h" #define TAG "main" extern "C" void app_main(void) { MySwitcher sw(GPIO_NUM_2, true); sw.SetWorkParam(1, 1, 3); sw.SetFinishedCallback([](void*){ ESP_LOGW(TAG, "All work done."); }, nullptr); sw.SetRunDoneCallback([](void*){ ESP_LOGW(TAG, "One run done."); }, nullptr); sw.SetPauseDoneCallback([](void*){ ESP_LOGW(TAG, "One pause done."); }, nullptr); sw.Start(); while(1) { ESP_LOGI(TAG, "Current state: %s", sw.GetWorkState().c_str()); vTaskDelay(pdMS_TO_TICKS(10 * 1000)); } } ```
idf.py add-dependency "smallin/my_switcher^1.0.2"