ESP8266 Non-OS SDK
API Reference
Version 2.0.0
Copyright © 2016
About This Guide
This document lists ESP8266_NONOS_SDK APIs.
The document is structured as follows.
Chapter
Chapter 1
Chapter 2
Title
Subject
Preambles
An instruction to the ESP8266EX
Overview
An overview of the ESP8266_NONOS_SDK
Chapter 3
System APIs
Important system APIs for timer control, SPI flash operations, Wi-Fi
radio control and OTA firmware upgrade
Chapter 4
TCP/UDP APIs
APIs for TCP/UDP operation
Chapter 5
Mesh APIs
Mesh APIs for the ESP8266
Chapter 6
Application Related
Application specific APIs (AT command set and JSON parser)
Chapter 7
Definitions & Structures
Important definitions and data structures
Chapter 8
Peripheral Related Drivers APIs for peripheral interfacing (GPIO, UART, I2C, PWM and SDIO)
Chapter 9
Appendix
Other relevant information
Release Notes
Date
2016.01
2016.03
2016.04
2016.06
Version
V1.5.2
V1.5.2
V1.5.3
V1.5.4
2016.07
V2.0.0
Release notes
First Release.
Updated Chapter 3.2, Chapter 9.5 and Chapter 3.3.37.
Added Chapter 3.5.11 and Chapter 3.5.12.
Updated Chapter 3.5.67 and Chapter 3.7.9.
Added Chapter 3.3.8 and Chapter 3.7.8.
Added Chapter 3.3.46, Chapter 3.3.47, and Chapter 3.3.48
Updated Chapter 3.7
Added Chapter 3.9, Chapter 3.14, Chapter 3.3.48,
Chapter 3.5.72 and Chapter 3.5.73
Updated Chapter 3.8.6, Chapter 3.5.65
Table of Contents
1. Preambles
.................................................................................................................................................
14
2. Overview
...................................................................................................................................................
15
3. Application Programming Interface (APIs)
3.1.
Software Timer
1.
2.
3.
4.
5.
os_timer_arm
os_timer_disarm
os_timer_setfn
system_timer_reinit
os_timer_arm_us
3.2. Hardware Timer
hw_timer_init
hw_timer_arm
hw_timer_set_func
3.3.
............................................................................................
.....................................................................................................................................................
...........................................................................................................................................................
......................................................................................................................................................
.........................................................................................................................................................
................................................................................................................................................
.....................................................................................................................................................
...................................................................................................................................................
...........................................................................................................................................................
..........................................................................................................................................................
................................................................................................................................................
....................................................................................................................................
...........................................................................................................................................................
.......................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
.............................................................................................................................................
................................................................................................................................................
................................................................................................................................................
...................................................................................................................................................
...........................................................................................................................................
...............................................................................................................................................
..........................................................................................................................
.....................................................................................................................................
.....................................................................................................................
...................................................................................................................................
........................................................................................................................
..............................................................................................................................................
........................................................................................................................................
.................................................................................................................................
......................................................................................................................................................
.......................................................................................................................................................
....................................................................................................................................................
.............................................................................................................................................
..................................................................................................................................
1.
2.
3.
4. Hardware timer example
System APIs
1.
2.
3.
4.
5.
6.
7.
8.
9.
10. system_deep_sleep_set_option
11.
system_phy_set_rfoption
12.
system_phy_set_powerup_option
13.
system_phy_set_max_tpw
14.
system_phy_set_tpw_via_vdd33
15.
system_set_os_print
16.
system_print_meminfo
17.
system_get_free_heap_size
18.
system_os_task
19.
system_os_post
20. system_get_time
21.
22. system_rtc_clock_cali_proc
system_get_sdk_version
system_restore
system_restart
system_init_done_cb
system_get_chip_id
system_get_vdd33
system_adc_read
system_adc_read_fast
system_deep_sleep
16
16
16
17
17
17
18
18
19
19
20
20
21
21
21
22
22
23
23
24
24
26
26
27
28
28
29
29
29
30
30
31
32
32
33
system_get_rtc_time
23. system_rtc_mem_write
24. system_rtc_mem_read
25. system_uart_swap
26. system_uart_de_swap
27. system_get_boot_version
28. system_get_userbin_addr
29. system_get_boot_mode
30. system_restart_enhance
31.
system_update_cpu_freq
32. system_get_cpu_freq
33. system_get_flash_size_map
34. system_get_rst_info
35. system_soft_wdt_stop
36. system_soft_wdt_restart
37. system_soft_wdt_feed
38. system_show_malloc
39. os_memset
40. os_memcpy
41. os_strlen
42. os_printf
43. os_bzero
44. os_delay_us
45. os_install_putc1
46. os_random
47. os_get_random
48. user_rf_cal_sector_set
SPI Flash Related APIs
1.
2.
3.
4.
5.
6.
7.
........................................................................................................................................
..........................................................................................................................................
.................................................................................................................................................
...........................................................................................................................................
....................................................................................................................................
....................................................................................................................................
.......................................................................................................................................
......................................................................................................................................
.....................................................................................................................................
............................................................................................................................................
.................................................................................................................................
..............................................................................................................................................
..........................................................................................................................................
.....................................................................................................................................
.........................................................................................................................................
............................................................................................................................................
...............................................................................................................................................................
..............................................................................................................................................................
...................................................................................................................................................................
...................................................................................................................................................................
...................................................................................................................................................................
..............................................................................................................................................................
.......................................................................................................................................................
...............................................................................................................................................................
.......................................................................................................................................................
...........................................................................................................................................
........................................................................................................................................
.......................................................................................................................................................
..........................................................................................................................................
........................................................................................................................................................
..........................................................................................................................................................
....................................................................................................................
..............................................................................................................................................
........................................................................................................................................
..............................................................................................................................................
...................................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................................
....................................................................................................................................
.........................................................................................................................................
..........................................................................................................................
spi_flash_get_id
spi_flash_erase_sector
spi_flash_write
spi_flash_read
system_param_save_with_protect
system_param_load
spi_flash_set_read_func
33
34
34
35
35
35
36
36
37
37
37
38
39
39
40
40
41
41
42
42
42
43
43
43
44
44
46
46
46
47
47
48
49
50
50
50
51
51
52
52
52
3.4.
3.5. Wi-Fi Related APIs
1. wifi_get_opmode
2. wifi_get_opmode_default
3. wifi_set_opmode
4. wifi_set_opmode_current
5. wifi_station_get_config
6. wifi_station_get_config_default
7. wifi_station_set_config
8. wifi_station_set_config_current
9. wifi_station_set_cert_key
10. wifi_station_clear_cert_key
11. wifi_station_set_username
12. wifi_station_clear_username
13. wifi_station_connect
14. wifi_station_disconnect
15. wifi_station_get_connect_status
16. wifi_station_scan
17.
scan_done_cb_t
18. wifi_station_ap_number_set
19. wifi_station_get_ap_info
20. wifi_station_ap_change
21. wifi_station_get_current_ap_id
22. wifi_station_get_auto_connect
23. wifi_station_set_auto_connect
24. wifi_station_dhcpc_start
25. wifi_station_dhcpc_stop
26. wifi_station_dhcpc_status
27. wifi_station_dhcpc_set_maxtry
28. wifi_station_set_reconnect_policy
29. wifi_station_get_rssi
30. wifi_station_set_hostname
31. wifi_station_get_hostname
32. wifi_softap_get_config
33. wifi_softap_get_config_default
34. wifi_softap_set_config
35. wifi_softap_set_config_current
36. wifi_softap_get_station_num
37. wifi_softap_get_station_info
38. wifi_softap_free_station_info
39. wifi_softap_dhcps_start
40. wifi_softap_dhcps_stop
41. wifi_softap_set_dhcps_lease
42. wifi_softap_get_dhcps_lease
43. wifi_softap_set_dhcps_lease_time
44. wifi_softap_get_dhcps_lease_time
45. wifi_softap_reset_dhcps_lease_time
46. wifi_softap_dhcps_status
47. wifi_softap_set_dhcps_offer_option
.........................................................................................................................................
..........................................................................................................................
.....................................................................................................................................
..................................................................................................................................
..................................................................................................................................
...............................................................................................................................
.............................................................................................................................................
........................................................................................................................................
........................................................................................................................
....................................................................................................................................................
.......................................................................................................................................................
................................................................................................................................
......................................................................................................................................
........................................................................................................................................
...........................................................................................................................
............................................................................................................................
............................................................................................................................
......................................................................................................................................
.......................................................................................................................................
...................................................................................................................................
..........................................................................................................................
.....................................................................................................................
..............................................................................................................................................
..................................................................................................................................
.................................................................................................................................
..........................................................................................................................................
...........................................................................................................................
..........................................................................................................................................
..........................................................................................................................
..............................................................................................................................
................................................................................................................................
..............................................................................................................................
.......................................................................................................................................
........................................................................................................................................
...............................................................................................................................
...............................................................................................................................
.....................................................................................................................
......................................................................................................................
..................................................................................................................
......................................................................................................................................
..................................................................................................................
53
54
54
56
56
56
57
57
58
58
59
59
60
60
60
61
61
62
62
63
63
63
64
64
64
65
65
65
66
66
67
67
68
68
69
70
70
71
71
71
72
48. wifi_set_phy_mode
49. wifi_get_phy_mode
50. wifi_get_ip_info
51. wifi_set_ip_info
52. wifi_set_macaddr
53. wifi_get_macaddr
54. wifi_set_sleep_type
55. wifi_get_sleep_type
56. wifi_status_led_install
57. wifi_status_led_uninstall
58. wifi_set_broadcast_if
59. wifi_get_broadcast _if
60. wifi_set_event_handler_cb
61. wifi_wps_enable
62. wifi_wps_disable
63. wifi_wps_start
64. wifi_set_wps_cb
65. wifi_register_send_pkt_freedom_cb
66. wifi_unregister_send_pkt_freedom_cb
67. wifi_send_pkt_freedom
68. wifi_rfid_locp_recv_open
69. wifi_rfid_locp_recv_close
70. wifi_register_rfid_locp_recv_cb
71. wifi_unregister_rfid_locp_recv_cb
72. wifi_enable_gpio_wakeup
73. wifi_disable_gpio_wakeup
................................................................................................................................................
................................................................................................................................................
.......................................................................................................................................................
........................................................................................................................................................
....................................................................................................................................................
...................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
............................................................................................................................................
.......................................................................................................................................
.............................................................................................................................................
...........................................................................................................................................
...................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
..........................................................................................................................................................
.......................................................................................................................................................
..................................................................................................................
.............................................................................................................
........................................................................................................................................
......................................................................................................................................
......................................................................................................................................
...........................................................................................................................
......................................................................................................................
....................................................................................................................................
...................................................................................................................................
................................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
..........................................................................................................................................
........................................................................................................................................
..............................................................................................................................
.............................................................................................................................
..................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
............................................................................................................................................
.....................................................................................................................................
.................................................................................................................................................
......................................................................................................................................
......................................................................................................................................
72
73
73
74
75
76
76
77
77
78
78
78
79
80
81
81
81
82
83
83
84
85
85
85
86
86
87
87
88
88
89
91
91
92
92
92
93
93
94
94
95
3.6. Rate Control APIs
3.7.
1. wifi_set_user_fixed_rate
2. wifi_get_user_fixed_rate
3. wifi_set_user_sup_rate
4. wifi_set_user_rate_limit
5. wifi_set_user_limit_rate_mask
6. wifi_get_user_limit_rate_mask
Force Sleep APIs
1. wifi_fpm_open
2. wifi_fpm_close
3. wifi_fpm_do_wakeup
4. wifi_fpm_set_wakeup_cb
5. wifi_fpm_do_sleep
6. wifi_fpm_set_sleep_type
7. wifi_fpm_get_sleep_type
Example
3.8.
3.9.
8. wifi_fpm_auto_sleep_set_in_null_mode
9.
ESP-NOW APIs
1.
roles of ESP-NOW
2.
esp_now_init
3.
esp_now_deinit
4.
esp_now_register_recv_cb
5.
esp_now_unregister_recv_cb
6.
esp_now_register_send_cb
7.
esp_now_unregister_send_cb
8.
esp_now_send
9.
esp_now_add_peer
10. esp_now_del_peer
11.
esp_now_set_self_role
12. esp_now_get_self_role
13. esp_now_set_peer_role
14. esp_now_get_peer_role
15. esp_now_set_peer_key
16. esp_now_get_peer_key
17. esp_now_set_peer_channel
18. esp_now_get_peer_channel
19. esp_now_is_peer_exist
20. esp_now_fetch_peer
21. esp_now_get_cnt_info
22. esp_now_set_kok
Simple Pair APIs
1.
status of simple pair
2.
register_simple_pair_status_cb
3.
unregister_simple_pair_status_cb
4.
simple_pair_init
5.
simple_pair_deinit
6.
simple_pair_state_reset
7.
simple_pair_ap_enter_announce_mode
8.
simple_pair_sta_enter_scan_mode
9.
simple_pair_sta_start_negotiate
10. simple_pair_ap_start_negotiate
11.
12.
13.
............................................................................................................
...................................................................................................................................................................
....................................................................................................................................................
................................................................................................................................................
...........................................................................................................................................................
.......................................................................................................................................................
...................................................................................................................................
...........................................................................................................................
...............................................................................................................................
............................................................................................................................
......................................................................................................................................................
..............................................................................................................................................
...............................................................................................................................................
........................................................................................................................................
........................................................................................................................................
......................................................................................................................................
......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
...............................................................................................................................
..............................................................................................................................
........................................................................................................................................
...........................................................................................................................................
.........................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
..........................................................................................................................................
........................................................................................................................
....................................................................................................................
.....................................................................................................................................................
................................................................................................................................................
.......................................................................................................................................
..........................................................................................................
...................................................................................................................
.........................................................................................................................
..........................................................................................................................
.......................................................................................................................
.....................................................................................................................................
....................................................................................................................................
.........................................................................................................................................
.......................................................................................................................
simple_pair_ap_refuse_negotiate
simple_pair_set_peer_ref
simple_pair_get_peer_ref
95
96
98
98
99
99
99
100
100
101
102
102
103
103
103
104
104
104
105
105
106
106
106
107
107
108
108
108
109
109
109
110
110
110
111
111
111
112
112
113
113
3.10. Upgrade (FOTA) APIs
1.
system_upgrade_userbin_check
3.11. Sniffer Related APIs
3.12. Smart Config APIs
1.
2.
3.
4.
5.
6.
smartconfig_start
smartconfig_stop
smartconfig_set_type
airkiss_version
airkiss_lan_recv
airkiss_lan_pack
3.13. SNTP APIs
2.
3.
4.
5.
system_upgrade_flag_set
system_upgrade_flag_check
system_upgrade_start
system_upgrade_reboot
1. wifi_promiscuous_enable
2. wifi_promiscuous_set_mac
3. wifi_set_promiscuous_rx_cb
4. wifi_get_channel
5. wifi_set_channel
....................................................................................................................................
..............................................................................................................................
.........................................................................................................................................
.....................................................................................................................................
...........................................................................................................................................
....................................................................................................................................
.................................................................................................................................
...............................................................................................................................
....................................................................................................................................................
....................................................................................................................................................
...............................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
.........................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
............................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
..................................................................................................................................................................
................................................................................................................................................................
............................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
..............................................................................................................................................
......................................................................................................................................................
......................................................................................................................................
.........................................................................................................
..............................................................................................................
...........................................................................................................
.................................................................................................................
.............................................................................................................
...........................................................................................................
.......................................................................................................
............................................................................................................
.........................................................................................................
...................................................................................................
..............................................................................................
1. wifi_station_set_wpa2_enterprise_auth
2. wifi_station_set_enterprise_cert_key
3. wifi_station_clear_enterprise_cert_key
4. wifi_station_set_enterprise_ca_cert
5. wifi_station_clear_enterprise_ca_cert
6. wifi_station_set_enterprise_username
7. wifi_station_clear_enterprise_username
8. wifi_station_set_enterprise_password
9. wifi_station_clear_enterprise_password
10. wifi_station_set_enterprise_new_password
11. wifi_station_clear_enterprise_new_password
1.
sntp_setserver
2.
sntp_getserver
3.
sntp_setservername
4.
sntp_getservername
5.
sntp_init
6.
sntp_stop
7.
sntp_get_current_timestamp
8.
sntp_get_real_time
9.
sntp_set_timezone
10. sntp_get_timezone
11.
SNTP Example
113
114
114
114
115
115
115
116
116
116
117
117
119
120
120
120
121
123
123
123
123
124
124
124
125
125
125
126
126
127
127
128
129
129
129
130
130
131
131
131
132
3.14. WPA2_Enterprise APIs