我在研究关于成品产测的时候,发现以下问题:
1.这个sdk3.3.4的产测貌似只能在生产解决方案软件 中使用云模组烧录授权平台来调用产测接口(比如:通过 指定扫描某ap的信号强度 来检查模组是否正常)。但是我记得 我们实际生产过程中,买的模组都是涂鸦帮忙烧录好的模组,可能拿不到用来测试的生产凭证,也就是可能无法使用云模组烧录授权平台来进行产测。而且会用电脑测试的生产人员也是少数。
2.sdk中的 scan_test_ssid()函数无法调用,也找不到哪个头文件包含了这个函数,但是在通过tuya wind ide 创建(create project)的 模板里面包含了这个函数。
【已同步】请教下关于bk7231n sdk3.3.4模组产测的问题
【已同步】请教下关于bk7231n sdk3.3.4模组产测的问题
Re: 请教下关于bk7231n sdk3.3.4模组产测的问题
1,云模组可以支持产测功能,在参数设置里面,可以选择射频和gpio测试
2,scan_test_ssid其实不是一个sdk的接口,是应用层实现的,在demo里面,你可以直接copy到你的项目里使用。
Re: 请教下关于bk7231n sdk3.3.4模组产测的问题
愚者千虑必有一得 2023年 Mar 23日 10:331,云模组可以支持产测功能,在参数设置里面,可以选择射频和gpio测试
2,scan_test_ssid其实不是一个sdk的接口,是应用层实现的,在demo里面,你可以直接copy到你的项目里使用。
您好,谢谢您的的解答。
scan_test_ssid() 我还是没有找到咋哪个例子里实现的,不过我看了您的回答猜测是用tal_wifi_all_ap_scan()这个函数来实现的,应该能解决我的问题。
Re: 请教下关于bk7231n sdk3.3.4模组产测的问题
代码贴给你:
Code: Select all
/**
* @brief 扫描产测ssid
*
* @return BOOL_T
*/
STATIC BOOL_T scan_test_ssid(VOID)
{
OPERATE_RET op_ret = OPRT_OK;
GW_WORK_STAT_MAG_S read_gw_wsm;
BOOL_T mf_close = FALSE;
mf_close = mf_test_is_timeout();
if(TRUE == mf_close) {
PR_NOTICE("have actived over 15min, don't scan prod test ssid");
return FALSE;
}
op_ret = wd_gw_wsm_read(&read_gw_wsm);
if((gwcm_mode == GWCM_OLD_PROD ) || (gwcm_mode == GWCM_LOW_POWER_AUTOCFG) || (gwcm_mode == GWCM_SPCL_AUTOCFG)) { /* 上电默认配网或者第一次是配网的模式 */
if((read_gw_wsm.nc_tp >= GWNS_TY_SMARTCFG) && (read_gw_wsm.nc_tp != GWNS_UNCFG_SMC_AP)){ /* 已经存在ssid等配网信息但是并不是EZ和AP共存配网 */
return FALSE;
}
} else if (gwcm_mode == GWCM_SPCL_MODE || gwcm_mode == GWCM_LOW_POWER) { /* 上电默认不配网 */
if(read_gw_wsm.nc_tp >= GWNS_UNCFG_SMC) { /* 处于配网的状态 */
return FALSE;
}
} else {
;
}
tal_wifi_set_work_mode(WWM_STATION);
AP_IF_S *ap = NULL;
BOOL_T flag = TRUE;
PR_NOTICE("current product ssid name:%s", prod_ssid_name);
op_ret = tal_wifi_assign_ap_scan((SCHAR_T *)prod_ssid_name, &ap);
tal_wifi_station_disconnect();
if(OPRT_OK != op_ret) {
PR_DEBUG("tal_wifi_assign_ap_scan failed(%d)",op_ret);
return FALSE;
}
//check if has authorized
op_ret = wd_gw_base_if_read(&(get_gw_cntl()->gw_base));
if(OPRT_OK != op_ret) {
PR_DEBUG("read flash err");
flag = FALSE;
}
// gateway base info verify
#if TY_SECURITY_CHIP
if(!get_gw_cntl()->gw_base.has_auth) {
PR_DEBUG("please write uuid and auth_key first");
flag = FALSE;
}
#else
if(0 == get_gw_cntl()->gw_base.auth_key[0] || \
0 == get_gw_cntl()->gw_base.uuid[0]) {
PR_DEBUG("please write uuid and auth_key first");
flag = FALSE;
}
#endif
if(app_prod_test) {
app_prod_test(flag, ap->rssi);
}
return TRUE;
}