task_app和task_gtl共存

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
离线
最后一次露面:2年5个月前
加入:2017-05-25 06:51
task_app和task_gtl共存

嗨对话小组,

我正在使用外部主机模式工作,以及扫描仪/观察模式配置中的BLE。我正在使用带有UART接口的外部主机ST32F4。

我想在主机的特殊请求时添加额外的功能。
我在这里发布了类似的问题
https://support.dialog-semicondiondiondumon.com/comment/22363

由于我没有收到任何解决方案,因为我想知道app_task和gtl_task共存。通过这种方法,我在思考
可以发送命令,如果我可以重新路由
MCU(GTL_TASK)-------------> BLE(APP_TASK)----------- KE_MSG_FORWARD ----->堆栈(task_gapm)
可以重新排出响应
堆栈(task_gapm)-------------> ble(app_task)---------- - ke_msg_forward -----> mcu(gtl_task)

由此,我也可以实现我的自定义任务,没有BLE堆栈干预
MCU(GTL_TASK)-------------> LED闪烁的BLE(APP_TASK)
BLE(APP_TASK)---------------> MCU(GTL_TASK)用于GPIO_READ

如果这是可实现的,请告诉我,以及一些指针。

期待立即帮助。

提前致谢!

设备:
PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨南禄,

嗨南禄,

您描述的程序可实现,谢谢您的信息。让我分享你的同一个提示可能会帮助你:

  1. 在ROM配置表中,jump_table的rom_cfg_table_var。C文件您应该添加Task_App,然后您应该完成帖子中提到的内容。

KE_TASK_ID_T PRF_GET_TASK_FROM_ID_FUNC(KE_MSG_ID_T ID)

{

......

task_app,// 11. app_main_task_pos

}

您应该在下面中间化PRF_GET_TASK_FROM_ID_FUNC。否则,将获得一个未知的错误错误。

KE_TASK_ID_T PRF_GET_TASK_FROM_ID_FUNC(KE_MSG_ID_T ID)

{

ke_task_id_t task = task_none;

uint8_t idx = ke_idx_get(ID);

uint8_t i;

id = ke_type_get(ID);

//查找配置文件是否存在于配置文件任务中

for(i = 0; i

{

//检查配置文件标识符是否已知

if(prf_env.prf [i] .id == ID)

{

任务= prf_env.prf [i] .task;

休息;

}

}

if(id == task_id_app)

{

任务= task_app;

}

返回ke_build_id(任务,idx);

}

谢谢,PM_DIALOG.

离线
最后一次露面:2年5个月前
加入:2017-05-25 06:51
嗨pm_dialog,

嗨pm_dialog,

谢谢你的输入。

我有很少的问题
1.是否默认创建了GTL线程,无论嵌入式/主机处理器模式如何?
2.我可以使用extent_peripheral_template或extent_template_ext exus作为起点吗?
- 如果我使用extent_peripheral_template,我不明白如何收到MCU消息。
- 如果我使用empty_template_ext,那么我必须用cfg_app(构建时间宏或嵌入式/外部处理器)解决依赖关系

提前致谢!

PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨南禄,

嗨南禄,

关于你的第一个问题让我检查以确定。关于你的第二个问题,我建议使用empty_template_ext。

谢谢,PM_DIALOG.