esp-idf/examples
Angus Gratton ea19838d3a Build: Handle WiFi & BT enabled/disabled combos gracefully as possible
If using WIFI_INIT_CONFIG_DEFAULT, error message will point out lack
of WiFi. Otherwise linker errors on WiFi symbols should help give a
clue as to what is broken.

Piggy-backs on changes in !420, ref github #230 #237
2017-01-16 13:03:17 +11:00
..
01_hello_world Replace backwards-compatible portTICK_RATE_MS with FreeRTOS v8+ portTICK_PERIOD_MS 2016-12-28 10:23:13 +11:00
02_blink Build: Handle WiFi & BT enabled/disabled combos gracefully as possible 2017-01-16 13:03:17 +11:00
03_http_request Replace backwards-compatible portTICK_RATE_MS with FreeRTOS v8+ portTICK_PERIOD_MS 2016-12-28 10:23:13 +11:00
04_https_request Replace backwards-compatible portTICK_RATE_MS with FreeRTOS v8+ portTICK_PERIOD_MS 2016-12-28 10:23:13 +11:00
05_ble_adv config: Simplify WiFi & Bluetooth config options 2017-01-10 16:04:04 +11:00
06_sntp deep sleep: rename header file 2016-12-16 14:30:27 +08:00
07_nvs_rw_value Replace backwards-compatible portTICK_RATE_MS with FreeRTOS v8+ portTICK_PERIOD_MS 2016-12-28 10:23:13 +11:00
08_nvs_rw_blob Replace backwards-compatible portTICK_RATE_MS with FreeRTOS v8+ portTICK_PERIOD_MS 2016-12-28 10:23:13 +11:00
09_openssl_client example/09_openssl_client: change default port to be 443 2016-12-08 20:28:45 +08:00
10_openssl_server examples/10_openssl_server: fixup SSL server with method of specific version 2017-01-05 15:57:25 +08:00
11_rmt_nec_tx_rx Merge branch 'bugfix/minor_issues' into 'master' 2016-12-28 13:18:34 +08:00
12_blufi config: Simplify WiFi & Bluetooth config options 2017-01-10 16:04:04 +11:00
13_timer_group Examples: Add READMEs for examples which did not have them 2016-12-22 15:07:02 +11:00
14_gatt_server Build: Handle WiFi & BT enabled/disabled combos gracefully as possible 2017-01-16 13:03:17 +11:00
15_gatt_client Build: Handle WiFi & BT enabled/disabled combos gracefully as possible 2017-01-16 13:03:17 +11:00
16_pcnt Merge branch 'bugfix/minor_issues' into 'master' 2016-12-28 13:18:34 +08:00
17_ethernet ethernet: support flow control 2017-01-10 15:19:18 +08:00
18_i2c 1. modify i2c_set_pin function 2017-01-03 00:57:19 +08:00
19_sigmadelta Merge branch 'bugfix/minor_issues' into 'master' 2016-12-28 13:18:34 +08:00
20_uart driver: uart 2016-12-21 11:55:53 +08:00
21_gpio gpio_driver: add per-pin interrupt handlers 2016-12-29 11:16:32 +08:00
22_i2s Add i2s driver 2016-12-29 17:29:14 +08:00
23_coap_client example: fix CI error of coap client demo 2017-01-07 15:39:12 +08:00
24_coap_server example: fix CI error of coap server demo 2017-01-07 15:39:18 +08:00
25_ota example: Reindex ota demo 2017-01-07 15:39:22 +08:00
26_spi_master Rename SPI Master IO pins to more common terminology, add better explanation to queue_length initialization value 2017-01-11 11:25:56 +08:00
27_sd_card sdmmc: fix explanation of flash voltage regulator configuration efuses 2017-01-16 02:38:31 +08:00
29_ledc driver: ledc - update fading functions, add example and doc 2017-01-05 17:57:52 +08:00
30_mdns_example Initial mDNS component and example 2017-01-13 12:12:43 +02:00
31_wpa2_enterprise wpa2 enterprise: add example for wpa2 enterprise 2017-01-11 21:56:17 +08:00
33_gatt_server_service_table component/bt : mv demo name 2017-01-12 14:44:26 +08:00
README.md Fixed broken links 2016-11-05 17:04:35 +01:00

Examples

This directory contains a growing number of simple example projects for esp-idf. These are intended to show basic esp-idf functionality, and to provide you can use for your own projects.

Using Examples

Building examples is the same as building any other project:

  • Follow the setup instructions in the top-level esp-idf README.

  • Set IDF_PATH environment variable to point to the path to the esp-idf top-level directory.

  • Change into the directory of the example you'd like to build.

  • make menuconfig to configure the example. Most examples require a simple WiFi SSID & password via this configuration.

  • make to build the example.

  • Follow the printed instructions to flash, or run make flash.

Copying Examples

Each example is a standalone project. The examples do not have to be inside the esp-idf directory. You can copy an example directory to anywhere on your computer in order to make a copy that you can modify and work with.

The IDF_PATH environment variable is the only thing that connects the example to the rest of the esp-idf system.

If you're looking for a more bare-bones project to start from, try esp-idf-template.

Contributing Examples

If you have a new example you think we'd like, please consider sending it to us as a Pull Request.

Please read the esp-idf CONTRIBUTING.rst file which lays out general contribution rules.

In addition, here are some tips for creating good examples:

  • A good example is documented and the basic options can be configured.
  • A good example does not contain a lot of code. If there is a lot of generic code in the example, consider refactoring that code into a standalone component and then use the component's API in your example.
  • Examples must be licensed under the Apache License 2.0 or (preferably for examples) if possible you can declare the example to be Public Domain / Creative Commons Zero.