OVMS3-idf/examples
Jeroen Domburg bf57594ebe Merge branch 'feature/intr_alloc' into 'master'
Add dynamic interrupt allocation mechanism

This adds:
- Dynamic allocation of interrupts. Pass it the features of the interrupt you want, it'll set you up with an int.
- Shared interrupts. Enables multiple peripheral drivers to use the same interrupt. 
- Marking what interrupts are fully executable from IRAM; if an int isn't marked like that it will get disabled once flash cache gets disabled.

Also:
- Modifies driver to be in line with these changes

See merge request !254
2016-12-09 14:00:39 +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 ethernet: add first version of ethernet driver 2016-12-01 19:17:48 +08:00
04_https_request example/https_request: add header file declare platform.h of mbedtls 2016-12-08 15:03:38 +08:00
05_ble_adv component/bt : run astyle handle the code files 2016-11-25 02:10:15 +08:00
06_sntp ethernet: add first version of ethernet driver 2016-12-01 19:17:48 +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 example/09_openssl_client: change default port to be 443 2016-12-08 20:28:45 +08:00
10_openssl_server ethernet: add first version of ethernet driver 2016-12-01 19:17:48 +08:00
11_rmt_nec_tx_rx Add interrupt allocation scheme / interrupt sharing. Also modifies drivers and examples. Also allows interrupts 2016-12-08 12:39:33 +08:00
12_blufi component/bt : cleanup all the "-W-no-xx" and all the warnings 2016-12-07 13:49:53 -08:00
13_timer_group Fix example code, add chapter to docs about interrupts and multicore issues 2016-12-08 14:42:00 +08:00
14_gatt_server component/bt : cleanup demo warnings 2016-12-07 13:49:53 -08:00
15_gatt_client component/bt : remove sdp demo and add default sdkconfig of bt demos 2016-11-30 11:26:30 +08:00
16_pcnt Merge branch 'feature/intr_alloc' into 'master' 2016-12-09 14:00:39 +08:00
17_ethernet docs: fix example index 2016-12-02 16:02:20 +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.