注意注意!!!Cat.1设备应用开发产测需求

Lte-Cat.1/Cat.4/Cat.M设备,NB-IoT设备等
Post Reply
东皇007
Posts: 45

涂鸦的蜂窝模组在客户在进行二次开发的时候,必须有涂鸦的产测功能开启。否则当客户应用固件烧录后,就无法进行模组的授权写入。
具体方法:
tuya_cniot_start_mftest();这个是进入涂鸦产测的API。如果500ms没有接收到涂鸦产测进入命令,会自动退出产测模式。

Code: Select all

static void ty_cloud_thread(void* arg)
{

OPERATE_RET ret;
tuya_cniot_init();
tuya_cniot_start_cellular();
tuya_cniot_start_tuyaos();
tal_cellular_vbat_low_volt_poweroff_enable(FALSE);
TAL_PR_NOTICE("[cloud.demo]: init system success");
tal_system_sleep(2000);
TAL_PR_NOTICE("[cloud.demo]: start call test...");
// tuya产测相关
tuya_cniot_set_mftest_fw_info(USR_APP_NAME,USR_APP_VER);
// 关闭低电压关机功能,用户如果接电池,建议开启这个功能。
tal_cellular_vbat_low_volt_poweroff_enable(FALSE);
// 涂鸦云设备持续连接超过15分钟,就会关闭进入涂鸦产测,在调试中可以关闭这个功能。如果正式产品建议取消对mf_test_ignore_close_flag的调用
//mf_test_ignore_close_flag();
#ifdef TCS600E
    tuya_cniot_mftest_set_uart_port(TUYA_UART_NUM_1,9600);
#endif
  tuya_cniot_start_mftest();

tal_cpu_set_lp_mode(TRUE);
// 初始化网络灯服务,用户自由选择是否使用
tuya_celluluar_sys_netmode_init();

// USB UART PORT 5 ,用户可以自定义修改支持TUYA_UART_NUM_0~TUYA_UART_NUM_5,不同平台USB PORT可能不一致或者不支持。
tuya_cli_init_with_uart(TUYA_UART_NUM_0);

ty_device_init();
tuya_cli_cmd_register(&s_tycloud_cmd,1);

//订阅蜂窝网络注册事件
tuya_iot_cellular_subscribe_net_registion_notify("cloud.demo",__cellular_netreg_event);
//订阅蜂窝网络PDP事件
tuya_iot_cellular_subscribe_pdp_notify("cloud.demo",__cellular_netpdp_event);
//订阅蜂窝设备SIM卡的事件
tuya_iot_cellular_subscribe_sim_notify("cloud.demo",__cellular_sim_event);
//订阅蜂窝设备网络告警事件
tuya_iot_cellular_subscribe_health_warning("cloud.demo",__cellular_netissue_event);
// 直接启动PDP激活
tal_cellular_mds_pdp_active(0,NULL,NULL,NULL);

//启动蜂窝设备网络监控服务
tuya_cellular_health_start();

ty_subscribe_event(EVENT_RUN,"cloud.demo",tuya_tts_player_init_cb,SUBSCRIBE_TYPE_NORMAL);


/* 线程执行完毕,退出 */
ret = tal_thread_delete(ty_cloud_TaskHandle);
if (OPRT_OK != ret) {
	TAL_PR_ERR("[cloud.demo]: ty_cloud task exit failed: %d", ret);
} else {
	TAL_PR_NOTICE("[cloud.demo]: ty_cloud task exit success");
}
}

/**
 * @brief   应用入口函数
 *
 * @return  0 成功
 *
 * @note    应用必须对其进行实现,系统加载完成后会调用该接口注册应用函数
 */
#if defined(OPERATING_SYSTEM) && (OPERATING_SYSTEM==100)
int main(void *param)
#else
int appimg_enter(void *param)
#endif
{
	THREAD_CFG_T cfg;
	OPERATE_RET ret;



/* 创建 hello 线程 */
cfg.priority = THREAD_PRIO_0;
cfg.stackDepth = 1024 * 8;
cfg.thrdname = "ty_cloud";
ret = tal_thread_create_and_start(&ty_cloud_TaskHandle, NULL, NULL,
                                  ty_cloud_thread, NULL, &cfg);
if (OPRT_OK != ret) {
    TAL_PR_ERR("[cloud.demo]: create cloud task failed: %d", ret);
    return -1;
} else {
	TAL_PR_NOTICE("[cloud.demo]: create cloud task success");
}
#if defined(L610) && (L610==1)
    return tuya_cniot_system_callback();
#else
    return 0;
#endif
}
Post Reply