OVMS3-idf/examples
Ivan Grokhotkov 1bcd90d45d Merge branch 'feature/system_apis' into 'master'
system_* APIs cleanup

This changeset is mostly about cleaning up `system_*` APIs and moving them from libcore. It has dragged a few more changes along, however.

- `system_deep_sleep` deprecated, new name is `esp_deep_sleep`
- `system_efuse_read_mac` deprecated, new name is `esp_efuse_read_mac`
- `system_read/write_rtc_mem` removed (reason: we use linker to place code/data into RTC memory now)
- `system_get_sdk_version` deprecated. Returns "master" for now. Support for compile-time and runtime version detection will be done in a separate MR.
- `system_get_time` and variations have been deprecated. `gettimeofday` should be used instead.
- `system_restart` deprecated, new name is `esp_restart`. Rewritten code to work correctly from any of the cores.
- `system_restore` deprecated, `esp_wifi_restore` should be used instead.
- `system_get_rst_info` removed (it wasn't in a header file)
- RTC library has been updated to latest version
- Logging output from `libfoo.a` goes through `foo_printf` function now, where `foo ` is any of the library names. For libraries other than rtc and phy, this is a temporary measure, until we finish switching to esp_log library and clean up all uses of printf/ets_printf.
- ESP-IDF build will fail if any of the libraries have printf/ets_printf reference.
-  Added `esp_random` function which gets values from HW RNG. I have added code which makes sure the value is not polled too often (allows at least 16 APB cycles). Also added a header file for HW RNG (just one register).
- Moved random number generation functions used by wpa library into wpa_supplicant component.

See merge request !234
2016-11-24 18:22:50 +08:00
..
01_hello_world implement esp_deep_sleep, fix build issues 2016-11-22 21:54:49 +08:00
02_blink examples: Update component.mk for new conventions 2016-11-16 14:20:47 +11:00
03_http_request examples: Update component.mk for new conventions 2016-11-16 14:20:47 +11:00
04_https_request Fixes for stdlib.h inclusion 2016-11-24 08:20:21 +11:00
05_ble_adv examples: Update component.mk for new conventions 2016-11-16 14:20:47 +11:00
06_sntp implement esp_deep_sleep, fix build issues 2016-11-22 21:54:49 +08:00
07_nvs_rw_value implement esp_deep_sleep, fix build issues 2016-11-22 21:54:49 +08:00
08_nvs_rw_blob implement esp_deep_sleep, fix build issues 2016-11-22 21:54:49 +08:00
09_openssl_client components/openssl_demo: remove the apache license header and add cc license head 2016-11-18 10:07:34 +08:00
10_openssl_server components/openssl_demo: remove the apache license header and add cc license head 2016-11-18 10:07:34 +08:00
11_rmt_nec_tx_rx add RMT driver and example 2016-11-22 00:57:19 +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.