公共函数
涉及到操作设备的底层接口,sdk将函数体定义好,具体需要开发者根据设备实现,sdk需要时会调用函数; 函数位置:tuya_iot_sdk/demo_soc_dev_wifi/tuya_iot_wifi_net.c文件中,文件中接口实现供参考,需要可以根据设备调整
hwl_wf_station_connect
/**
* @Function: hwl_wf_station_connect
* @Description: sdk收到app下发的路由器的ssid和passwd,通知应用层去连接路由器.
* @Param: ssid && passwd, The router's wifi name and password
* @Return: 这里直接返回OPRT_OK,设备连接路由器是否成功通过hwl_wf_station_stat_get函数通知tuya-sdk
* @Note: 1. tuya-sdk将会调用,当设备收到手机app下发的配网信息时
2. 设备配网成功后,设备断电重启,tuya-sdk会调用以连接路由器,让设备上线
*/
OPERATE_RET hwl_wf_station_connect(IN CONST CHAR_T *ssid,IN CONST CHAR_T *passwd)
{
PR_DEBUG("STA Con AP ssid:%s passwd:%s", ssid, passwd);
// UserTODO
return OPRT_OK;
}
hwl_wf_station_stat_get
/**
* @Function: hwl_wf_station_stat_get
* @Description: 设备网络状态获取
* @Param: OUT WF_STATION_STAT_E *stat
* 1. WSS_GOT_IP 设备连接外网成功,
* tuya-sdk拿到这个状态后会连接涂鸦云上线或激活
* 2. WSS_CONN_FAIL 设备连接外网失败
* @Return: tuya-sdk会调用此函数获取设备的网络状态
*/
OPERATE_RET hwl_wf_station_stat_get(OUT WF_STATION_STAT_E *stat)
{
// UserTODO
*stat = ?;
return OPRT_OK;
}
hwl_wf_station_get_conn_ap_rssi
/**
* @Function: hwl_wf_station_get_conn_ap_rssi
* @Description: 手机app获取设备信号强度时,tuya-sdk调用
* @Param: OUT SCHAR_T *rssi
* @Return: OPRT_OK: success Other: fail
*/
OPERATE_RET hwl_wf_station_get_conn_ap_rssi(OUT SCHAR_T *rssi)
{
*rssi = ?;
return OPRT_OK;
}
hwl_wf_station_disconnect
/**
* @Function: hwl_wf_station_disconnect
* @Description: tuya-sdk请求设备断开和路由器的连接;
* 1. 重置配网后会,tuya-sdk会调用
* @Param: VOID
* @Return: void
*/
OPERATE_RET hwl_wf_station_disconnect(VOID)
{
PR_DEBUG("Disconnect WIFI Conn");
// UserTODO
return OPRT_OK;
}
hwl_wf_get_ip
/**
* @Function: hwl_wf_get_ip
* @Description: get wifi ip info.when wifi works in
* ap+station mode, wifi has two ips.
* @Param: wf: wifi function type
* @Param: ip: the ip addr info
* @Return: OPRT_OK: success Other: fail
* @Note: 1.和APP端局域网通信时sdk会调用此接口获取设备ip地址,sdk中实现仅供参考,
* 请根据设备系统属性检查下
*/
OPERATE_RET hwl_wf_get_ip(IN CONST WF_IF_E wf,OUT NW_IP_S *ip)
{
// UserTODO
return OPRT_OK;
}
hwl_wf_wk_mode_set
/***********************************************************
* @Function:hwl_wf_wk_mode_set
* @Desc: 设置设备wifi网卡工作模式
* @Param: mode,
* @Return: OPRT_OK: success Other: fail
* @Note: tuya_sdk会调用,应用层需要根据设备实现
* @Note: 用户需实现 station/ap/sniffer三种模式切换的实现,
* Smart配网模式下,需要支持切换sniffer模式
***********************************************************/
OPERATE_RET hwl_wf_wk_mode_set(IN CONST WF_WK_MD_E mode)
{
// UserTODO
switch (mode)
{
case WWM_LOWPOWER:
{
//关闭配网模式
break;
}
case WWM_SNIFFER:
{
break;
}
case WWM_STATION:
{
break;
}
case WWM_SOFTAP:
{
break;
}
case WWM_STATIONAP:
{//reserved
break;
}
default:
{
break;
}
}
PR_DEBUG("WIFI Set Mode:%d", mode);
return OPRT_OK;
}
hwl_wf_wk_mode_get
/***********************************************************
* @Function:hwl_wf_wk_mode_get
* @Desc: 获取设备wifi网卡工作模式
* @Param: mode,
* @Return: OPRT_OK: success Other: fail
* @Note: tuya_sdk会调用,应用层需要根据设备实现
***********************************************************/
OPERATE_RET hwl_wf_wk_mode_get(OUT WF_WK_MD_E *mode)
{
// UserTODO
*mode = ? ;
PR_DEBUG("WIFI Get Mode:%d", *mode);
return OPRT_OK;
}