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

举报
心跳包 发表于 2021/11/13 00:17:41 2021/11/13
【摘要】 查看全部文章请点击:杰里AC695N开发详解汇总(持续更新中) ==================================================================== 版权归作者所有,未经允许,请勿转载。 ==============================================...

查看全部文章请点击:杰里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.0\SDK\apps\soundbox\task_manager

2.1 模式退出检查函数

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

static int app_task_switch_exit_check(u8 curr_task)
 

2.2 模式进入检查函数

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

static int app_task_switch_check(u8 app_task)
 

2.3 切换到上一个模式函数

void app_task_switch_prev()
 

2.4 切换到下一个模式函数

void app_task_switch_next()
 

2.5 切换到指定模式函数

int app_task_switch_to(u8 app_task)
 

2.6 调回到原来模式函数

int app_task_switch_back()
 

2.7  模式切换退出检测函数

u8 app_task_exitting()
 

2.8 获取当前模式函数

u8 app_task_exitting()
 

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

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.实现以下基础必要接口


  
  1. void app_music_task()
  2. int music_app_check(void)
  3. static int music_sys_event_handler(struct sys_event *event)
  4. 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

文章来源: xintiaobao.blog.csdn.net,作者:心跳包,版权归原作者所有,如需转载,请联系作者。

原文链接:xintiaobao.blog.csdn.net/article/details/115031145

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。