Files
2025-08-27 09:51:58 +01:00

74 lines
1.8 KiB
C

#ifndef _PROJECT_SYSCFG_H_
#define _PROJECT_SYSCFG_H_
#include "lib/umac/ieee80211.h"
#define CFG_VERSION_NUM 0x0103
enum WIFI_WORK_MODE {
WIFI_MODE_NONE = 0,
WIFI_MODE_STA,
WIFI_MODE_AP,
WIFI_MODE_APSTA,
};
struct system_status {
uint32 dhcpc_done: 1,
wifi_connected: 1,
dbg_heap: 1,
dbg_top: 2,
dbg_lmac: 1,
dbg_umac: 1,
dbg_irq: 1,
reset_wdt: 1,
upgrading: 1,
pair_success: 1;
uint8 channel;
};
struct sys_config {
uint16 magic_num, crc;
uint16 size, cfg_ver, rev2;
///////////////////////////////////////
uint8 wifi_hwmode, default_wifi_mode;
uint8 wifi_mode, bss_bw, tx_mcs, channel;
uint8 bssid[6], mac[6];
uint8 ssid[32];
uint8 psk[32];
char passwd[PASSWD_MAX_LEN+1];
uint16 bss_max_idle, beacon_int;
uint16 ack_tmo, dtim_period;
uint32 key_mgmt;
uint32 dhcpc_en:1, dhcpd_en:1, ap_hide:1, xxxxxx: 29;
uint32 ipaddr, netmask, gw_ip;
uint32 dhcpd_startip, dhcpd_endip, dhcpd_lease_time;
uint32 user_param1,user_param2;
uint32 dsleep_test_cfg[4];
uint16 wireless_paircode;
struct ieee80211_bss_wpadata bss_data;
uint8 ble_pair_status;
uint8 net_pair_switch;
uint8 station_channel;
};
extern struct sys_config sys_cfgs;
extern struct system_status sys_status;
void syscfg_set_default_val(void);
int32 wificfg_flush(uint8 ifidx);
void syscfg_check(void);
void syscfg_dump(void);
uint8 get_sys_cfgs_ble_pair_status();
void wifi_create_station(char *ssid,char *password,int key_mode);
void wifi_create_ap(char *ssid,char *password,int key_mode,int channel);
void syscfg_save_AP_msg(uint8_t *bssid,uint8_t station_channel,struct ieee80211_bss_wpadata *bss_data);
#endif