{"id":15064165,"url":"https://github.com/bunnysakura/espnanotool","last_synced_at":"2025-04-10T11:50:55.862Z","repository":{"id":210734976,"uuid":"726334309","full_name":"BunnySakura/EspNanoTool","owner":"BunnySakura","description":"一个使用ESP32系列芯片开发的小工具。| 合宙 ESP32C3-CORE 开发板和 0.96寸 屏幕拓展板 | M5Stack BASIC","archived":false,"fork":false,"pushed_at":"2024-09-22T11:45:48.000Z","size":941,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"M5Stack-BASIC","last_synced_at":"2025-03-24T10:38:53.272Z","etag":null,"topics":["esp32","esp32-c3","esp32-idf","esp32c3","gui","luatos","lvgl","lvgl-esp32","lvgl-esp32-port","m5stack","m5stack-core"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BunnySakura.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-02T04:36:34.000Z","updated_at":"2024-11-26T15:50:40.000Z","dependencies_parsed_at":"2023-12-18T13:56:20.126Z","dependency_job_id":"c72c2c9e-da4b-43ee-8662-58742d70978d","html_url":"https://github.com/BunnySakura/EspNanoTool","commit_stats":null,"previous_names":["bunnysakura/espnanotool"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BunnySakura%2FEspNanoTool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BunnySakura%2FEspNanoTool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BunnySakura%2FEspNanoTool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BunnySakura%2FEspNanoTool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BunnySakura","download_url":"https://codeload.github.com/BunnySakura/EspNanoTool/tar.gz/refs/heads/M5Stack-BASIC","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248215192,"owners_count":21066619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","esp32-c3","esp32-idf","esp32c3","gui","luatos","lvgl","lvgl-esp32","lvgl-esp32-port","m5stack","m5stack-core"],"created_at":"2024-09-25T00:12:43.494Z","updated_at":"2025-04-10T11:50:55.844Z","avatar_url":"https://github.com/BunnySakura.png","language":"C","readme":"# EspNanoTool\n\n*使用M5Stack BASIC重构此项目。*\n\n## 成品说明\n\n基于ESP32系列芯片开发的小工具，验证ESP32的可能性。\n\n成品如图:\n\n![EspNanoTool](doc/EspNanoTool.jpg \"EspNanoTool\")\n\n## 功能列表\n\n- [x] 移植LVGL v8.3.11\n- [x] 按键软件消抖\n- [x] 移植littlefs\n- [x] Wi-Fi Easy Connect™ (DPP) 配网\n- [ ] 串口⇄MQTT透传\n- [ ] 天气时钟\n- [ ] B站数据显示\n- [ ] 更好的UI界面\n\n## 代码结构\n\n- **main/app** 为程序的运行逻辑，例如配网/联网等\n- **main/driver** 为移植所需的驱动\n- **main/gui** 为NXP GUI-Guider生成的UI界面代码，手动修改过以适应需求\n- **main/idf_component.yml** 为IDF 组件管理器配置，引入第三方库，库代码不可修改\n- **EspNanoTool.guiguider** 为NXP GUI-Guider工程文件\n- **partitions.csv** 为littlefs使用的分区表，如果开发板带有FLASH，可以根据项目使用情况进行分区\n- **sdkconfig.defaults** 默认`sdkconfig`配置\n\n## 调试\n\n开启[`CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME`](https://docs.espressif.com/projects/esp-idf/en/v5.3.1/esp32c3/api-reference/kconfig.html#config-esp-system-gdbstub-runtime)后，可以在**IDF Monitor**中按下`Ctrl + C`以开启GDB调试，无需硬件调试设备即可粗略实现一定的调试功能。\n\n## 现存问题\n\n由于芯片缺陷，如果 GPIO 39 设置了中断，在 WiFi 开启时会**不断虚假触发**，参见：\n\n- \u003chttps://esp32.com/viewtopic.php?t=14087\u003e\n- \u003chttps://github.com/espressif/esp-idf/issues/1096\u003e\n- \u003chttps://github.com/espressif/esp-idf/issues/4585\u003e\n\n其中提出了**一个缓解办法是关闭 WiFi 省电**，验证有效，代码如下：\n\n```c++\nesp_wifi_set_ps(WIFI_PS_NONE);\n```\n\n此外官方文档还提到开启 WiFi 会调用 ADC1 导致此问题，因此调用`adc_power_acquire`函数也可消除 GPIO36 和 GPIO39 上的毛刺，不过在新版本IDF中已经将此函数隐藏为私有，并告知已在内部进行处理。\n\n- \u003chttps://github.com/m5stack/M5Stack/issues/52\u003e\n- \u003chttps://docs.espressif.com/projects/esp-idf/en/v4.4/esp32/api-reference/peripherals/adc.html#_CPPv412adc1_get_raw14adc1_channel_t\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbunnysakura%2Fespnanotool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbunnysakura%2Fespnanotool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbunnysakura%2Fespnanotool/lists"}