Page 1 of 1

【已同步】请教下关于bk7231n sdk3.3.4模组产测的问题

Posted: 2023年 Mar 22日 12:04
by a93749

我在研究关于成品产测的时候,发现以下问题:
1.这个sdk3.3.4的产测貌似只能在生产解决方案软件 中使用云模组烧录授权平台来调用产测接口(比如:通过 指定扫描某ap的信号强度 来检查模组是否正常)。但是我记得 我们实际生产过程中,买的模组都是涂鸦帮忙烧录好的模组,可能拿不到用来测试的生产凭证,也就是可能无法使用云模组烧录授权平台来进行产测。而且会用电脑测试的生产人员也是少数。
2.sdk中的 scan_test_ssid()函数无法调用,也找不到哪个头文件包含了这个函数,但是在通过tuya wind ide 创建(create project)的 模板里面包含了这个函数。


Re: 请教下关于bk7231n sdk3.3.4模组产测的问题

Posted: 2023年 Mar 23日 10:33
by 愚者千虑必有一得

1,云模组可以支持产测功能,在参数设置里面,可以选择射频和gpio测试
2,scan_test_ssid其实不是一个sdk的接口,是应用层实现的,在demo里面,你可以直接copy到你的项目里使用。


Re: 请教下关于bk7231n sdk3.3.4模组产测的问题

Posted: 2023年 Mar 23日 11:04
by a93749
愚者千虑必有一得 2023年 Mar 23日 10:33

1,云模组可以支持产测功能,在参数设置里面,可以选择射频和gpio测试
2,scan_test_ssid其实不是一个sdk的接口,是应用层实现的,在demo里面,你可以直接copy到你的项目里使用。

您好,谢谢您的的解答。
scan_test_ssid() 我还是没有找到咋哪个例子里实现的,不过我看了您的回答猜测是用tal_wifi_all_ap_scan()这个函数来实现的,应该能解决我的问题。


Re: 请教下关于bk7231n sdk3.3.4模组产测的问题

Posted: 2023年 Mar 27日 14:04
by 愚者千虑必有一得

代码贴给你:

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; }