OVMS3-idf/examples
Ivan Grokhotkov 979fce0df5 bt: call nvs_flash_init in examples, show error if NVS is not initialized
NVS is used to store PHY calibration data, WiFi configuration, and BT
configuration. Previously BT examples did not call nvs_flash_init,
relying on the fact that it is called during PHY init. However PHY init
did not handle possible NVS initialization errors.

This change moves PHY init procedure into the application, and adds
diagnostic messages to BT config management routines if NVS is not
initialized.
2017-07-17 21:29:50 +08:00
..
bluetooth bt: call nvs_flash_init in examples, show error if NVS is not initialized 2017-07-17 21:29:50 +08:00
ethernet Ethernet example: Add README, use menuconfig for all example pin assignments 2017-04-20 18:03:00 +10:00
get-started stack sizes: Revert stack size increases added in 8d43859 2017-06-29 14:57:13 +10:00
performance tcp_udp_perf: add license and modify some details 2017-04-18 15:23:28 +08:00
peripherals build: Fix the warnings that break the tests 2017-07-07 11:03:25 +08:00
protocols examples: fix timezone for China in SNTP example 2017-04-28 19:37:14 +08:00
storage bt: call nvs_flash_init in examples, show error if NVS is not initialized 2017-07-17 21:29:50 +08:00
system bt: call nvs_flash_init in examples, show error if NVS is not initialized 2017-07-17 21:29:50 +08:00
wifi bt: call nvs_flash_init in examples, show error if NVS is not initialized 2017-07-17 21:29:50 +08:00
README.md examples: Standardise naming of files, symbols, etc. in examples 2017-03-27 17:42:05 +11: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.
  • Names (of files, functions, variables, etc.) inside examples should be distinguishable from names of other parts of IDF (ideally, use example in names.)
  • Functions and variables used inside examples should be declared static where possible.
  • Examples should demonstrate one distinct thing each. Avoid multi-purposed "demo" examples, split these into multiple examples instead.
  • 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.