pure sdk for main
This commit is contained in:
@@ -0,0 +1,538 @@
|
||||
#include "sys_config.h"
|
||||
#include "basic_include.h"
|
||||
#include "hal/netdev.h"
|
||||
#include "lib/atcmd/libatcmd.h"
|
||||
#include "lib/umac/ieee80211.h"
|
||||
#include "lib/bus/xmodem/xmodem.h"
|
||||
#include "lib/lmac/lmac_def.h"
|
||||
#if BLE_SUPPORT
|
||||
#include "lib/ble/ble_demo.h"
|
||||
#include "lib/ble/ble_def.h"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_UMAC4
|
||||
#include "lwip/ip_addr.h"
|
||||
#include "lwip/icmp.h"
|
||||
#include "lwip/apps/lwiperf.h"
|
||||
#endif
|
||||
|
||||
#include "syscfg.h"
|
||||
|
||||
int32 sys_atcmd_loaddef(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
syscfg_loaddef();
|
||||
atcmd_ok;
|
||||
mcu_reset();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_atcmd_goto_boot(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
os_printf("system goto boot\r\n");
|
||||
|
||||
system_goto_boot();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_atcmd_reset(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
atcmd_ok;
|
||||
|
||||
if (argc >= 1) {
|
||||
uint32 run_addr, reset_usb=0, param = 0;
|
||||
sys_errlog_flush(0xffffffff, 0, 0);
|
||||
disable_irq();
|
||||
mcu_watchdog_feed();
|
||||
if (argc >= 1) run_addr = os_atoh(argv[0]);
|
||||
if (argc >= 2) reset_usb = os_atoh(argv[1]);
|
||||
if (argc >= 3) param = os_atoh(argv[2]);
|
||||
mcu_watchdog_feed();
|
||||
// os_printf("reset addr=%08x, rst_usb=%d, param=%d\r\n", run_addr, reset_usb, param);
|
||||
if (reset_usb) {
|
||||
pmu_clr_direct_run_pengding2();
|
||||
} else {
|
||||
pmu_set_direct_run_pengding2();
|
||||
}
|
||||
|
||||
((void (*)(uint32))run_addr)(param);
|
||||
} else {
|
||||
mcu_reset();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_atcmd_jtag(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
jtag_map_set(1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_syscfg_dump_hdl(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
void syscfg_dump(void);
|
||||
syscfg_dump();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_heap_dump_hdl(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if(argc == 0){
|
||||
sysheap_dump(&sram_heap);
|
||||
}else{
|
||||
if(os_strcmp(argv[1], "psram") == 0){
|
||||
sysheap_dump(&psram_heap);
|
||||
}else{
|
||||
sysheap_dump(&sram_heap);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_UMAC4
|
||||
int32 sys_atcmd_ping(const char *cmd, char *argv[], uint32 argc) //need: #define LWIP_RAW 1
|
||||
{
|
||||
int32 loop_cnt = 10;
|
||||
int32 pkt_size = 32;
|
||||
if(argc > 0){
|
||||
if(argc > 1) loop_cnt = os_atoi(argv[1]);
|
||||
if(argc > 2) pkt_size = os_atoi(argv[2]);
|
||||
lwip_ping(argv[0], pkt_size, loop_cnt);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_atcmd_icmp_mntr(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
struct netdev *ndev;
|
||||
if(argc == 2){
|
||||
ndev = (struct netdev *)dev_get(HG_WIFI0_DEVID + os_atoi(argv[0]));
|
||||
if(ndev){
|
||||
netdev_ioctl(ndev, NETDEV_IOCTL_ENABLE_ICMPMNTR, os_atoi(argv[1]), 0);
|
||||
return ATCMD_RESULT_OK;
|
||||
}
|
||||
}
|
||||
return ATCMD_RESULT_ERR;
|
||||
}
|
||||
|
||||
int32 sys_atcmd_iperf2(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
int32 ret = 0;
|
||||
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
os_printf(" *********iperf usage*********\n");
|
||||
os_printf(" TCP client:at+iperf2=c,ip,port,time\n");
|
||||
os_printf(" TCP server:at+iperf2=s,port\n");
|
||||
os_printf(" UDP client:at+iperf2=u,c,ip,port,time,bandwidth,packet_len\n");
|
||||
os_printf(" UDP server:at+iperf2=u,s,port\n");
|
||||
os_printf(" *******************************\n");
|
||||
} else {
|
||||
if (argc > 0) {
|
||||
if(os_strlen(argv[0]) != 1) {
|
||||
os_printf("%s,%d:Invaild param1,must be c or s or u\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (argv[0][0] == 'c' || argv[0][0] == 'C') {
|
||||
if (argc < 4) {
|
||||
os_printf("TCP client mode requires 4 parameters: mode,ip,port,time\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
os_printf("%s:iperf2 TCP CLIENT mode,remote IP:%s,port:%d,time:%d\n",
|
||||
__FUNCTION__, argv[1], os_atoi(argv[2]), os_atoi(argv[3]));
|
||||
ret = sys_lwiperf_tcp_client_start(argv[1], os_atoi(argv[2]), os_atoi(argv[3]));
|
||||
} else if (argv[0][0] == 's' || argv[0][0] == 'S') {
|
||||
if (argc < 2) {
|
||||
os_printf("TCP server mode requires 2 parameters: mode port\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
os_printf("%s:iperf2 TCP Server mode,port:%d\n", __FUNCTION__, os_atoi(argv[1]));
|
||||
ret = sys_lwiperf_tcp_server_start(os_atoi(argv[1]));
|
||||
} else if (argv[0][0] == 'u' || argv[0][0] == 'U') {//UDP
|
||||
if (argc < 2) {
|
||||
os_printf("UDP mode requires at least 2 arguments.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if(os_strlen(argv[1]) != 1) {
|
||||
os_printf("%s,%d:Invaild param2,must be c or s\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (argv[1][0] == 'c' || argv[1][0] == 'C') {
|
||||
if (argc < 7) {
|
||||
os_printf("UDP client mode requires 7 parameters: u c ip port time bandwidth packet_len\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
os_printf("%s:iperf2 UDP CLIENT mode,remote IP:%s,port:%d,time:%d,bandwidth:%u,len:%d\n",
|
||||
__FUNCTION__,
|
||||
argv[2],//ip
|
||||
os_atoi(argv[3]), //port
|
||||
os_atoi(argv[4]), //time
|
||||
os_atoi(argv[5]),//bandwidth
|
||||
os_atoi(argv[6]));//packet_len
|
||||
ret = sys_lwiperf_udp_client_start(argv[2], os_atoi(argv[3]), os_atoi(argv[4]),
|
||||
os_atoi(argv[5]), os_atoi(argv[6]));//UDP CLIENT
|
||||
} else if (argv[1][0] == 's' || argv[1][0] == 'S') {
|
||||
if (argc < 3) {
|
||||
os_printf("UDP server mode requires 4 parameters: u s port\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
os_printf("%s:iperf2 UDP SERVER mode,port:%d\n",
|
||||
__FUNCTION__, os_atoi(argv[2])); //port
|
||||
ret = sys_lwiperf_udp_server_start(os_atoi(argv[2]));//UDP SERVER
|
||||
} else {
|
||||
os_printf("Unknow iperf udp mode:%s\n", argv[1]);
|
||||
return -ENOENT;
|
||||
}
|
||||
} else {
|
||||
os_printf("Unknow iperf mode:%s\n", argv[0]);
|
||||
return -ENOENT;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_set_channel(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
int32 chan = 0, chan_max;
|
||||
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("%d", ieee80211_conf_get_channel(sys_cfgs.wifi_mode));
|
||||
} else if (argc == 1) {
|
||||
chan = os_atoi(argv[0]);
|
||||
#ifdef TXW4002ACK803
|
||||
chan_max = 16;
|
||||
#else
|
||||
chan_max = 13;
|
||||
#endif
|
||||
if ((chan < 1) || (chan > chan_max)) {
|
||||
atcmd_printf("+CHANNEL: ERROR, INVALID CHANNEL %d\r\n", chan);
|
||||
return ATCMD_RESULT_DONE;
|
||||
}
|
||||
|
||||
if (sys_cfgs.wifi_mode == WIFI_MODE_AP) {
|
||||
ieee80211_conf_set_channel(WIFI_MODE_AP, chan);
|
||||
sys_cfgs.channel = ieee80211_conf_get_channel(WIFI_MODE_AP);
|
||||
} else if (sys_cfgs.wifi_mode == WIFI_MODE_STA || sys_cfgs.wifi_mode == WIFI_MODE_APSTA) {
|
||||
ieee80211_conf_set_channel(WIFI_MODE_STA, chan);
|
||||
sys_cfgs.channel = ieee80211_conf_get_channel(WIFI_MODE_STA);
|
||||
}
|
||||
syscfg_save();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_set_encrypt(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
int32 ret = -1;
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
if (sys_cfgs.key_mgmt == WPA_KEY_MGMT_NONE) {
|
||||
ret = 0;
|
||||
} else if (sys_cfgs.key_mgmt == WPA_KEY_MGMT_PSK) {
|
||||
ret = 1;
|
||||
} else if (sys_cfgs.key_mgmt == WPA_KEY_MGMT_SAE) {
|
||||
ret = 2;
|
||||
} else if (sys_cfgs.key_mgmt == WPA_KEY_MGMT_OWE) {
|
||||
ret = 3;
|
||||
}
|
||||
atcmd_resp("%d", ret);
|
||||
} else if (argc == 1) {
|
||||
if ('1' == argv[0][0]) {
|
||||
sys_cfgs.key_mgmt = WPA_KEY_MGMT_PSK;
|
||||
ieee80211_conf_set_keymgmt(sys_cfgs.wifi_mode, sys_cfgs.key_mgmt);
|
||||
syscfg_save();
|
||||
} else if ('2' == argv[0][0]) {
|
||||
sys_cfgs.key_mgmt = WPA_KEY_MGMT_SAE;
|
||||
ieee80211_conf_set_keymgmt(sys_cfgs.wifi_mode, sys_cfgs.key_mgmt);
|
||||
syscfg_save();
|
||||
} else if ('3' == argv[0][0]) {
|
||||
sys_cfgs.key_mgmt = WPA_KEY_MGMT_OWE;
|
||||
ieee80211_conf_set_keymgmt(sys_cfgs.wifi_mode, sys_cfgs.key_mgmt);
|
||||
syscfg_save();
|
||||
} else if ('0' == argv[0][0]) {
|
||||
sys_cfgs.key_mgmt = WPA_KEY_MGMT_NONE;
|
||||
ieee80211_conf_set_keymgmt(sys_cfgs.wifi_mode, sys_cfgs.key_mgmt);
|
||||
syscfg_save();
|
||||
} else {
|
||||
os_printf("encrypt atcmd err\r\n");
|
||||
return ATCMD_RESULT_ERR;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_set_ssid(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("%s", sys_cfgs.ssid);
|
||||
} else if (argc == 1) {
|
||||
os_memset(sys_cfgs.bssid, 0, 6);
|
||||
os_strncpy(sys_cfgs.ssid, argv[0], SSID_MAX_LEN);
|
||||
ieee80211_conf_set_bssid(sys_cfgs.wifi_mode, NULL);
|
||||
if (os_strlen(sys_cfgs.passwd) > 0) {
|
||||
wpa_passphrase(sys_cfgs.ssid, sys_cfgs.passwd, sys_cfgs.psk);
|
||||
}
|
||||
ieee80211_conf_set_ssid(sys_cfgs.wifi_mode, sys_cfgs.ssid);
|
||||
ieee80211_conf_set_psk(sys_cfgs.wifi_mode, sys_cfgs.psk);
|
||||
os_printf("set new ssid:%s\r\n", sys_cfgs.ssid);
|
||||
syscfg_save();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_set_key(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("%s", sys_cfgs.passwd);
|
||||
} else if (argc == 1) {
|
||||
// psk need 8 bytes at less
|
||||
if (os_strlen(argv[0]) < 8) {
|
||||
os_printf("psk need 8 bytes at less\r\n");
|
||||
return ATCMD_RESULT_ERR;
|
||||
} else {
|
||||
os_strncpy(sys_cfgs.passwd, argv[0], PASSWD_MAX_LEN);
|
||||
wpa_passphrase(sys_cfgs.ssid, sys_cfgs.passwd, sys_cfgs.psk);
|
||||
ieee80211_conf_set_psk(sys_cfgs.wifi_mode, sys_cfgs.psk);
|
||||
#ifdef CONFIG_SAE
|
||||
ieee80211_conf_set_passwd(sys_cfgs.wifi_mode, sys_cfgs.passwd);
|
||||
#endif
|
||||
os_printf("set new key:%s\r\n", sys_cfgs.passwd);
|
||||
syscfg_save();
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_set_wifimode(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("%s", sys_cfgs.wifi_mode == WIFI_MODE_AP ? "ap" : (sys_cfgs.wifi_mode == WIFI_MODE_APSTA ? "apsta" : "sta"));
|
||||
} else if (argc == 1) {
|
||||
if (os_strcasecmp(argv[0], "ap") == 0 && sys_cfgs.wifi_mode != WIFI_MODE_AP) {
|
||||
sys_cfgs.wifi_mode = WIFI_MODE_AP;
|
||||
ieee80211_iface_stop(WIFI_MODE_STA);
|
||||
wificfg_flush(WIFI_MODE_AP);
|
||||
netdev_set_wifi_mode((struct netdev *)dev_get(HG_WIFI0_DEVID), WIFI_MODE_AP);
|
||||
ieee80211_iface_start(WIFI_MODE_AP);
|
||||
} else if (os_strcasecmp(argv[0], "sta") == 0 && sys_cfgs.wifi_mode != WIFI_MODE_STA) {
|
||||
sys_cfgs.wifi_mode = WIFI_MODE_STA;
|
||||
ieee80211_iface_stop(WIFI_MODE_AP);
|
||||
wificfg_flush(WIFI_MODE_STA);
|
||||
netdev_set_wifi_mode((struct netdev *)dev_get(HG_WIFI0_DEVID), WIFI_MODE_STA);
|
||||
ieee80211_iface_start(WIFI_MODE_STA);
|
||||
} else if (os_strcasecmp(argv[0], "apsta") == 0 && sys_cfgs.wifi_mode != WIFI_MODE_APSTA) {
|
||||
sys_cfgs.wifi_mode = WIFI_MODE_APSTA;
|
||||
wificfg_flush(WIFI_MODE_AP);
|
||||
ieee80211_iface_start(WIFI_MODE_AP);
|
||||
wificfg_flush(WIFI_MODE_STA);
|
||||
netdev_set_wifi_mode((struct netdev *)dev_get(HG_WIFI0_DEVID), WIFI_MODE_APSTA);
|
||||
ieee80211_iface_start(WIFI_MODE_STA);
|
||||
}
|
||||
os_printf("set wifi mode:%s\r\n", argv[0]);
|
||||
syscfg_save();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_loaddef(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
syscfg_loaddef();
|
||||
mcu_reset();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_scan(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 2) {
|
||||
struct ieee80211_scandata scan;
|
||||
os_memset(&scan, 0, sizeof(scan));
|
||||
scan.chan_bitmap = 0xffff;
|
||||
scan.scan_cnt = os_atoi(argv[0]);
|
||||
scan.scan_time = os_atoi(argv[1]);
|
||||
ieee80211_scan(sys_cfgs.wifi_mode, 1, &scan);
|
||||
} else {
|
||||
ieee80211_scan(sys_cfgs.wifi_mode, 1, NULL);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_pair(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
uint32 magic = os_atoi(argv[0]);
|
||||
ieee80211_pairing(sys_cfgs.wifi_mode, magic);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_aphide(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("%d", sys_cfgs.ap_hide);
|
||||
} else if (argc == 1) {
|
||||
sys_cfgs.ap_hide = os_atoi(argv[0]);
|
||||
ieee80211_conf_set_aphide(sys_cfgs.wifi_mode, sys_cfgs.ap_hide);
|
||||
syscfg_save();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_hwmode(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("%d", sys_cfgs.wifi_hwmode);
|
||||
} else if (argc == 1) {
|
||||
sys_cfgs.wifi_hwmode = os_atoi(argv[0]);
|
||||
ieee80211_conf_set_hwmode(sys_cfgs.wifi_mode, sys_cfgs.wifi_hwmode);
|
||||
syscfg_save();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_ble_atcmd_blenc(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
#if BLE_SUPPORT
|
||||
extern void *g_ops;
|
||||
|
||||
uint8 mode = 0;
|
||||
struct lmac_ops *lops = (struct lmac_ops *)g_ops;
|
||||
struct bt_ops *bt_ops = (struct bt_ops *)lops->btops;
|
||||
|
||||
if (argc == 1) {
|
||||
mode = os_atoi(argv[0]);
|
||||
switch (mode) {
|
||||
case 0:
|
||||
if (ble_demo_stop(bt_ops)) {
|
||||
return ATCMD_RESULT_ERR;
|
||||
} else {
|
||||
os_printf("\n\nble close \r\n\n");
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
if (ble_demo_start(bt_ops, mode - 1)) {
|
||||
return ATCMD_RESULT_ERR;
|
||||
} else {
|
||||
os_printf("\n\nset ble mode = %d \r\n\n", mode);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_ft(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
#ifdef CONFIG_IEEE80211R
|
||||
struct ieee80211_ft_param ft;
|
||||
uint8 ifidx = (sys_cfgs.wifi_mode == WIFI_MODE_APSTA ? WIFI_MODE_STA : sys_cfgs.wifi_mode);
|
||||
|
||||
os_memset(&ft, 0, sizeof(ft));
|
||||
str2mac(argv[0], ft.bssid_new);
|
||||
os_printf("FT_start: target_bssid= "MACSTR" argc= %d\r\n", MAC2STR(ft.bssid_new), argc);
|
||||
ieee80211_conf_set_ft(ifidx, &ft);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_ble_atcmd_set_coexist_en(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
#if BLE_SUPPORT
|
||||
extern void *g_ops;
|
||||
uint8 coexist, dec_duty;
|
||||
|
||||
struct lmac_ops *lops = (struct lmac_ops *)g_ops;
|
||||
struct bt_ops *bt_ops = (struct bt_ops *)lops->btops;
|
||||
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("coexist,dec_duty");
|
||||
} else if (argc == 2) {
|
||||
coexist = os_atoi(argv[0]);
|
||||
dec_duty = os_atoi(argv[1]);
|
||||
if (ble_set_coexist_en(bt_ops, coexist, dec_duty)) {
|
||||
return ATCMD_RESULT_ERR;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_wificsa(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 4) {
|
||||
struct ieee80211_csa_param csa;
|
||||
csa.mode = os_atoi(argv[1]);
|
||||
csa.chan = os_atoi(argv[2]);
|
||||
csa.count = os_atoi(argv[3]);
|
||||
return ieee80211_conf_set_csa(os_atoi(argv[0]), &csa);
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if WIFI_REPEATER_SUPPORT
|
||||
int32 sys_wifi_atcmd_set_rssid(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("%s", sys_cfgs.r_ssid);
|
||||
} else if (argc == 1) {
|
||||
sys_cfgs.cfg_init = 1;
|
||||
os_strncpy(sys_cfgs.r_ssid, argv[0], SSID_MAX_LEN);
|
||||
wpa_passphrase(sys_cfgs.r_ssid, sys_cfgs.r_passwd, sys_cfgs.r_psk);
|
||||
syscfg_save();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_set_rkey(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("%s", sys_cfgs.r_passwd);
|
||||
} else if (argc == 1) {
|
||||
// psk need 8 bytes at less
|
||||
if (os_strlen(argv[0]) < 8) {
|
||||
atcmd_printf("need 8 bytes at less\r\n");
|
||||
return ATCMD_RESULT_ERR;
|
||||
} else {
|
||||
sys_cfgs.cfg_init = 1;
|
||||
sys_cfgs.r_key_mgmt = sys_cfgs.key_mgmt;
|
||||
os_strncpy(sys_cfgs.r_passwd, argv[0], PASSWD_MAX_LEN);
|
||||
wpa_passphrase(sys_cfgs.r_ssid, sys_cfgs.r_passwd, sys_cfgs.r_psk);
|
||||
syscfg_save();
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int32 sys_wifi_atcmd_reboot_test_mode(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 1 && argv[0][0] == '1') {
|
||||
system_reboot_test_mode();
|
||||
atcmd_ok;
|
||||
mcu_reset();
|
||||
} else {
|
||||
system_reboot_normal_mode();
|
||||
atcmd_ok;
|
||||
mcu_reset();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 sys_wifi_atcmd_dhcpd_lease_time(const char *cmd, char *argv[], uint32 argc)
|
||||
{
|
||||
if (argc == 1 && argv[0][0] == '?') {
|
||||
atcmd_resp("%d", sys_cfgs.dhcpd_lease_time);
|
||||
} else if (argc == 1) {
|
||||
sys_cfgs.dhcpd_lease_time = os_atoi(argv[0]);
|
||||
os_printf("DHCP lease time set to %d\r\n", sys_cfgs.dhcpd_lease_time);
|
||||
syscfg_save();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user