亲爱的支持,
我已移植Prox_Reporter_ext项目(SDK 5.0.3),我已添加电池服务(如项目Prox_reporter)和自定义服务(如项目BLE_APP_PROFILE在)。我正在使用GTL Over UART进行EXT处理器和DA14580之间的通信。
我非常想找到我需要在主机代码中处理的消息,以便响应电池电量的“读取”和自定义特征的“读取”。我例如在iOS上使用App LightBlue读取电池电平(通过在选择电池服务时再次按“再次”)。但是,下面的消息都没有触发(来自示例项目),以便我实际上可以更新电池级别。
//通知数据库创建状态的应用程序
案例bass_create_db_cfm:
//禁用使用配置的确认以在禁用配置文件后保存
案例bass_disable_ind:
//错误指示主机
案例bass_error_ind:
//如果通知电池电平值或未通知应用程序
案例bass_batt_level_upd_cfm:
//通知应用程序已更改电池级通知配置
案例bass_batt_level_ntf_cfg_ind:
我实现的自定义服务也是如此。我能够回复custs1_val_write_ind消息(写入值时),但尚不清楚如何响应读取。
我期待着你的回应。
亲切的问候,
arjan.
设备:
嗨,ablimen,
执行读取时,没有指示已执行读取的应用程序。
谢谢mt_dialog.
嗨mt_dialog,
因此,如果我正确理解,它是应用程序(在我们的外部处理器中),以将DA14580上的数据库中的信息(属性值)保持最新?因此,当对等设备执行读取时,它将检索最新值最多?这是这样做的唯一方法?这对于Bass和例如Custs1中的定制特征是相同的?
在低音的情况下,每次电池电量更改时,我都需要向DA14580发送BASS_BATT_LEVEL_UPD_REQ消息(GTL OVER UART)?
对于自定义服务,您能向我解释消息序列吗?目前主机向DA14580发送CUSTS1_CREATE_DB_REQ消息,之后DA14580以响应(启动序列)向主机发送CUSTS1_CREATE_DB_CFM消息。在Connect中,DA14580向主机发送GapC_Connection_Req_ind消息,之后主机在响应中发送GapC_Connection_cfm和Custs1_enable_Req。
在此序列中必须设置自定义特征的值?我需要使用哪些消息和顺序?
谢谢,
arjan.
嗨,ablimen,
当主机执行读取时,对等设备无法知道在DA14580中的所有配置文件中读取了特定特性。它到了从设备更新数据库中的值。是的,每次您要获得更新的电池状态,您必须通过发出BASS_BATT_LEVEL_UPD_REQ来更新值。您可以在App_Bass_Task.c文件中检查完全托管的近距离报告器示例,调用app_bat_timer_handler()以便通过app_batt_lvl()函数轮询电池,App_bat_set_level发送bass_batt_level_upd_req消息。此外,如果启用通知,则更新触发通知。
关于自定义服务,您可以向要设置的特性发出更新命令。为此,您可以在启用配置文件后尝试使用Custs1_val_set_req消息。
谢谢mt_dialog.