Rdzleo 811559be49 feat: 修复BLE蓝牙传图全链路问题 + 实现图片导航显示
1. BLE通信修复:
   - 补充服务UUID长度字段(ESP_UUID_LEN_16),修复APP端发现服务失败
   - 添加WRITE_NR属性,支持writeNoResponse提升传输速度
   - 文件写入改为二进制模式"wb",防止数据损坏
   - 添加数据完整性校验日志

2. JPEG解码修复:
   - 移除过严的FFD9结束标记校验(兼容Android JPEG编码器)

3. 图片导航功能(新增):
   - ble_image_navigate():BLE接收后自动导航到ScreenImg显示新图片
   - set_image_index_by_name():按文件名定位图片列表索引
   - 智能检测当前界面:不在ScreenImg则切换,已在则直接更新
   - 修复update_ui_ImgBle解码失败时double-free崩溃

4. ScreenImg界面优化:
   - 每次进入界面都显示当前图片,支持BLE导航和手势切换场景

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 18:15:41 +08:00

22 lines
1.0 KiB
C

#include "esp_err.h"
#include <stdint.h>
#include <stdbool.h>
void app_test_display(); // 测试显示
void app_img_display(); // 显示图片
esp_err_t nvs_change_img(char *imgname); // 改变NVS中的图片路径
void app_img_change(); // 改变图片
void img_switch_task(void *pvParameters);// 图片切换任务
void img_loop_task(void *pvParameters); // 图片循环任务
void pwm_init(); // 初始化PWM背光
void pwm_set_brightness(uint8_t percent); // 设置屏幕亮度(0=关闭, 10-100%)
uint8_t pwm_get_brightness(void); // 获取当前亮度值
// 图片管理函数
const char* get_current_image(void); // 获取当前图片文件名
bool delete_current_image(void); // 删除当前图片
void init_spiffs_image_list(void); // 初始化/扫描SPIFFS图片列表
void free_spiffs_image_list(void); // 重置图片列表
bool set_image_index_by_name(const char *name); // 根据文件名设置当前图片索引
void ble_image_navigate(const char *filename); // BLE接收后导航到ScreenImg显示