你好对话框,
使用示例项目“BLE_APP_PERITERAL”我们创建了我们的项目,使用新的自定义配置文件,具有3个新特征PARAM1 - 1字节,PARAM2 - 1字节和PARAM2 - 2字节。外部MCU与BLE芯片通信,并可以读取和更新这些参数。移动应用程序还可以读取和更新参数。问题:
1.哪种是从自定义配置文件中读取这些特征的实际值的最佳和最快的方法(例如,来自外部MCU“获取Params”的串行命令)?
2.哪种是将这些特征的新值写入自定义配置文件的最佳方式(例如,来自外部MCU“Set Params”的串行命令)?
3.如何在POR之后使用我们的值更新特征的默认值以及数据库的默认初始化?可能是第二个问题的答案将有助于我们第三个问题。
提前感谢您的快速问题。
设备:
嗨舞厅,
您有完全嵌入或完全托管的实施?更确切地说,在580上运行的应用程序在580或外部MCU上运行GTL?如果超过gtl然后:
1)在配置文件中没有任何实现,但我想您可以使用自定义消息和自定义功能从数据库中检索数据,并从580读取数据库(在配置文件固件中的580上)和自定义函数通过GTL接口返回到应用程序的消息。例如,在播放服务中的580 Prox_reporter_ext中,存在用于在数据库中设置数据的函数diss_set_char_val_req_handler(),只要应用程序已经创建了该设备已创建了数据库,它就会在Windows应用程序中调用其调用。)。您可以创建一个附加功能,以便使用Attmdb_att_get_value()从数据库中重新重新数据,并返回GTL的值。
此外,您还可以从外部应用程序发出命令,您可以在RW-BLE-GATT上检查 - Gattm_att_Get_Value_Req是您要查找的。
2)您可以使用已实现的消息custs1_val_set_req并更新数据库的值,或者再次实现命令gattm_att_set_value_req。
3)与第二个问题中所示的方式相同。
谢谢mt_dialog.
嗨mt_dialog,
谢谢你的快速答案。我成功地使用您的建议和示例项目对DB实施读/写操作,但我有一些问题。
1.是否正确执行Task_App中的函数AttMDB_ATT_GET_VALUE()和ATTMDB_ATT_SET_VALUE()以及从任务为TASK_CUSTS1的自定义配置文件中读/写特性?
2.这些是一个定义的消息custs1_val_set_req,但没有消息custs1_val_get_req。为什么?我检查了所有示例项目和配置文件(例如,播放和光盘)。没有什么。
3.为什么在示例项目中“BLE_APP_PERITELAL”才会启用函数CUSTS1_VAL_SET_REQ_HANDLER(),仅当设备处于连接模式时才启用?如果发送消息CUSTS1_VAL_SET_REQ并且当前状态不“连接”,则不会执行该函数。这种行为由BLE标准定义,或者这些行为是其他原因。
嗨舞厅,
1)我没有得到这个问题,为什么这应该是错的?如果您有完全托管的应用程序,那些功能是直接访问您的特性值的唯一方法,在完全嵌入式设计中,您可以通过自定义消息使用它们或使用I VE指示的GTL命令。
2)如果您想,可以实现一个,我想原因是因为应用程序知道可以读取的特征上设置的值是什么?
有一个写从主会有一个different kind of indication (a write indication) that will inform that application for the changed value in the database.
3)我没有看到任何具体原因,它绝对没有由sig定义,因为这是一个自定义配置文件,我想制定自定义配置文件的规范,规定了与配置文件的交互只应当完成设备已连接。
谢谢mt_dialog.