Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
bee2ed72
Commit
bee2ed72
authored
Jan 26, 2015
by
HuangRui
Browse files
Patch 20150126 for esp_iot_sdk_v0.9.5_15_01_23.
parent
d4dcf557
Changes
2
Hide whitespace changes
Inline
Side-by-side
include/user_interface.h
View file @
bee2ed72
/*
/*
* Copyright (C) 2013 -2014 Espressif System
* Copyright (C) 2013 -2014 Espressif System
*
*
*/
*/
#ifndef __USER_INTERFACE_H__
#ifndef __USER_INTERFACE_H__
#define __USER_INTERFACE_H__
#define __USER_INTERFACE_H__
#include "os_type.h"
#include "os_type.h"
#ifdef LWIP_OPEN_SRC
#ifdef LWIP_OPEN_SRC
#include "lwip/ip_addr.h"
#include "lwip/ip_addr.h"
#else
#else
#include "ip_addr.h"
#include "ip_addr.h"
#endif
#endif
#include "queue.h"
#include "queue.h"
#include "user_config.h"
#include "user_config.h"
#include "spi_flash.h"
#include "spi_flash.h"
#ifndef MAC2STR
#ifndef MAC2STR
#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x"
#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x"
#endif
#endif
enum
rst_reason
{
enum
rst_reason
{
DEFAULT_RST_FLAG
=
0
,
DEFAULT_RST_FLAG
=
0
,
WDT_RST_FLAG
=
1
,
WDT_RST_FLAG
=
1
,
EXP_RST_FLAG
=
2
EXP_RST_FLAG
=
2
};
};
struct
rst_info
{
struct
rst_info
{
uint32
flag
;
uint32
flag
;
uint32
exccause
;
uint32
exccause
;
uint32
epc1
;
uint32
epc1
;
uint32
epc2
;
uint32
epc2
;
uint32
epc3
;
uint32
epc3
;
uint32
excvaddr
;
uint32
excvaddr
;
uint32
depc
;
uint32
depc
;
};
};
#define UPGRADE_FW_BIN1 0x00
#define UPGRADE_FW_BIN1 0x00
#define UPGRADE_FW_BIN2 0x01
#define UPGRADE_FW_BIN2 0x01
void
system_restore
(
void
);
void
system_restore
(
void
);
void
system_restart
(
void
);
void
system_restart
(
void
);
bool
system_deep_sleep_set_option
(
uint8
option
);
bool
system_deep_sleep_set_option
(
uint8
option
);
void
system_deep_sleep
(
uint32
time_in_us
);
void
system_deep_sleep
(
uint32
time_in_us
);
uint8
system_upgrade_userbin_check
(
void
);
uint8
system_upgrade_userbin_check
(
void
);
void
system_upgrade_reboot
(
void
);
void
system_upgrade_reboot
(
void
);
uint8
system_upgrade_flag_check
();
uint8
system_upgrade_flag_check
();
void
system_upgrade_flag_set
(
uint8
flag
);
void
system_upgrade_flag_set
(
uint8
flag
);
void
system_timer_reinit
(
void
);
void
system_timer_reinit
(
void
);
uint32
system_get_time
(
void
);
uint32
system_get_time
(
void
);
/* user task's prio must be 0/1/2 !!!*/
/* user task's prio must be 0/1/2 !!!*/
enum
{
enum
{
USER_TASK_PRIO_0
=
0
,
USER_TASK_PRIO_0
=
0
,
USER_TASK_PRIO_1
,
USER_TASK_PRIO_1
,
USER_TASK_PRIO_2
,
USER_TASK_PRIO_2
,
USER_TASK_PRIO_MAX
USER_TASK_PRIO_MAX
};
};
bool
system_os_task
(
os_task_t
task
,
uint8
prio
,
os_event_t
*
queue
,
uint8
qlen
);
bool
system_os_task
(
os_task_t
task
,
uint8
prio
,
os_event_t
*
queue
,
uint8
qlen
);
bool
system_os_post
(
uint8
prio
,
os_signal_t
sig
,
os_param_t
par
);
bool
system_os_post
(
uint8
prio
,
os_signal_t
sig
,
os_param_t
par
);
void
system_print_meminfo
(
void
);
void
system_print_meminfo
(
void
);
uint32
system_get_free_heap_size
(
void
);
uint32
system_get_free_heap_size
(
void
);
void
system_set_os_print
(
uint8
onoff
);
void
system_set_os_print
(
uint8
onoff
);
uint8
system_get_os_print
();
uint8
system_get_os_print
();
uint64
system_mktime
(
uint32
year
,
uint32
mon
,
uint32
day
,
uint32
hour
,
uint32
min
,
uint32
sec
);
uint64
system_mktime
(
uint32
year
,
uint32
mon
,
uint32
day
,
uint32
hour
,
uint32
min
,
uint32
sec
);
uint32
system_get_chip_id
(
void
);
uint32
system_get_chip_id
(
void
);
typedef
void
(
*
init_done_cb_t
)(
void
);
typedef
void
(
*
init_done_cb_t
)(
void
);
void
system_init_done_cb
(
init_done_cb_t
cb
);
void
system_init_done_cb
(
init_done_cb_t
cb
);
uint32
system_rtc_clock_cali_proc
(
void
);
uint32
system_rtc_clock_cali_proc
(
void
);
uint32
system_get_rtc_time
(
void
);
uint32
system_get_rtc_time
(
void
);
bool
system_rtc_mem_read
(
uint8
src_addr
,
void
*
des_addr
,
uint16
load_size
);
bool
system_rtc_mem_read
(
uint8
src_addr
,
void
*
des_addr
,
uint16
load_size
);
bool
system_rtc_mem_write
(
uint8
des_addr
,
const
void
*
src_addr
,
uint16
save_size
);
bool
system_rtc_mem_write
(
uint8
des_addr
,
const
void
*
src_addr
,
uint16
save_size
);
void
system_uart_swap
(
void
);
void
system_uart_swap
(
void
);
uint16
system_adc_read
(
void
);
uint16
system_adc_read
(
void
);
const
char
*
system_get_sdk_version
(
void
);
const
char
*
system_get_sdk_version
(
void
);
#define NULL_MODE 0x00
#define NULL_MODE 0x00
#define STATION_MODE 0x01
#define STATION_MODE 0x01
#define SOFTAP_MODE 0x02
#define SOFTAP_MODE 0x02
#define STATIONAP_MODE 0x03
#define STATIONAP_MODE 0x03
typedef
enum
_auth_mode
{
typedef
enum
_auth_mode
{
AUTH_OPEN
=
0
,
AUTH_OPEN
=
0
,
AUTH_WEP
,
AUTH_WEP
,
AUTH_WPA_PSK
,
AUTH_WPA_PSK
,
AUTH_WPA2_PSK
,
AUTH_WPA2_PSK
,
AUTH_WPA_WPA2_PSK
,
AUTH_WPA_WPA2_PSK
,
AUTH_MAX
AUTH_MAX
}
AUTH_MODE
;
}
AUTH_MODE
;
uint8
wifi_get_opmode
(
void
);
uint8
wifi_get_opmode
(
void
);
bool
wifi_set_opmode
(
uint8
opmode
);
bool
wifi_set_opmode
(
uint8
opmode
);
struct
bss_info
{
struct
bss_info
{
STAILQ_ENTRY
(
bss_info
)
next
;
STAILQ_ENTRY
(
bss_info
)
next
;
uint8
bssid
[
6
];
uint8
bssid
[
6
];
uint8
ssid
[
32
];
uint8
ssid
[
32
];
uint8
channel
;
uint8
channel
;
sint8
rssi
;
sint8
rssi
;
AUTH_MODE
authmode
;
AUTH_MODE
authmode
;
uint8
is_hidden
;
uint8
is_hidden
;
};
};
typedef
struct
_scaninfo
{
typedef
struct
_scaninfo
{
STAILQ_HEAD
(,
bss_info
)
*
pbss
;
STAILQ_HEAD
(,
bss_info
)
*
pbss
;
struct
espconn
*
pespconn
;
struct
espconn
*
pespconn
;
uint8
totalpage
;
uint8
totalpage
;
uint8
pagenum
;
uint8
pagenum
;
uint8
page_sn
;
uint8
page_sn
;
uint8
data_cnt
;
uint8
data_cnt
;
}
scaninfo
;
}
scaninfo
;
typedef
void
(
*
scan_done_cb_t
)(
void
*
arg
,
STATUS
status
);
typedef
void
(
*
scan_done_cb_t
)(
void
*
arg
,
STATUS
status
);
struct
station_config
{
struct
station_config
{
uint8
ssid
[
32
];
uint8
ssid
[
32
];
uint8
password
[
64
];
uint8
password
[
64
];
uint8
bssid_set
;
// Note: If bssid_set is 1, station will just connect to the router
uint8
bssid_set
;
// Note: If bssid_set is 1, station will just connect to the router
// with both ssid[] and bssid[] matched. Please check about this.
// with both ssid[] and bssid[] matched. Please check about this.
uint8
bssid
[
6
];
uint8
bssid
[
6
];
};
};
bool
wifi_station_get_config
(
struct
station_config
*
config
);
bool
wifi_station_get_config
(
struct
station_config
*
config
);
bool
wifi_station_set_config
(
struct
station_config
*
config
);
bool
wifi_station_set_config
(
struct
station_config
*
config
);
bool
wifi_station_connect
(
void
);
bool
wifi_station_connect
(
void
);
bool
wifi_station_disconnect
(
void
);
bool
wifi_station_disconnect
(
void
);
struct
scan_config
{
struct
scan_config
{
uint8
*
ssid
;
// Note: ssid == NULL, don't filter ssid.
uint8
*
ssid
;
// Note: ssid == NULL, don't filter ssid.
uint8
*
bssid
;
// Note: bssid == NULL, don't filter bssid.
uint8
*
bssid
;
// Note: bssid == NULL, don't filter bssid.
uint8
channel
;
// Note: channel == 0, scan all channels, otherwise scan set channel.
uint8
channel
;
// Note: channel == 0, scan all channels, otherwise scan set channel.
uint8
show_hidden
;
// Note: show_hidden == 1, can get hidden ssid routers' info.
uint8
show_hidden
;
// Note: show_hidden == 1, can get hidden ssid routers' info.
};
};
bool
wifi_station_scan
(
struct
scan_config
*
config
,
scan_done_cb_t
cb
);
bool
wifi_station_scan
(
struct
scan_config
*
config
,
scan_done_cb_t
cb
);
uint8
wifi_station_get_auto_connect
(
void
);
uint8
wifi_station_get_auto_connect
(
void
);
bool
wifi_station_set_auto_connect
(
uint8
set
);
bool
wifi_station_set_auto_connect
(
uint8
set
);
enum
{
enum
{
STATION_IDLE
=
0
,
STATION_IDLE
=
0
,
STATION_CONNECTING
,
STATION_CONNECTING
,
STATION_WRONG_PASSWORD
,
STATION_WRONG_PASSWORD
,
STATION_NO_AP_FOUND
,
STATION_NO_AP_FOUND
,
STATION_CONNECT_FAIL
,
STATION_CONNECT_FAIL
,
STATION_GOT_IP
STATION_GOT_IP
};
};
enum
dhcp_status
{
enum
dhcp_status
{
DHCP_STOPPED
,
DHCP_STOPPED
,
DHCP_STARTED
DHCP_STARTED
};
};
uint8
wifi_station_get_connect_status
(
void
);
uint8
wifi_station_get_connect_status
(
void
);
uint8
wifi_station_get_current_ap_id
(
void
);
uint8
wifi_station_get_current_ap_id
(
void
);
bool
wifi_station_ap_change
(
uint8
current_ap_id
);
bool
wifi_station_ap_change
(
uint8
current_ap_id
);
bool
wifi_station_ap_number_set
(
uint8
ap_number
);
bool
wifi_station_ap_number_set
(
uint8
ap_number
);
bool
wifi_station_dhcpc_start
(
void
);
bool
wifi_station_dhcpc_start
(
void
);
bool
wifi_station_dhcpc_stop
(
void
);
bool
wifi_station_dhcpc_stop
(
void
);
enum
dhcp_status
wifi_station_dhcpc_status
(
void
);
enum
dhcp_status
wifi_station_dhcpc_status
(
void
);
struct
softap_config
{
struct
softap_config
{
uint8
ssid
[
32
];
uint8
ssid
[
32
];
uint8
password
[
64
];
uint8
password
[
64
];
uint8
ssid_len
;
// Note: Recommend to set it according to your ssid
uint8
ssid_len
;
// Note: Recommend to set it according to your ssid
uint8
channel
;
// Note: support 1 ~ 13
uint8
channel
;
// Note: support 1 ~ 13
AUTH_MODE
authmode
;
// Note: Don't support AUTH_WEP in softAP mode.
AUTH_MODE
authmode
;
// Note: Don't support AUTH_WEP in softAP mode.
uint8
ssid_hidden
;
// Note: default 0
uint8
ssid_hidden
;
// Note: default 0
uint8
max_connection
;
// Note: default 4, max 4
uint8
max_connection
;
// Note: default 4, max 4
uint
8
beacon_interval
;
// Note: support 100 ~ 60000 ms, default 100
uint
16
beacon_interval
;
// Note: support 100 ~ 60000 ms, default 100
};
};
bool
wifi_softap_get_config
(
struct
softap_config
*
config
);
bool
wifi_softap_get_config
(
struct
softap_config
*
config
);
bool
wifi_softap_set_config
(
struct
softap_config
*
config
);
bool
wifi_softap_set_config
(
struct
softap_config
*
config
);
struct
station_info
{
struct
station_info
{
STAILQ_ENTRY
(
station_info
)
next
;
STAILQ_ENTRY
(
station_info
)
next
;
uint8
bssid
[
6
];
uint8
bssid
[
6
];
struct
ip_addr
ip
;
struct
ip_addr
ip
;
};
};
struct
dhcps_lease
{
struct
dhcps_lease
{
uint32
start_ip
;
uint32
start_ip
;
uint32
end_ip
;
uint32
end_ip
;
};
};
struct
station_info
*
wifi_softap_get_station_info
(
void
);
struct
station_info
*
wifi_softap_get_station_info
(
void
);
void
wifi_softap_free_station_info
(
void
);
void
wifi_softap_free_station_info
(
void
);
uint8
wifi_station_get_ap_info
(
struct
station_config
config
[]);
uint8
wifi_station_get_ap_info
(
struct
station_config
config
[]);
bool
wifi_softap_dhcps_start
(
void
);
bool
wifi_softap_dhcps_start
(
void
);
bool
wifi_softap_dhcps_stop
(
void
);
bool
wifi_softap_dhcps_stop
(
void
);
bool
wifi_softap_set_dhcps_lease
(
struct
dhcps_lease
*
please
);
bool
wifi_softap_set_dhcps_lease
(
struct
dhcps_lease
*
please
);
enum
dhcp_status
wifi_softap_dhcps_status
(
void
);
enum
dhcp_status
wifi_softap_dhcps_status
(
void
);
#define STATION_IF 0x00
#define STATION_IF 0x00
#define SOFTAP_IF 0x01
#define SOFTAP_IF 0x01
bool
wifi_get_ip_info
(
uint8
if_index
,
struct
ip_info
*
info
);
bool
wifi_get_ip_info
(
uint8
if_index
,
struct
ip_info
*
info
);
bool
wifi_set_ip_info
(
uint8
if_index
,
struct
ip_info
*
info
);
bool
wifi_set_ip_info
(
uint8
if_index
,
struct
ip_info
*
info
);
bool
wifi_get_macaddr
(
uint8
if_index
,
uint8
*
macaddr
);
bool
wifi_get_macaddr
(
uint8
if_index
,
uint8
*
macaddr
);
bool
wifi_set_macaddr
(
uint8
if_index
,
uint8
*
macaddr
);
bool
wifi_set_macaddr
(
uint8
if_index
,
uint8
*
macaddr
);
uint8
wifi_get_channel
(
void
);
uint8
wifi_get_channel
(
void
);
bool
wifi_set_channel
(
uint8
channel
);
bool
wifi_set_channel
(
uint8
channel
);
void
wifi_status_led_install
(
uint8
gpio_id
,
uint32
gpio_name
,
uint8
gpio_func
);
void
wifi_status_led_install
(
uint8
gpio_id
,
uint32
gpio_name
,
uint8
gpio_func
);
void
wifi_status_led_uninstall
();
void
wifi_status_led_uninstall
();
/** Get the absolute difference between 2 u32_t values (correcting overflows)
/** Get the absolute difference between 2 u32_t values (correcting overflows)
* 'a' is expected to be 'higher' (without overflow) than 'b'. */
* 'a' is expected to be 'higher' (without overflow) than 'b'. */
#define ESP_U32_DIFF(a, b) (((a) >= (b)) ? ((a) - (b)) : (((a) + ((b) ^ 0xFFFFFFFF) + 1)))
#define ESP_U32_DIFF(a, b) (((a) >= (b)) ? ((a) - (b)) : (((a) + ((b) ^ 0xFFFFFFFF) + 1)))
void
wifi_promiscuous_enable
(
uint8
promiscuous
);
void
wifi_promiscuous_enable
(
uint8
promiscuous
);
typedef
void
(
*
wifi_promiscuous_cb_t
)(
uint8
*
buf
,
uint16
len
);
typedef
void
(
*
wifi_promiscuous_cb_t
)(
uint8
*
buf
,
uint16
len
);
void
wifi_set_promiscuous_rx_cb
(
wifi_promiscuous_cb_t
cb
);
void
wifi_set_promiscuous_rx_cb
(
wifi_promiscuous_cb_t
cb
);
enum
phy_mode
{
enum
phy_mode
{
PHY_MODE_11B
=
1
,
PHY_MODE_11B
=
1
,
PHY_MODE_11G
=
2
,
PHY_MODE_11G
=
2
,
PHY_MODE_11N
=
3
PHY_MODE_11N
=
3
};
};
enum
phy_mode
wifi_get_phy_mode
(
void
);
enum
phy_mode
wifi_get_phy_mode
(
void
);
bool
wifi_set_phy_mode
(
enum
phy_mode
mode
);
bool
wifi_set_phy_mode
(
enum
phy_mode
mode
);
enum
sleep_type
{
enum
sleep_type
{
NONE_SLEEP_T
=
0
,
NONE_SLEEP_T
=
0
,
LIGHT_SLEEP_T
,
LIGHT_SLEEP_T
,
MODEM_SLEEP_T
MODEM_SLEEP_T
};
};
bool
wifi_set_sleep_type
(
enum
sleep_type
type
);
bool
wifi_set_sleep_type
(
enum
sleep_type
type
);
enum
sleep_type
wifi_get_sleep_type
(
void
);
enum
sleep_type
wifi_get_sleep_type
(
void
);
#endif
#endif
lib/libmain.a
View file @
bee2ed72
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment