杰里695N系列(soundbox)之 1.1 SDK快速入门(2)

2021-09-26 15:40:05 浏览数 (1)

查看全部文章请点击:杰里AC695N开发详解汇总(持续更新中)

====================================================================

版权归作者所有,未经允许,请勿转载。

====================================================================

一、任务流程详细说明(power on为例)

1.1 app模式设置

1.2 power on模式进入

1.3 切换任务消息

1.4 power on 模式退出

二、APP模式管理接口

路径:app_task_switch.c AC695N_soundbox_sdk_release_2.0.0SDKappssoundboxtask_manager

2.1 模式退出检查函数

//*----------------------------------------------------------------------------*/ /**@brief 模式退出检查 @param curr_task:当前模式 @return TRUE可以退出, FALSE不可以退出 @note */ /*----------------------------------------------------------------------------*/

代码语言:javascript复制
static int app_task_switch_exit_check(u8 curr_task)

2.2 模式进入检查函数

//*----------------------------------------------------------------------------*/ /**@brief 模式进入检查 @param app_task:目标模式 @return TRUE可以进入, FALSE不可以进入 @note 例如一些需要设备在线的任务(music/record/linein等), 如果设备在线可以进入, 没有设备在线不进入可以在这里处理 */ /*----------------------------------------------------------------------------*/

代码语言:javascript复制
static int app_task_switch_check(u8 app_task)

2.3 切换到上一个模式函数

代码语言:javascript复制
void app_task_switch_prev()

2.4 切换到下一个模式函数

代码语言:javascript复制
void app_task_switch_next()

2.5 切换到指定模式函数

代码语言:javascript复制
int app_task_switch_to(u8 app_task)

2.6 调回到原来模式函数

代码语言:javascript复制
int app_task_switch_back()

2.7 模式切换退出检测函数

代码语言:javascript复制
u8 app_task_exitting()

2.8 获取当前模式函数

代码语言:javascript复制
u8 app_task_exitting()

2.9 通过指定id检查是否是当前模式函数

代码语言:javascript复制
u8 app_check_curr_task(u8 app)

三、如何增加APP模式

以music为例。

第一步:在app_task.h中增加模式id

第二步:将模式id加入到app_task_switch.c的模式配置表app_task_list中

第三步:在task_key.c中添加模式按键转换表

第四步:在task_manager中添加对应的模式目录(对应头文件)

第五步:实现模式相关接口

1.实现以下基础必要接口

代码语言:javascript复制
void app_music_task() 
int music_app_check(void) 
static int music_sys_event_handler(struct sys_event *event) 
static int music_key_event_opr(struct sys_event *event)

2. 模式主循环内完成基础操作(app_music_task)

  • 获取消息
  • 响应消息及事件
  • 响应模式内部消息及事件
  • 响应公共消息及事件

3.在 app_main.c 中调用对应的模式主循环接口(app_music_task)

4.app_check接口实现

app_check 其实是在切换模式的时候,是否满足条件进入该模式, music 模式进入条件是判 断是否有可以播放的设备在线,故接口实现如下

5.在 app_task_switch_check 调用 app_check

0 人点赞