docs: 新增按键版功能规划文档 + 资源调整
- 新增"按键版点击吧唧功能规划.md":定义BOOT/KEY双键交互规范 - 全局规则:双击BOOT返回Home、任意键唤醒 - 各界面按键映射(Home/Img/Set) - Set界面焦点轮询(节能/应援灯/删除/亮度) - 应援灯/亮度/删除子模式按键行为 - 资源调整:替换default.jpg、删除冗余03.jpg - sdkconfig:ESP-IDF环境同步清理 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
da64d3e930
commit
8e2e72f1dc
21
sdkconfig
21
sdkconfig
@ -14,7 +14,6 @@ CONFIG_SOC_GDMA_SUPPORTED=y
|
|||||||
CONFIG_SOC_AHB_GDMA_SUPPORTED=y
|
CONFIG_SOC_AHB_GDMA_SUPPORTED=y
|
||||||
CONFIG_SOC_GPTIMER_SUPPORTED=y
|
CONFIG_SOC_GPTIMER_SUPPORTED=y
|
||||||
CONFIG_SOC_LCDCAM_SUPPORTED=y
|
CONFIG_SOC_LCDCAM_SUPPORTED=y
|
||||||
CONFIG_SOC_LCDCAM_CAM_SUPPORTED=y
|
|
||||||
CONFIG_SOC_LCDCAM_I80_LCD_SUPPORTED=y
|
CONFIG_SOC_LCDCAM_I80_LCD_SUPPORTED=y
|
||||||
CONFIG_SOC_LCDCAM_RGB_LCD_SUPPORTED=y
|
CONFIG_SOC_LCDCAM_RGB_LCD_SUPPORTED=y
|
||||||
CONFIG_SOC_MCPWM_SUPPORTED=y
|
CONFIG_SOC_MCPWM_SUPPORTED=y
|
||||||
@ -102,7 +101,7 @@ CONFIG_SOC_CPU_HAS_FPU=y
|
|||||||
CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y
|
CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y
|
||||||
CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
|
CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
|
||||||
CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
|
CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
|
||||||
CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40
|
CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64
|
||||||
CONFIG_SOC_SIMD_PREFERRED_DATA_ALIGNMENT=16
|
CONFIG_SOC_SIMD_PREFERRED_DATA_ALIGNMENT=16
|
||||||
CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096
|
CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096
|
||||||
CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16
|
CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16
|
||||||
@ -209,7 +208,7 @@ CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
|
|||||||
CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
|
CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
|
||||||
CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
|
CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
|
||||||
CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y
|
CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y
|
||||||
CONFIG_SOC_SDM_GROUPS=1
|
CONFIG_SOC_SDM_GROUPS=y
|
||||||
CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
|
CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
|
||||||
CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
|
CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
|
||||||
CONFIG_SOC_SPI_PERIPH_NUM=3
|
CONFIG_SOC_SPI_PERIPH_NUM=3
|
||||||
@ -370,9 +369,6 @@ CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y
|
|||||||
CONFIG_SOC_BLUFI_SUPPORTED=y
|
CONFIG_SOC_BLUFI_SUPPORTED=y
|
||||||
CONFIG_SOC_ULP_HAS_ADC=y
|
CONFIG_SOC_ULP_HAS_ADC=y
|
||||||
CONFIG_SOC_PHY_COMBO_MODULE=y
|
CONFIG_SOC_PHY_COMBO_MODULE=y
|
||||||
CONFIG_SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV=y
|
|
||||||
CONFIG_SOC_LCDCAM_CAM_PERIPH_NUM=1
|
|
||||||
CONFIG_SOC_LCDCAM_CAM_DATA_WIDTH_MAX=16
|
|
||||||
CONFIG_IDF_CMAKE=y
|
CONFIG_IDF_CMAKE=y
|
||||||
CONFIG_IDF_TOOLCHAIN="gcc"
|
CONFIG_IDF_TOOLCHAIN="gcc"
|
||||||
CONFIG_IDF_TOOLCHAIN_GCC=y
|
CONFIG_IDF_TOOLCHAIN_GCC=y
|
||||||
@ -845,7 +841,6 @@ CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
|
|||||||
CONFIG_BT_BLE_42_DTM_TEST_EN=y
|
CONFIG_BT_BLE_42_DTM_TEST_EN=y
|
||||||
CONFIG_BT_BLE_42_ADV_EN=y
|
CONFIG_BT_BLE_42_ADV_EN=y
|
||||||
CONFIG_BT_BLE_42_SCAN_EN=y
|
CONFIG_BT_BLE_42_SCAN_EN=y
|
||||||
CONFIG_BT_BLE_VENDOR_HCI_EN=y
|
|
||||||
# CONFIG_BT_BLE_HIGH_DUTY_ADV_INTERVAL is not set
|
# CONFIG_BT_BLE_HIGH_DUTY_ADV_INTERVAL is not set
|
||||||
# CONFIG_BT_ABORT_WHEN_ALLOCATION_FAILS is not set
|
# CONFIG_BT_ABORT_WHEN_ALLOCATION_FAILS is not set
|
||||||
# end of Bluedroid Options
|
# end of Bluedroid Options
|
||||||
@ -1067,7 +1062,6 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y
|
|||||||
# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set
|
# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set
|
||||||
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
|
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
|
||||||
# CONFIG_ESP_TLS_INSECURE is not set
|
# CONFIG_ESP_TLS_INSECURE is not set
|
||||||
CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y
|
|
||||||
# end of ESP-TLS
|
# end of ESP-TLS
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1094,12 +1088,6 @@ CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
|
|||||||
CONFIG_ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y
|
CONFIG_ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y
|
||||||
# end of Common ESP-related
|
# end of Common ESP-related
|
||||||
|
|
||||||
#
|
|
||||||
# ESP-Driver:Camera Controller Configurations
|
|
||||||
#
|
|
||||||
# CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE is not set
|
|
||||||
# end of ESP-Driver:Camera Controller Configurations
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# ESP-Driver:GPIO Configurations
|
# ESP-Driver:GPIO Configurations
|
||||||
#
|
#
|
||||||
@ -1420,11 +1408,8 @@ CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
|
|||||||
# CONFIG_ESP_PHY_RF_CAL_NONE is not set
|
# CONFIG_ESP_PHY_RF_CAL_NONE is not set
|
||||||
# CONFIG_ESP_PHY_RF_CAL_FULL is not set
|
# CONFIG_ESP_PHY_RF_CAL_FULL is not set
|
||||||
CONFIG_ESP_PHY_CALIBRATION_MODE=0
|
CONFIG_ESP_PHY_CALIBRATION_MODE=0
|
||||||
CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000
|
|
||||||
# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set
|
# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set
|
||||||
# CONFIG_ESP_PHY_RECORD_USED_TIME is not set
|
# CONFIG_ESP_PHY_RECORD_USED_TIME is not set
|
||||||
CONFIG_ESP_PHY_IRAM_OPT=y
|
|
||||||
# CONFIG_ESP_PHY_DEBUG is not set
|
|
||||||
# end of PHY
|
# end of PHY
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -2104,7 +2089,6 @@ CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
|
|||||||
# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
|
# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
|
||||||
# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
|
# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
|
||||||
CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
|
CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
|
||||||
# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set
|
|
||||||
CONFIG_MBEDTLS_PKCS7_C=y
|
CONFIG_MBEDTLS_PKCS7_C=y
|
||||||
# end of mbedTLS v3.x related
|
# end of mbedTLS v3.x related
|
||||||
|
|
||||||
@ -3089,7 +3073,6 @@ CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y
|
|||||||
CONFIG_SW_COEXIST_ENABLE=y
|
CONFIG_SW_COEXIST_ENABLE=y
|
||||||
CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
|
CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
|
||||||
CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y
|
CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y
|
||||||
# CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE is not set
|
|
||||||
# CONFIG_MCPWM_ISR_IN_IRAM is not set
|
# CONFIG_MCPWM_ISR_IN_IRAM is not set
|
||||||
# CONFIG_EVENT_LOOP_PROFILING is not set
|
# CONFIG_EVENT_LOOP_PROFILING is not set
|
||||||
CONFIG_POST_EVENTS_FROM_ISR=y
|
CONFIG_POST_EVENTS_FROM_ISR=y
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 8.6 KiB |
123
按键版点击吧唧功能规划.md
Normal file
123
按键版点击吧唧功能规划.md
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
# 按键版电子吧唧功能规划
|
||||||
|
|
||||||
|
## 硬件按键
|
||||||
|
|
||||||
|
- **BOOT按键** (GPIO9):确认/执行/返回
|
||||||
|
- **KEY按键** (GPIO8):导航/切换
|
||||||
|
|
||||||
|
## 按键驱动
|
||||||
|
|
||||||
|
采用 ESP-IDF 官方 `iot_button` 组件,原生支持单击、双击、长按检测,替代原有自定义 GPIO 中断驱动。
|
||||||
|
|
||||||
|
## 全局规则
|
||||||
|
|
||||||
|
| 操作 | 功能 |
|
||||||
|
|------|------|
|
||||||
|
| 双击BOOT | 任何界面/模式下→返回Home |
|
||||||
|
| 任意键按下 | 熄屏状态→唤醒屏幕(仅唤醒,不触发业务) |
|
||||||
|
|
||||||
|
## 各界面按键功能
|
||||||
|
|
||||||
|
### 1. Home界面
|
||||||
|
|
||||||
|
| 操作 | 功能 |
|
||||||
|
|------|------|
|
||||||
|
| KEY单击 | 切换到Img界面(图片浏览) |
|
||||||
|
| BOOT单击 | 切换到Set界面(设置) |
|
||||||
|
| BOOT双击 | 无操作(已在Home) |
|
||||||
|
|
||||||
|
### 2. Img界面(图片浏览)
|
||||||
|
|
||||||
|
#### 正常浏览模式
|
||||||
|
|
||||||
|
| 操作 | 功能 |
|
||||||
|
|------|------|
|
||||||
|
| KEY单击 | 显示下一张图片(循环) |
|
||||||
|
| BOOT单击 | 返回Home界面 |
|
||||||
|
| BOOT双击 | 返回Home界面 |
|
||||||
|
|
||||||
|
#### 删除模式(从Set界面进入,显示ContainerDle)
|
||||||
|
|
||||||
|
| 操作 | 功能 |
|
||||||
|
|------|------|
|
||||||
|
| BOOT单击 | 确认删除当前图片,顺位显示下一张 |
|
||||||
|
| KEY单击 | 取消删除,隐藏ContainerDle,回到正常浏览模式 |
|
||||||
|
| BOOT双击 | 返回Home界面 |
|
||||||
|
|
||||||
|
### 3. Set界面(设置)
|
||||||
|
|
||||||
|
#### 焦点导航
|
||||||
|
|
||||||
|
进入Set界面默认无焦点选中。KEY单击按顺序轮询选中功能图标:
|
||||||
|
|
||||||
|
```
|
||||||
|
无选中 → 节能 → 应援灯 → 删除 → 亮度 → 无选中(循环)
|
||||||
|
```
|
||||||
|
|
||||||
|
- 选中的图标显示**蓝色加粗边框**
|
||||||
|
- 切换到下一个图标时,上一个取消边框
|
||||||
|
- 离开Set界面或返回Home后,边框状态全部清除
|
||||||
|
- 下次进入Set界面默认无选中
|
||||||
|
|
||||||
|
#### 未选中状态
|
||||||
|
|
||||||
|
| 操作 | 功能 |
|
||||||
|
|------|------|
|
||||||
|
| KEY单击 | 选中第一个图标(节能) |
|
||||||
|
| BOOT单击 | 返回前一界面(Home或Img) |
|
||||||
|
| BOOT双击 | 返回Home界面 |
|
||||||
|
|
||||||
|
#### 已选中图标但未激活功能
|
||||||
|
|
||||||
|
| 操作 | 功能 |
|
||||||
|
|------|------|
|
||||||
|
| KEY单击 | 切换到下一个图标 |
|
||||||
|
| BOOT单击 | 激活当前选中图标的功能 |
|
||||||
|
| BOOT双击 | 返回Home界面 |
|
||||||
|
|
||||||
|
#### 各功能详细操作
|
||||||
|
|
||||||
|
**1)节能模式**
|
||||||
|
- BOOT单击激活:切换节能模式开/关
|
||||||
|
- 激活后立即生效,焦点保持在节能图标
|
||||||
|
- 继续KEY单击→移到下一个图标
|
||||||
|
|
||||||
|
**2)应援灯(手电筒)**
|
||||||
|
- BOOT单击激活:进入应援灯全屏模式
|
||||||
|
- 进入后按键上下文切换为应援灯模式:
|
||||||
|
|
||||||
|
| 操作 | 功能 |
|
||||||
|
|------|------|
|
||||||
|
| BOOT单击 | 切换颜色(红→绿→蓝循环) |
|
||||||
|
| KEY单击 | 退出应援灯,返回Set界面 |
|
||||||
|
| BOOT双击 | 退出应援灯,返回Home界面 |
|
||||||
|
|
||||||
|
**3)删除图片**
|
||||||
|
- BOOT单击激活:跳转Img界面,显示删除容器(ContainerDle)
|
||||||
|
- 进入删除模式后按键行为见上方「Img界面-删除模式」
|
||||||
|
|
||||||
|
**4)亮度调节**
|
||||||
|
- BOOT单击激活:进入亮度调节模式
|
||||||
|
- 进入后按键行为:
|
||||||
|
|
||||||
|
| 操作 | 功能 |
|
||||||
|
|------|------|
|
||||||
|
| KEY单击 | 亮度-10%(最低10%) |
|
||||||
|
| BOOT单击 | 亮度+10%(最高100%) |
|
||||||
|
| KEY长按2秒 | 退出亮度调节,继续焦点轮询 |
|
||||||
|
| BOOT双击 | 返回Home界面 |
|
||||||
|
|
||||||
|
## 实施步骤
|
||||||
|
|
||||||
|
1. 添加 `iot_button` 组件依赖,替代自定义按键驱动
|
||||||
|
2. 新建按键导航管理器(key_nav模块),管理界面上下文和焦点状态
|
||||||
|
3. 改造各界面:移除触摸手势,添加按键驱动的导航逻辑
|
||||||
|
4. Set界面添加蓝色边框高亮样式
|
||||||
|
5. 适配休眠管理器
|
||||||
|
|
||||||
|
## 设计说明
|
||||||
|
|
||||||
|
1. **取消触摸芯片**:本次改版取消触摸芯片以降低成本,所有交互通过两个物理按键实现
|
||||||
|
2. **iot_button组件**:使用ESP官方组件,自带去抖、单击/双击/长按检测,稳定可靠
|
||||||
|
3. **上下文隔离**:不同界面/模式的按键行为完全独立,通过导航管理器统一调度
|
||||||
|
4. **双击BOOT全局返回**:任何状态下双击BOOT都能回Home,用户不会"迷路"
|
||||||
Loading…
x
Reference in New Issue
Block a user