验证平台:AB1565/AB1568
- LED硬件信号的定义
AB1565有两个指示灯的IO口,分别 是ISINK0和ISINK1,如图1所示;
2.LED模式的配置方法
这两个信号的逻辑由SDK进行控制,用户仅需用ATK工具配置其时间和开关行为即可,如下图2所示:
其中ISINK0即为配置工具中的LED0,ISINK1为配置工具中的LED1;双击某一行就可以对其行为进行重新定义,如图3所示。
3.配置工具中索引号的定义
图2 中的这些默认配置都存储在工程的xml文件中,因此如何想把定制化的配置集成到SDK中,而不是每次编译成目标固件再重新配置的话,就需要把定制的LED模式更新的工程对应的xml文件中;这个文件的是:
mcu\project\ab156x\apps\headset_ghp\config_bin\ab1565_evk\nvkey.xml,对应的NVKEY ID为:0xF283;
其值为一串看不懂的数字,因此我们需要先用ATK工具配置好期望的LED 模式,然后通过比对变化 的内容来复制出变化后的部分再更新到该键ID中;
那么,图中的”Style No.“表表示 什么意思 呢?这个就要和SDK中的代码定义对照起来了。在SDK的目录” mcu\project\ab156x\apps\bt_audio_common\inc\apps\config\”中的文件:apps_config_led_index_list.h中对这24个索引的具体意义进行的定义,如下代码所示:
从代码中可以发现
Style No.=0 时,表示蓝牙处于未配对的状态;
Style No.=1时,表示蓝牙处于“可连接”状态时LED 的行为;
Style No.=3时,表示有电话播入时LED的状态;
Style No.=7时,表示充电时的状态(未充满);
代码的名称中可以比较直观 的看出状态的含义,此处不再一一讲述。
此处要注意的是,对于Headset工程来讲,蓝牙的【配对状态/配对成功/断开】状态由过引0~11决定;
4. 如何配置一个状态下LED的行为
图2 中的每一行都代表系统的一个状态,且每个状态下LED的行为都可以通过图3中的对话框进行配置。那么图3中的各参数又代表什么意思 呢?答案在SDK的下面文件中可以找到:
mcu\project\ab156x\apps\bt_audio_common\inc\apps\led\ app_led_nvkey_struct.h
如下代码所示,定义和图3中每个参数的意义,图3中的名称和代码结构体中的名称可以比较直观的对应起来,从注释中来获知其含义。
注意:数据类型uint8_t,其范围是【0~255】;