FAQ

1. Driver/System


1.1 如何调整打印 Log 的最大长度?

  1. 调整 RT_CONSOLEBUF_SIZE Config 来修改控制台最长的 Log Buffer 长度

RT_CONSOLEBUF_SIZE
  1. 打开 ULOG (对应 RT_USING_ULOG) 后,需要再调整 ULOG_LINE_BUF_SIZE Config 来修改最大 Log Buffer 长度

ULOG_LINE_BUF_SIZE

1.2 timer

1.2.1 常见延时函数

  • 常用的延时函数分为HAL和RT两种
    1,HAL层延时函数:(等同于while中指令循环,延时时不会切到其他线程)

HAL_Delay(10); /* 延时10ms */ 
HAL_Delay_us(10); /* 延时10us */ 

2,RTT接口的延时函数:

rt_thread_delay(100); /* 延时100ms */ 

注意:
RTT接口的延时函数执行时,会切换到其他线程,比如ilde线程,当睡眠门限低于延时时长时会进入Standby睡眠。


1.2.2 获取时间戳 Tick值和RC10K振荡频率

  • 获取时间戳和tick值是比较常用的
    1,获取时间戳:

/* 32768晶体时钟,会1/32768秒,寄存器值加1*/ 
/* RC10K时钟,会约1/9000秒,寄存器值加1*/ 
uint32_t start_time = HAL_GTIMER_READ(); 

2,获取1m秒递增的Tick值:

rt_tick_t start_timer = rt_tick_get(); /* RTT系统函数,1m秒返回值会加1 */ 
uint32_t tickstart = HAL_GetTick();  /* HAL层的函数,1m秒返回值会加1 */ 

3,获取当下时钟频率:

/* 32768晶体时钟,会返回32768*/ 
/* RC10K时钟,会返回8k-10k之间的值*/ 
uint32_t mcuOscData = HAL_LPTIM_GetFreq();

1.2.3 查看现有定时器命令

  • 串口发送list_timer,可以看到当前使用的定时器的信息

../_images/timer1.png

list_timer的状态说明,第一列"timer"为定时器名字,第二列"periodic"为定时器周期(十六进制,单位ms),第三列"timeout"为下一次定时器到来的时间戳,第四列"flag"为该定时器是否为激活状态, 如上图,生效的定时器只有"main"的定时器(延时函数也是一个定时器),唤醒周期为0xbb8(3000ms)。


2. MMI/UI


2.1 主菜单 UI 特效相关

2.1.1 如何调整主菜单六扇门滑动后惯性大小及旋转动画速度 ?

  • 使用接口 void lv_rotate3d_set_throw_rate(lv_obj_t *rotate3d, float rate) 设置滑动惯性大小

  • 根据实际效果需求修改 static void lv_rotate3d_event_cb(lv_obj_t *obj, lv_event_t event) 过程中 LV_EVENT_PRESS_LOST / LV_EVENT_RELEASED 事件动画效果参数 (如下)

OPTIMIZE_ROTATE3D_EFFECT

2.2 Emoji

2.2.1 当前支持的emoji有哪些?

emoji图片资源所在目录:watch\sifli\resource\images_emoji,图片命名格式:emoji_[emoji unicode].png(例如,emoji_1f3a9.png)。

2.2.2 如何新增emoji?

  • a) 添加unicode

如果不知道对应emoji的unicode,可通过打印确认: + b) 确认所加unicode是否有包含,如没有,则可添加 + c) 添加对应资源图片(图片命名规则参考[2.2.1](#221-当前支持的emoji有哪些))

3. Tools etc


3.1 思澈产品编译开发环境搭建及配置说明


3.2 思澈平台各类 Log 抓取方法


3.3 思澈平台 BT PAN 共享网络吞吐率测试方法


3.4 eZIP 工具


3.4.1 如何将 EZIP 格式的图片转回原始 png 图片格式 ?

  • 通过如下命令行将 EZIP 格式的 *.bin (bin_dir 目录) 转回对应的 *.png (png_dir 目录) 格式

eZIP.exe -dir bin_dir -spt 1 -dpt 0 -outdir png_dir

3.5 下载工具 (Butterfli/Impeller) 相关

3.5.1 Solution 环境中通过 Butterfli 编译 EZIP 图片如何配置额外的编译参数 ?

  • 特定场景下通过 Butterfli 编译 EZIP 图片时,需要传递额外的参数至 eZIP 程序,如以增加 -dither 0 参数为例

    1. 修改当前工程 (如 sifli\project\eh_lb525_nand_hdk_368x448) 下的 PrjCfg.ini 配置文件,在 [PRJ_SET] Section 中增加 EZIP_PARA=-dither 0 配置项

      • 影响范围: 只对当前工程生效

    2. 修改 Butterfli 工具目录下的 configure\CompileBurn.ini 配置文件的 [COM_PARA] Section 中增加 EZIP_PARA=-dither 0 配置项

      • 影响范围: 所有工程都生效


3.5.2 Sifli下载问题

  • 客户端,产线&开发经常遇到的无法烧录问题

../_images/downlond_tw.png


4.device

  • 各类device常见应用问题参考

../_images/device_faq_tw.png

生产/烧录/RF等相关问题


OTA_常见问题


BQB 认证/测试

思澈蓝牙 BQB 认证测试指导

  • 介绍蓝牙 BQB 认证概念以及 Profile 和 RF 测试内容及方法,指导对应产品快速完成 BQB 认证测试以及 送测前的测试验证,具体参见 思澈蓝牙 BQB 认证测试指导手册


调试指南

生产

UI_常见问题

lib