使用的Telink芯片平台,SDK版本:TLSR825X-LZMA_TuyaOS-3.10.4。有参考过这个连接的
viewtopic.php?p=5679&hilit=%E4%B8%B2%E5 ... 4%A8#p5679 ,但是这个和现在的SDK对不上,请问这段代码
Code: Select all
if(OPRT_OK == tal_util_adv_report_parse(0x09, adv, adv_len, &name_data, &name_data_len)){
// app_log_dump("scan", name_data, name_data_len);
if(test_name_len == name_data_len && tkl_system_memcmp(name_data, test_name, name_data_len) == 0){
STATIC UINT8_T uart_init_flag = 0;
if(0 == uart_init_flag){
tal_factory_test_uart_init();
uart_init_flag = 1;
}
ty_rssi_base_test_update_rssi(rssi, TY_PROD_RSSI);
}
else if(name_data_len == 7 && 0 == tkl_system_memcmp(name_data, "ty_mdev", 7)){
ty_rssi_base_test_update_rssi(rssi, TY_MDEV_RSSI);
}
}是已经在这个函数中
Code: Select all
VOID_T app_ble_data_recv(TAL_BLE_EVT_PARAMS_T* pEvent)
{
UINT8_T *name_data;
UINT8_T name_data_len = 0;
UINT8_T test_name[20] = "ty_prod";
UINT8_T test_name_len = 7;
switch (pEvent->type) {
case TAL_BLE_EVT_PERIPHERAL_CONNECT:
TAL_PR_DEBUG("BLE connect");
app_ble_connect_state_set(1);
break;
case TAL_BLE_EVT_DISCONNECT:
TAL_PR_DEBUG("BLE disconnect reason:%x", pEvent->ble_event.disconnect.reason);
app_ble_connect_state_set(0);
break;
case TAL_BLE_EVT_ADV_REPORT:
TAL_PR_DEBUG("----> TAL_BLE_EVT_ADV_REPORT\r\n");
TAL_PR_HEXDUMP_DEBUG("data:", pEvent->ble_event.adv_report.p_data, pEvent->ble_event.adv_report.data_len);
tal_rssi_test_ble_adv_recv(pEvent->ble_event.adv_report.p_data, pEvent->ble_event.adv_report.data_len, pEvent->ble_event.adv_report.peer_addr.addr, pEvent->ble_event.adv_report.rssi);
break;
case TAL_BLE_EVT_WRITE_REQ:
tal_ble_ota_data_recv(pEvent->ble_event.write_report.report.p_data, pEvent->ble_event.write_report.report.len);
break;
case TAL_BLE_EVT_MTU_REQUEST:
// TAL_PR_DEBUG("TAL_BLE_EVT_MTU_REQUEST:%d", pEvent->ble_event.exchange_mtu.mtu);
break;
default:
break;
}
}的tal_rssi_test_ble_adv_recv接口里面已经处理还是需要自己额外处理?目前测试是需要自己添加调用:tal_factory_test_uart_init(); 但是正常使用的时候,应该怎么判断是烧录授权进入的呢?尝试自己调用后,产测授权的时候会提示:固件版本校验失败(06):
现在烧录的时候有开启信标,将模式调至M3,屏幕显示[M3]:Beacon
Nmae: "ty_prod"
请教下,这是什么原因呢,要怎么解决?