700 lines
20 KiB
C
700 lines
20 KiB
C
/**
|
|
* @file wm_params.h
|
|
*
|
|
* @brief param manager Module
|
|
*
|
|
* @author winnermicro
|
|
*
|
|
* Copyright (c) 2015 Winner Microelectronics Co., Ltd.
|
|
*/
|
|
#ifndef TLS_PARAMS_H
|
|
#define TLS_PARAMS_H
|
|
|
|
#include "wm_type_def.h"
|
|
|
|
/***************************************************************************************
|
|
ID | Data Type
|
|
***************************************************************************************
|
|
TLS_PARAM_ID_SSID | struct tls_param_ssid ssid
|
|
TLS_PARAM_ID_ENCRY | u8 encry
|
|
TLS_PARAM_ID_KEY | struct tls_param_key key
|
|
TLS_PARAM_ID_IP | struct tls_param_ip ipcfg
|
|
TLS_PARAM_ID_AUTOMODE | u8 auto_mode
|
|
TLS_PARAM_ID_DEFSOCKET | N/A
|
|
TLS_PARAM_ID_BSSID | struct tls_param_bssid bssid
|
|
TLS_PARAM_ID_CHANNEL | u8 channel
|
|
TLS_PARAM_ID_CHANNEL_EN | u8 channel_enable
|
|
TLS_PARAM_ID_COUNTRY_REGION | u8 wireless_region
|
|
TLS_PARAM_ID_WPROTOCOL | u8 wireless_protocol
|
|
TLS_PARAM_ID_ADHOC_AUTOCREATE | N/A
|
|
TLS_PARAM_ID_ROAMING | u8 auto_roam
|
|
TLS_PARAM_ID_AUTO_RETRY_CNT | N/A
|
|
TLS_PARAM_ID_WBGR | struct tls_param_bgr wbgr
|
|
TLS_PARAM_ID_USRINTF | N/A
|
|
TLS_PARAM_ID_AUTO_TRIGGER_LENGTH | N/A
|
|
TLS_PARAM_ID_DEBUG_MODE | N/A
|
|
TLS_PARAM_ID_HARDVERSION | struct tls_param_hardware_version hardware_v
|
|
TLS_PARAM_ID_BRDSSID | u8 ssid_broadcast_enable
|
|
TLS_PARAM_ID_DNSNAME | u8 local_dnsname[32]
|
|
TLS_PARAM_ID_DEVNAME | u8 local_device_name[32]
|
|
TLS_PARAM_ID_PSM | u8 auto_powersave
|
|
TLS_PARAM_ID_ORAY_CLIENT | N/A
|
|
TLS_PARAM_ID_UPNP | N/A
|
|
TLS_PARAM_ID_UART | struct tls_param_uart uart_cfg
|
|
TLS_PARAM_ID_WPS | struct tls_param_wps wps
|
|
TLS_PARAM_ID_AUTO_TRIGGER_PERIOD | N/A
|
|
TLS_PARAM_ID_ESCAPE_CHAR | N/A
|
|
TLS_PARAM_ID_ESCAPE_PERIOD | N/A
|
|
TLS_PARAM_ID_IO_MODE | N/A
|
|
TLS_PARAM_ID_CMD_MODE | N/A
|
|
TLS_PARAM_ID_PASSWORD | u8 PassWord[6]
|
|
TLS_PARAM_ID_CHANNEL_LIST | u16 channellist
|
|
TLS_PARAM_ID_WEBS_CONFIG | struct tls_webs_cfg WebsCfg
|
|
TLS_PARAM_ID_ONESHOT_CFG | u8 oneshotflag
|
|
TLS_PARAM_ID_SHA1 | N/A
|
|
TLS_PARAM_ID_ORIGIN_KEY | N/A
|
|
TLS_PARAM_ID_ORIGIN_SSID | N/A
|
|
TLS_PARAM_ID_AUTO_RECONNECT | u8 auto_reconnect
|
|
***************************************************************************************/
|
|
|
|
#define TLS_PARAM_STATUS_OK (0)
|
|
#define TLS_PARAM_STATUS_EINVALID (1)
|
|
#define TLS_PARAM_STATUS_EMEM (2)
|
|
#define TLS_PARAM_STATUS_EIO (3)
|
|
#define TLS_PARAM_STATUS_EPERM (4)
|
|
#define TLS_PARAM_STATUS_EINVALIDID (5)
|
|
|
|
/** MACRO of Magic number initial value */
|
|
#define TLS_PARAM_INIT_MAGIC (0xffffffff)
|
|
/** MACRO of Magic number valid value */
|
|
#define TLS_PARAM_MAGIC (0x4947414d)
|
|
|
|
/** MACRO of parameter partition number */
|
|
#define TLS_PARAM_PARTITION_NUM (2)
|
|
|
|
/** MACRO of parameter identity */
|
|
#define TLS_PARAM_ID_ALL (-1)
|
|
#define TLS_PARAM_ID_SSID (0)
|
|
#define TLS_PARAM_ID_ENCRY (1)
|
|
#define TLS_PARAM_ID_KEY (2)
|
|
#define TLS_PARAM_ID_IP (3)
|
|
#define TLS_PARAM_ID_AUTOMODE (4)
|
|
#define TLS_PARAM_ID_DEFSOCKET (5)
|
|
#define TLS_PARAM_ID_BSSID (6)
|
|
#define TLS_PARAM_ID_CHANNEL (7)
|
|
#define TLS_PARAM_ID_CHANNEL_EN (8)
|
|
#define TLS_PARAM_ID_COUNTRY_REGION (9)
|
|
#define TLS_PARAM_ID_WPROTOCOL (10)
|
|
#define TLS_PARAM_ID_ADHOC_AUTOCREATE (11)
|
|
#define TLS_PARAM_ID_ROAMING (12)
|
|
#define TLS_PARAM_ID_AUTO_RETRY_CNT (13)
|
|
#define TLS_PARAM_ID_WBGR (14)
|
|
#define TLS_PARAM_ID_USRINTF (15)
|
|
#define TLS_PARAM_ID_AUTO_TRIGGER_LENGTH (16)
|
|
#define TLS_PARAM_ID_DEBUG_MODE (17)
|
|
#define TLS_PARAM_ID_HARDVERSION (18)
|
|
#define TLS_PARAM_ID_BRDSSID (19)
|
|
#define TLS_PARAM_ID_DNSNAME (20)
|
|
#define TLS_PARAM_ID_DEVNAME (21)
|
|
#define TLS_PARAM_ID_PSM (22)
|
|
#define TLS_PARAM_ID_ORAY_CLIENT (23)
|
|
#define TLS_PARAM_ID_UPNP (24)
|
|
#define TLS_PARAM_ID_UART (26)
|
|
#define TLS_PARAM_ID_WPS (27)
|
|
#define TLS_PARAM_ID_AUTO_TRIGGER_PERIOD (28)
|
|
#define TLS_PARAM_ID_ESCAPE_CHAR (29)
|
|
#define TLS_PARAM_ID_ESCAPE_PERIOD (30)
|
|
#define TLS_PARAM_ID_IO_MODE (31)
|
|
#define TLS_PARAM_ID_CMD_MODE (32)
|
|
#define TLS_PARAM_ID_PASSWORD (33)
|
|
#define TLS_PARAM_ID_CHANNEL_LIST (34)
|
|
#define TLS_PARAM_ID_WEBS_CONFIG (35)
|
|
#define TLS_PARAM_ID_ONESHOT_CFG (36)
|
|
#define TLS_PARAM_ID_SHA1 (37)
|
|
#define TLS_PARAM_ID_ORIGIN_KEY (38)
|
|
#define TLS_PARAM_ID_ORIGIN_SSID (39)
|
|
#define TLS_PARAM_ID_AUTO_RECONNECT (40)
|
|
#define TLS_PARAM_ID_QUICK_CONNECT (41)
|
|
#define TLS_PARAM_ID_KEY_CHANGE (42)
|
|
#define TLS_PARAM_ID_SSID_CHANGE (43)
|
|
#define TLS_PARAM_ID_SOFTAP_SSID (44)
|
|
#define TLS_PARAM_ID_SOFTAP_PSK (45)
|
|
#define TLS_PARAM_ID_SOFTAP_ENCRY (46)
|
|
#define TLS_PARAM_ID_SOFTAP_KEY (47)
|
|
#define TLS_PARAM_ID_SOFTAP_IP (48)
|
|
#define TLS_PARAM_ID_SOFTAP_CHANNEL (49)
|
|
#define TLS_PARAM_ID_SOFTAP_WBGR (50)
|
|
|
|
#define TLS_PARAM_ID_SNTP_SERVER1 (51)
|
|
#define TLS_PARAM_ID_SNTP_SERVER2 (52)
|
|
#define TLS_PARAM_ID_SNTP_SERVER3 (53)
|
|
#define TLS_PARAM_ID_TEM_OFFSET (54)
|
|
|
|
/** BT&BLE param */
|
|
#define TLS_PARAM_ID_BT_ADAPTER (55)
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_1 (56)
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_2 (57)
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_3 (58)
|
|
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_4 (59)
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_5 (60)
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_6 (61)
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_7 (62)
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_8 (63)
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_9 (64)
|
|
#define TLS_PARAM_ID_BT_REMOTE_DEVICE_10 (65)
|
|
|
|
#define TLS_PARAM_ID_MAX (66)
|
|
|
|
/** MACRO of Physical moe of Ieee802.11 */
|
|
#define TLS_PARAM_PHY_11BG_MIXED (0)
|
|
#define TLS_PARAM_PHY_11B (1)
|
|
#define TLS_PARAM_PHY_11BGN_MIXED (2)
|
|
/** MACRO of Ieee802.11 Tx Rate for parameter set */
|
|
#define TLS_PARAM_TX_RATEIDX_1M (0)
|
|
#define TLS_PARAM_TX_RATEIDX_2M (1)
|
|
#define TLS_PARAM_TX_RATEIDX_5_5M (2)
|
|
#define TLS_PARAM_TX_RATEIDX_11M (3)
|
|
#define TLS_PARAM_TX_RATEIDX_6M (4)
|
|
#define TLS_PARAM_TX_RATEIDX_9M (5)
|
|
#define TLS_PARAM_TX_RATEIDX_12M (6)
|
|
#define TLS_PARAM_TX_RATEIDX_18M (7)
|
|
#define TLS_PARAM_TX_RATEIDX_24M (8)
|
|
#define TLS_PARAM_TX_RATEIDX_36M (9)
|
|
#define TLS_PARAM_TX_RATEIDX_48M (10)
|
|
#define TLS_PARAM_TX_RATEIDX_54M (11)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS0 (12)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS1 (13)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS2 (14)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS3 (15)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS4 (16)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS5 (17)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS6 (18)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS7 (19)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS8 (20)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS9 (21)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS10 (22)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS11 (23)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS12 (24)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS13 (25)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS14 (26)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS15 (27)
|
|
#define TLS_PARAM_TX_RATEIDX_MCS32 (28)
|
|
|
|
|
|
/** MACRO of SSID Broadcast */
|
|
#define TLS_PARAM_SSIDBRD_DISABLE (0)
|
|
#define TLS_PARAM_SSIDBRD_ENABLE (1)
|
|
|
|
#define TLS_PARAM_ROAM_DISABLE (0)
|
|
#define TLS_PARAM_ROAM_ENABLE (1)
|
|
|
|
/** MACRO of Power Saving Mode */
|
|
#define TLS_PARAM_PSM_DISABLE (0)
|
|
#define TLS_PARAM_PSM_ENABLE (1)
|
|
|
|
#define TLS_PARAM_DDNS_DISABLE (0)
|
|
#define TLS_PARAM_DDNS_ENABLE (1)
|
|
|
|
#define TLS_PARAM_AUTO_CREATE_ADHOC_DISABLE (0)
|
|
#define TLS_PARAM_AUTO_CREATE_ADHOC_ENABLE (1)
|
|
|
|
#define TLS_PARAM_WPS_DISABLE (0)
|
|
#define TLS_PARAM_WPS_ENABLE (1)
|
|
#define TLS_PARAM_WPS_MODE_PIN (0)
|
|
#define TLS_PARAM_WPS_MODE_PBC (1)
|
|
#define TLS_PARAM_WPS_FLAG_NEGOTIATED (1 << 0)
|
|
|
|
#define TLS_PARAM_UPNP_DISABLE (0)
|
|
#define TLS_PARAM_UPNP_ENABLE (1)
|
|
|
|
/** MACRO of IEEE802.11 Work MODE */
|
|
#define TLS_PARAM_IEEE80211_INFRA (1)
|
|
#define TLS_PARAM_IEEE80211_ADHOC (2)
|
|
#define TLS_PARAM_IEEE80211_SOFTAP (4)
|
|
|
|
/** MACRO of Command or Transparent Mode */
|
|
#define TLS_PARAM_MANUAL_MODE (0)
|
|
#define TLS_PARAM_AUTO_MODE (1)
|
|
|
|
#define TLS_PARAM_ALWAYS_ONLINE_ENABLE (1)
|
|
#define TLS_PARAM_ALWAYS_ONLINE_DISABLE (0)
|
|
|
|
/** MACRO of DHCP ENABLE or DISABLE */
|
|
#define TLS_PARAM_DHCP_ENABLE (1)
|
|
#define TLS_PARAM_DHCP_DISABLE (0)
|
|
|
|
/** MACRO of COUNTRY CODE for channel number */
|
|
#define TLS_PARAM_REGION_0_BG_BAND (0) /* 1-11 */
|
|
#define TLS_PARAM_REGION_1_BG_BAND (1) /* 1-13 */
|
|
#define TLS_PARAM_REGION_2_BG_BAND (2) /* 10-11 */
|
|
#define TLS_PARAM_REGION_3_BG_BAND (3) /* 10-13 */
|
|
#define TLS_PARAM_REGION_4_BG_BAND (4) /* 14 */
|
|
#define TLS_PARAM_REGION_5_BG_BAND (5) /* 1-14 */
|
|
#define TLS_PARAM_REGION_6_BG_BAND (6) /* 3-9 */
|
|
#define TLS_PARAM_REGION_7_BG_BAND (7) /* 5-13 */
|
|
#define TLS_PARAM_REGION_MAXIMUM_BG_BAND TLS_PARAM_REGION_7_BG_BAND
|
|
|
|
/** MACRO of ENCRYPT TYPE */
|
|
#define TLS_PARAM_ENCRY_OPEN (0)
|
|
#define TLS_PARAM_ENCRY_WEP64 (1)
|
|
#define TLS_PARAM_ENCRY_WEP128 (2)
|
|
#define TLS_PARAM_ENCRY_WPA_PSK_TKIP (3)
|
|
#define TLS_PARAM_ENCRY_WPA_PSK_AES (4)
|
|
#define TLS_PARAM_ENCRY_WPA2_PSK_TKIP (5)
|
|
#define TLS_PARAM_ENCRY_WPA2_PSK_AES (6)
|
|
|
|
/** MACRO of USER INTERFACE TYPE */
|
|
#define TLS_PARAM_USR_INTF_LUART (0)
|
|
#define TLS_PARAM_USR_INTF_HUART (1)
|
|
#define TLS_PARAM_USR_INTF_HSPI (2)
|
|
#define TLS_PARAM_USR_INTF_HSDIO (3)
|
|
|
|
/** MACRO of UART BAUDRATE */
|
|
#define TLS_PARAM_UART_BAUDRATE_B600 (600)
|
|
#define TLS_PARAM_UART_BAUDRATE_B1200 (1200)
|
|
#define TLS_PARAM_UART_BAUDRATE_B1800 (1800)
|
|
#define TLS_PARAM_UART_BAUDRATE_B2400 (2400)
|
|
#define TLS_PARAM_UART_BAUDRATE_B4800 (4800)
|
|
#define TLS_PARAM_UART_BAUDRATE_B9600 (9600)
|
|
#define TLS_PARAM_UART_BAUDRATE_B19200 (19200)
|
|
#define TLS_PARAM_UART_BAUDRATE_B38400 (38400)
|
|
#define TLS_PARAM_UART_BAUDRATE_B57600 (57600)
|
|
#define TLS_PARAM_UART_BAUDRATE_B115200 (115200)
|
|
#define TLS_PARAM_HUART_BAUDRATE_B230400 (230400)
|
|
#define TLS_PARAM_HUART_BAUDRATE_B460800 (460800)
|
|
#define TLS_PARAM_HUART_BAUDRATE_B921600 (921600)
|
|
#define TLS_PARAM_HUART_BAUDRATE_B1000000 (1000000)
|
|
#define TLS_PARAM_HUART_BAUDRATE_B1250000 (1250000)
|
|
#define TLS_PARAM_HUART_BAUDRATE_B1500000 (1500000)
|
|
#define TLS_PARAM_HUART_BAUDRATE_B2000000 (2000000)
|
|
|
|
/** MACRO of UART PARITY */
|
|
#define TLS_PARAM_UART_PARITY_NONE (0)
|
|
#define TLS_PARAM_UART_PARITY_EVEN (1)
|
|
#define TLS_PARAM_UART_PARITY_ODD (2)
|
|
#define TLS_PARAM_UART_PARITY_MARK (3)
|
|
#define TLS_PARAM_UART_PARITY_SPACE (4)
|
|
|
|
/** MACRO of UART STOP BITS */
|
|
#define TLS_PARAM_UART_STOPBITS_1BITS (0)
|
|
#define TLS_PARAM_UART_STOPBITS_2BITS (1)
|
|
|
|
/** MACRO of UART FLOW CONTROL */
|
|
#define TLS_PARAM_UART_FLOW_DISABLE (0)
|
|
#define TLS_PARAM_UART_FLOW_ENABLE (1)
|
|
#define TLS_PARAM_HSPI_MAX_SCLK (33000000)
|
|
/** MACRO of SOCKET PARAMETER */
|
|
#define TLS_PARAM_SOCKET_TCP (0)
|
|
#define TLS_PARAM_SOCKET_UDP (1)
|
|
#define TLS_PARAM_SOCKET_CLIENT (0)
|
|
#define TLS_PARAM_SOCKET_SERVER (1)
|
|
#define TLS_PARAM_SOCKET_DEFAULT_PORT (60000)
|
|
|
|
/** Structure of hardware parameter */
|
|
struct tls_param_hardware_version {
|
|
u8 mark;
|
|
u8 main;
|
|
u8 sub;
|
|
u8 material;
|
|
u8 year;
|
|
u8 week;
|
|
u8 res[2];
|
|
};
|
|
|
|
/** Structure of specified BSSID parameter */
|
|
struct tls_param_bssid {
|
|
u8 bssid_enable;
|
|
u8 res;
|
|
u8 bssid[6];
|
|
};
|
|
|
|
/** Structure of SSID parameter */
|
|
struct tls_param_ssid {
|
|
u8 ssid[32];
|
|
u32 ssid_len;
|
|
};
|
|
|
|
/** Structure of TEM parameter */
|
|
struct tls_param_tem_offset {
|
|
u8 offset_len;
|
|
s32 offset;
|
|
};
|
|
|
|
/** Structure of KEY parameter */
|
|
struct tls_param_key {
|
|
u8 psk[64];
|
|
u8 key_length;
|
|
u8 key_index;
|
|
u8 key_format;
|
|
u8 res;
|
|
};
|
|
|
|
/** Structure of original KEY parameter */
|
|
struct tls_param_original_key {
|
|
u8 psk[64];
|
|
u32 key_length;
|
|
};
|
|
|
|
/** Structure of SHA1 KEY parameter */
|
|
struct tls_param_sha1{
|
|
u8 psk_set;
|
|
u8 psk[32];
|
|
};
|
|
|
|
/** Structure of 802.11 bgn rate parameter */
|
|
struct tls_param_bgr {
|
|
u8 bg;
|
|
u8 max_rate;
|
|
u8 res[2];
|
|
};
|
|
|
|
/** Structure of IP parameter */
|
|
struct tls_param_ip {
|
|
u8 dhcp_enable;
|
|
u8 res[3];
|
|
u8 ip[4];
|
|
u8 netmask[4];
|
|
u8 gateway[4];
|
|
u8 dns1[4];
|
|
u8 dns2[4];
|
|
};
|
|
|
|
/** Structure of uart parameter */
|
|
struct tls_param_uart {
|
|
u32 baudrate;
|
|
u8 stop_bits;
|
|
u8 parity;
|
|
u8 flow;
|
|
u8 charsize;
|
|
};
|
|
|
|
/** Structure of socket parameter */
|
|
struct tls_param_socket {
|
|
u8 protocol;
|
|
u8 client_or_server;
|
|
u16 port_num;
|
|
u8 host[32];
|
|
};
|
|
|
|
struct tls_param_wps {
|
|
u8 wps_enable;
|
|
u8 mode;
|
|
u8 flag;
|
|
u8 res;
|
|
u8 pin[8];
|
|
};
|
|
|
|
/** Structure of oray client */
|
|
struct tls_param_oray_client {
|
|
u32 oray_client_enable;
|
|
u8 oray_client_user[32];
|
|
u8 oray_client_pass[32];
|
|
};
|
|
|
|
/** Structure of web server parameter */
|
|
struct tls_webs_cfg {
|
|
u8 AutoRun;
|
|
u8 Reserved;
|
|
u16 PortNum;
|
|
};
|
|
|
|
/** Structure of user default parameter */
|
|
typedef struct tls_user_param{
|
|
|
|
u8 wireless_protocol;
|
|
u8 auto_mode;
|
|
u8 dhcp_enable;
|
|
u8 user_port_mode;
|
|
|
|
u8 ip[4];
|
|
u8 netmask[4];
|
|
u8 gateway[4];
|
|
u8 dns[4];
|
|
|
|
u32 baudrate;
|
|
|
|
u8 socket_protocol;
|
|
u8 socket_client_or_server;
|
|
u16 socket_port_num;
|
|
u8 socket_host[32];
|
|
u8 auto_powersave;
|
|
u8 PassWord[6];
|
|
}ST_Wm_User_Param;
|
|
typedef struct {
|
|
u32 valid_tag; /*0xdeadbeaf means valid*/
|
|
u32 valid_bit;
|
|
u8 bd_addr[6]; /*Local Address*/
|
|
uint8_t name_len;
|
|
u8 name[16]; /*Local Name*/
|
|
u32 class_of_device; /*Class of Device*/
|
|
u8 io_cap;
|
|
u8 discoverable;
|
|
u8 connectable;
|
|
u8 bt_auth_req;
|
|
u8 mode; /*Adv, Initiator, ......*/
|
|
u8 ble_auth_req;
|
|
u8 ir[16];
|
|
u8 irk[16];
|
|
u8 dhk[16];
|
|
u8 er[16];
|
|
} bt_adapter_t;
|
|
|
|
typedef struct {
|
|
u32 valid_tag; /*0xdeadbeaf means valid*/
|
|
u8 in_use;
|
|
u32 valid_bit;
|
|
u8 bd_addr[6];
|
|
u8 name[16];
|
|
u8 name_len;
|
|
u32 class_of_device;
|
|
u32 available_service;
|
|
u8 link_key[16];
|
|
u8 key_type;
|
|
u8 io_cap;
|
|
u8 pin_length;
|
|
u8 device_type;
|
|
u8 reconnect_needed;
|
|
u8 ble_addr_type;
|
|
/* KEY_PENC */
|
|
u8 key_penc[28];
|
|
/* KEY_PID */
|
|
u8 key_pid[23];
|
|
/* KEY_PID */
|
|
u8 key_lid[23];
|
|
/* KEY_PCSRK */
|
|
u8 key_pcsrk[24];
|
|
/* KEY_LCSRK */
|
|
u8 key_lcsrk[24];
|
|
/* KEY_LENC */
|
|
u8 key_lenc[20];
|
|
u32 manufacturer;
|
|
u32 lmpver;
|
|
u32 lmpsubver;
|
|
|
|
} bt_remote_device_t;
|
|
|
|
/**
|
|
* @defgroup System_APIs System APIs
|
|
* @brief System APIs
|
|
*/
|
|
|
|
/**
|
|
* @addtogroup System_APIs
|
|
* @{
|
|
*/
|
|
|
|
/**
|
|
* @defgroup Param_APIs Param APIs
|
|
* @brief Param manager APIs
|
|
*/
|
|
|
|
/**
|
|
* @addtogroup Param_APIs
|
|
* @{
|
|
*/
|
|
|
|
/**
|
|
* @brief This function is used to initialize parameter's manage module
|
|
*
|
|
* @param[in] None
|
|
*
|
|
* @retval TLS_PARAM_STATUS_OK init success
|
|
* @retval TLS_PARAM_STATUS_EMEM memory error
|
|
* @retval TLS_PARAM_STATUS_EIO io error
|
|
* @retval TLS_PARAM_STATUS_EPERM magic number error
|
|
*
|
|
* @note None
|
|
*/
|
|
int tls_param_init(void);
|
|
|
|
/**
|
|
* @brief This function is used to load the system's default
|
|
parameters
|
|
*
|
|
* @param[in] None
|
|
*
|
|
* @return None
|
|
*
|
|
* @note This function read user defined parameters first,
|
|
if wrong, all the parameters restore factory settings
|
|
*/
|
|
void tls_param_load_factory_default(void);
|
|
|
|
/**
|
|
* @brief This function is used to set one system parameter by its id
|
|
*
|
|
* @param[in] id param id,from TLS_PARAM_ID_SSID
|
|
to (TLS_PARAM_ID_MAX - 1)
|
|
* @param[in] *argv store parameters
|
|
* @param[in] to_flash whether the parameter is written to flash,
|
|
1:write to flash,0:only write memory
|
|
*
|
|
* @retval TLS_PARAM_STATUS_OK set success
|
|
* @retval TLS_PARAM_STATUS_EINVALID invalid param
|
|
*
|
|
* @note None
|
|
*/
|
|
int tls_param_set(int id, void *argv, bool to_flash);
|
|
|
|
/**
|
|
* @brief This function is used to get one system parameter by its id.
|
|
*
|
|
* @param[in] id param id,from TLS_PARAM_ID_SSID
|
|
to (TLS_PARAM_ID_MAX - 1)
|
|
* @param[in] *argv store parameters
|
|
* @param[in] from_flash whether the parameter is readed from flash,
|
|
1 read from flash,0 read from memory
|
|
*
|
|
* @retval TLS_PARAM_STATUS_OK success
|
|
* @retval TLS_PARAM_STATUS_EINVALID invalid param
|
|
*
|
|
* @note None
|
|
*/
|
|
int tls_param_get(int id, void *argv, bool from_flash);
|
|
|
|
/**
|
|
* @brief This function is used to write parameter into flash
|
|
*
|
|
* @param[in] id param id,from TLS_PARAM_ID_ALL
|
|
to (TLS_PARAM_ID_MAX - 1)
|
|
*
|
|
* @retval TLS_PARAM_STATUS_OK success
|
|
* @retval TLS_PARAM_STATUS_EINVALID invalid param
|
|
* @retval TLS_PARAM_STATUS_EIO read or write flash error
|
|
*
|
|
* @note None
|
|
*/
|
|
int tls_param_to_flash(int id);
|
|
|
|
/**
|
|
* @brief This function is used to recovery the parameters from
|
|
the backup area to the parameter area,and load them into ram
|
|
*
|
|
* @param[in] None
|
|
*
|
|
* @return None
|
|
*
|
|
* @note None
|
|
*/
|
|
void tls_restore_param_from_backup(void);
|
|
|
|
/**
|
|
* @brief This function is used to load default parametes into ram
|
|
|
|
*
|
|
* @param[in] None
|
|
*
|
|
* @retval TLS_PARAM_STATUS_OK set success
|
|
* @retval TLS_PARAM_STATUS_EINVALID parameter wrong
|
|
* @retval TLS_PARAM_STATUS_EIO read or write falsh error
|
|
*
|
|
* @note This function read user defined parameters first,
|
|
if wrong, all the parameters restore factory settings
|
|
*/
|
|
int tls_param_to_default(void);
|
|
|
|
/**
|
|
* @brief This function is used to write user's parameters into the
|
|
flash
|
|
*
|
|
* @param[in] None
|
|
*
|
|
* @retval TLS_PARAM_STATUS_OK success
|
|
* @retval other failed
|
|
*
|
|
* @note None
|
|
*/
|
|
int tls_param_save_user_default(void);
|
|
|
|
/**
|
|
* @brief This function is used to modify user's default parameters,
|
|
then write them into flash
|
|
*
|
|
* @param[in] *user_param
|
|
*
|
|
* @retval TLS_PARAM_STATUS_OK success
|
|
* @retval other failed
|
|
*
|
|
* @note None
|
|
*/
|
|
int tls_param_save_user(struct tls_user_param *user_param);
|
|
|
|
/**
|
|
* @brief This function is used to get updp mode.(updp:update user
|
|
default parameters)
|
|
*
|
|
* @param[in] None
|
|
*
|
|
* @retval update mode
|
|
*
|
|
* @note None
|
|
*/
|
|
u8 tls_param_get_updp_mode(void);
|
|
|
|
/**
|
|
* @brief This function is used to set updp mode
|
|
*
|
|
* @param[in] mode
|
|
*
|
|
* @return None
|
|
*
|
|
* @note None
|
|
*/
|
|
void tls_param_set_updp_mode(u8 mode);
|
|
|
|
/**
|
|
* @brief This function is used to get program param
|
|
*
|
|
* @param[in] *pBase pointer to save base address
|
|
*
|
|
* @retval 0 success
|
|
* @retval other failed
|
|
*
|
|
* @note None
|
|
*/
|
|
int tls_param_get_program_param(u32 *pBase);
|
|
|
|
/**
|
|
* @brief This function is used to set program base,image len,and
|
|
checksum
|
|
*
|
|
* @param[in] base base address
|
|
* @param[in] totallen total length of the image
|
|
* @param[in] checksum checksum value of the image
|
|
*
|
|
* @retval 0 success
|
|
* @retval other failed
|
|
*
|
|
* @note None
|
|
*/
|
|
int tls_param_set_program_param(u32 base, u32 totallen, u32 checksum);
|
|
|
|
/**
|
|
* @brief This function is used to get bt param offset located in system param area
|
|
*
|
|
* @param[in] id from TLS_PARAM_ID_BT_REMOTE_DEVICE_1 to TLS_PARAM_ID_BT_REMOTE_DEVICE_5
|
|
* @param[in] from_flash whether the parameter is readed from flash,
|
|
1 read from flash(invalid for now),0 read from memory
|
|
|
|
*
|
|
* @retval >0 success
|
|
* @retval other failed
|
|
*
|
|
* @note None
|
|
*/
|
|
|
|
int tls_param_get_bt_param_address(int id, int from_flash);
|
|
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
#endif /* WM_PARAM_H */
|
|
|