diff --git a/README.md b/README.md index 917f6eb..d91cd05 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Please note that this project is released with a [Contributor Code of Conduct](h * Install [esptool.py](https://github.com/themadinventor/esptool) and make it available on your PATH. If you used esp-open-sdk then this is done already. -* The esp-open-rtos build process uses `GNU Make`, and the utilities `sed` and `grep`. If you built esp-open-sdk then you probably have these already. +* The esp-open-rtos build process uses `GNU Make`, and the utilities `sed` and `grep`. If you built esp-open-sdk then you have these already. * Use git to clone the esp-open-rtos project (note the `--recursive`): @@ -38,7 +38,7 @@ cd esp-open-rtos #define WIFI_PASS "my secret password" ``` -Remove the `#warning` and follow the git ignore instructions to keep your credentials from being pushed to Github. +Remove the `#warning` line and follow the git ignore instructions written in the header file to keep your credentials from being pushed to Github. * Build an example project (found in the 'examples' directory) and flash it to a serial port: @@ -48,6 +48,8 @@ make flash -j4 -C examples/http_get ESPPORT=/dev/ttyUSB0 Run `make help -C examples/http_get` for a summary of other Make targets. +(Note: the `-C` option to make is the same as changing to that directory, then running make.) + The [Build Process wiki page](https://github.com/SuperHouse/esp-open-rtos/wiki/Build-Process) has in-depth details of the build process. ## Goals @@ -57,7 +59,20 @@ The [Build Process wiki page](https://github.com/SuperHouse/esp-open-rtos/wiki/B * Leave upstream source clean, for easy interaction with upstream projects. * Flexible build and compilation settings. -Current status is alpha quality, under development. AP STATION mode (ie wifi client mode) and UDP/TCP client modes are tested. Other functionality should work. Contributors and testers are welcome! +Current status is alpha quality, actively developed. AP STATION mode (ie wifi client mode) and UDP/TCP client modes are tested. Other functionality should work. Contributors and testers are welcome! + +## Code Structure + +* `examples` contains a range of example projects (one per subdirectory). Check them out! +* `include` contains header files from Espressif RTOS SDK, relating to the binary libraries & Xtensa core. +* `core` contains source & headers for low-level ESP8266 functions & peripherals. `core/include/esp` contains useful headers for peripheral access, etc. Minimal to no FreeRTOS dependencies. +* `extras` is a directory that contains optional components that can be added to your project. Most 'extras' components will have a corresponding example in the `examples` directory. Extras include: + - i2c - software i2c driver ([upstream project](https://github.com/kanflo/esp-open-rtos-driver-i2c)) + - rboot-ota - OTA support (over-the-air updates) including a TFTP server for receiving updates ([for rboot by @raburton](http://richard.burtons.org/2015/05/18/rboot-a-new-boot-loader-for-esp8266/)) + - bmp180 driver for digital pressure sensor ([upstream project](https://github.com/Angus71/esp-open-rtos-driver-bmp180)) +* `FreeRTOS` contains FreeRTOS implementation, subdirectory structure is the standard FreeRTOS structure. `FreeRTOS/source/portable/esp8266/` contains the ESP8266 port. +* `lwip` and `axtls` contain the lwIP TCP/IP library and the axTLS TLS library ('libssl' in the esp8266 SDKs), respectively. See [Third Party Libraries](https://github.com/SuperHouse/esp-open-rtos/wiki/Third-Party-Libraries) wiki page for details. +* `libc` contains the newlib libc. [Libc details here](https://github.com/SuperHouse/esp-open-rtos/wiki/libc-configuration). ## Open Source Components @@ -79,15 +94,6 @@ Some binary libraries appear to contain unattributed open source code: * libnet80211.a & libwpa.a appear to be based on FreeBSD net80211/wpa, or forks of them. ([See this issue](https://github.com/SuperHouse/esp-open-rtos/issues/4)). * libudhcp has been removed from esp-open-rtos. It was released with the Espressif RTOS SDK but udhcp is GPL licensed. -## Code Structure - -* `examples` contains a range of example projects (one per subdirectory). Check them out! -* `include` contains header files from Espressif RTOS SDK, relating to the binary libraries & Xtensa core. -* `core` contains source & headers for low-level ESP8266 functions & peripherals. `core/include/esp` contains useful headers for peripheral access, etc. Still being fleshed out. Minimal to no FreeRTOS dependencies. -* `FreeRTOS` contains FreeRTOS implementation, subdirectory structure is the standard FreeRTOS structure. `FreeRTOS/source/portable/esp8266/` contains the ESP8266 port. -* `lwip` and `axtls` contain the lwIP TCP/IP library and the axTLS TLS library ('libssl' in the esp8266 SDKs), respectively. See [Third Party Libraries](https://github.com/SuperHouse/esp-open-rtos/wiki/Third-Party-Libraries) wiki page for details. - - ## Licensing * BSD license (as described in LICENSE) applies to original source files, [lwIP](http://lwip.wikia.com/wiki/LwIP_Wiki), and [axTLS](http://axtls.sourceforge.net/). lwIP is Copyright (C) Swedish Institute of Computer Science. axTLS is Copyright (C) Cameron Rich. @@ -98,6 +104,8 @@ Some binary libraries appear to contain unattributed open source code: * Newlib is covered by several copyrights and licenses, as per the files in the `libc` directory. +Components under `extras/` may contain different licenses, please see those directories for details. + ## Contributions Contributions are very welcome! diff --git a/extras/README.md b/extras/README.md deleted file mode 100644 index 1bc0a52..0000000 --- a/extras/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# extras - -This folder contains supportive source code. - -For current versions or reporting issues etc. please check the main development pages. - -- [bmp180](https://github.com/Angus71/esp-open-rtos-driver-bmp180) -- [i2c](https://github.com/kanflo/esp-open-rtos-driver-i2c) -- [rboot-ota](http://richard.burtons.org/) -