Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New documentation system #1766

Merged
merged 41 commits into from
Jul 22, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
d60061e
Revise document build system
mikee47 Jul 17, 2019
538e1d6
Update main makefiles
mikee47 Jul 17, 2019
969131a
Add docs to travis build
mikee47 Jul 16, 2019
ce111e1
Import images, convert existing text (including Wiki) to reStructured…
mikee47 Jul 8, 2019
79e08f0
Home: Edit contents readme into index.rst
mikee47 Jul 15, 2019
b7ef281
Emulator: update with note on Windows requirements
mikee47 Jul 15, 2019
2fcdd38
Add `Information` section, pull in debug images
mikee47 Jul 15, 2019
dc716a6
Add upgrade notes
mikee47 Jul 16, 2019
bd1ed92
Add `experimental` section
mikee47 Jul 15, 2019
13734d5
Add `tools` section
mikee47 Jul 16, 2019
2f767fd
Add `troubleshooting` section
mikee47 Jul 15, 2019
207f75d
Add `contribute` section, include new page on documentation system
mikee47 Jul 15, 2019
1f51b62
Edit coding style guide
mikee47 Jul 16, 2019
de3d9e4
Add `Quick Start` section, update guides
mikee47 Jul 17, 2019
7244df1
Add `api` section (to be completed), update Doxygen config
mikee47 Jul 15, 2019
d5ef8e5
Fix most doxygen warnings in code comments
mikee47 Jul 16, 2019
c36c2ee
Components: Move content from `features` into README files
mikee47 Jul 15, 2019
d6b5bff
Components: Add README files
mikee47 Jul 15, 2019
5edb1f7
Libraries: Pull in README files and fix titles
mikee47 Jul 17, 2019
1edab00
Libraries: Track down missing README files
mikee47 Jul 14, 2019
3c9a319
Samples: Move images into sample directories
mikee47 Jul 15, 2019
2aba79c
Samples: About to convert .md into .rst
mikee47 Jul 11, 2019
3560875
Samples: .md -> .rst
mikee47 Jul 15, 2019
8e8d032
Samples: Update README.rst files
mikee47 Jul 15, 2019
4b34797
Samples: Add 'todo' readme files for remaining samples
mikee47 Jul 11, 2019
3ad7d64
Reorganization of the content. The goal is to be able to learn about …
slav-at-attachix Jul 18, 2019
01ac58d
Minor changes to the content.
slav-at-attachix Jul 19, 2019
dec2a2a
Revise `HttpClient` sample readme to reflect new build system.
mikee47 Jul 18, 2019
8c13954
Minor doc fixes
mikee47 Jul 18, 2019
8e9e442
Add logo
mikee47 Jul 19, 2019
9a6c809
Generate index file containing reference information
mikee47 Jul 19, 2019
5a5412b
Move `Yeelight` into `Libraries`
mikee47 Jul 20, 2019
033a42d
Update environment variable lists
mikee47 Jul 20, 2019
5e3b300
Add section on device configuration to Esp8266 getting-started page
mikee47 Jul 20, 2019
8789bc6
Update macos start
mikee47 Jul 20, 2019
7405a26
Move samples and libraries index into root source directory
mikee47 Jul 20, 2019
fd17b28
Update `Basic_Ssl`, `Echo_Ssl` and `HttpClient` sample readme.
mikee47 Jul 20, 2019
7889fe6
Removed unnecessary level and stale text.
slav-at-attachix Jul 20, 2019
6fe9e6a
Add 'about' page with license info.
mikee47 Jul 21, 2019
db311d6
Add doc comments to `Print` class
mikee47 Jul 21, 2019
a06d6ec
Replace `api` section with generated doxygen HTML, including graphs
mikee47 Jul 21, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Samples: About to convert .md into .rst
  • Loading branch information
mikee47 committed Jul 21, 2019
commit 2aba79cfe964a739b3b75a23737d24e58cef789f
4 changes: 4 additions & 0 deletions samples/Basic_SmartConfig/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Smart Config sample

## Introduction

SmartConfig is a mechanism to configure a device as quickly as possible with the intermediate help of a smart phone
and with least interaction from a human as possible.

Expand Down
11 changes: 8 additions & 3 deletions samples/Basic_Ssl/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Compilation
# Basic SSL sample

## Compilation

In Sming the SSL support is not enabled by default.

In order to enable it you should first recompile SmingFramework with *ENABLE_SSL=1* directive.
Expand All @@ -22,7 +25,8 @@ make ENABLE_SSL=1

Now you can flash your application to your ESP8266 device.

# Debug Information
## Debug Information

If you want to see more debug information during compile type you should
add the directive *SSL_DEBUG=1*. A recompilation of SmingFramework with SSL support
and SSL dubug information can be done with the following commands:
Expand All @@ -34,7 +38,8 @@ make clean
make ENABLE_SSL=1 SSL_DEBUG=1
```

# Slow SSL negotiation
## Slow SSL negotiation

The initial SSL negotiation is CPU intensive. By default SmingFramework switches the CPU
frequency from 80 to 160 MHz. After the negotiation the CPU is switched back to 80 MHz.

Expand Down
4 changes: 4 additions & 0 deletions samples/Basic_WebSkeletonApp/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Basic Web Skeleton sample

## Introduction

Basic application that can be used as a start point for some useful App.

Features:
Expand Down
4 changes: 4 additions & 0 deletions samples/Basic_WebSkeletonApp_LTS/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Basic Web Skeleton sample

## Introduction

Basic application that can be used as a start point for some useful App.

Features:
Expand Down
31 changes: 16 additions & 15 deletions samples/Basic_rBoot/readme.txt → samples/Basic_rBoot/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rBoot Sming sample
------------------
# rBoot Sming sample

## Introduction

This sample integrates rBoot and Sming, for the many people who have been asking
for it. It demonstrates dual rom booting, big flash support, OTA updates and
Expand All @@ -15,8 +16,8 @@ Makefile-rboot.mk instead of Makefile-project.mk. In the sample the correct mk
file is chosen automatically because of the setting RBOOT_ENABLED=1 in
Makefile-user.mk

Building
--------
## Building

1) Set ESP_HOME & SMING_HOME, as environment variables or edit Makefile-user.mk
as you would for general Sming app compiling.
2) Set ESPTOOL2 (env var or in Makefile-user.mk) to point to the esptool2
Expand All @@ -28,8 +29,8 @@ Building
7) Put rom0.bin and spiff_rom.bin in the root of your webserver for OTA.
8) Interact with the sample using a terminal, sorry no web-gui (yet).

Flashing
--------
## Flashing

If flashing manually use esptool.py to flash rBoot, rom & spiffs e.g.:
esptool.py --port <port> write_flash -fs 32m 0x00000 rboot.bin 0x02000 rom0.bin
0x100000 spiffs.rom
Expand All @@ -38,22 +39,22 @@ Using the correct -fs parameter is important. This will be -fs 32m on an ESP12.

You can also flash rom0.bin to 0x202000, but booting and using OTA is quicker!

Technical Notes
---------------
## Technical Notes

spiffs_mount_manual(address, length) must be called from init. The address must
be 0x40200000 + physical flash address. Sming does not use memory mapped flash
so the reason for this strange addressing is not clear.

Important compiler flags used:
BOOT_BIG_FLASH - when using big flash mode, ensures flash mapping code is built
* BOOT_BIG_FLASH - when using big flash mode, ensures flash mapping code is built
in to the rom.
RBOOT_INTEGRATION - ensures Sming specific options are pulled in to the rBoot
* RBOOT_INTEGRATION - ensures Sming specific options are pulled in to the rBoot
source at compile time.
SPIFF_SIZE=value - passed through to code for mounting the filesystem. Also used
* SPIFF_SIZE=value - passed through to code for mounting the filesystem. Also used
in the Makefile to create the spiffs.

Disabling big flash
-------------------
## Disabling big flash

If you want to use, for example, two 512k roms in the first 1mb block of flash
(old style) then follow these instructions to produce two separately linked
roms. If you are flashing a single rom to multiple 1mb flash blocks (using big
Expand All @@ -78,7 +79,7 @@ how to use this sample without bigflash support.
If you want more than two roms you must be an advanced user and should be able
to work out what to copy and edit to acheive this!

Credits
-------
## Credits

This sample was made possible with the assistance of piperpilot, gschmott and
robotiko on the esp8266.com forum.
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
# DFPlayer Mini
# DFPlayer Mini sample

## Introduction

The DFPlayer Mini MP3 Player is a small and low price MP3 module with an simplified output directly to the speaker. The module can be used as a stand alone module with attached battery, speaker and push buttons or used in combination with an ESP8266 via RX/TX.

For more details see this link: https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299

## Building

Steps to test this sample:
* Connect DFPlayer Mini using RX/TX pins to TX/RX pins respectively of ESP8266.
* Copy one or more mp3 file to an SD card. The example playes one file for some time and moves to next one.
* Insert that SD card in the slot of the DF Player module.
* Flash and run the sample code.

9 changes: 6 additions & 3 deletions samples/Echo_Ssl/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Compilation
# Echo SSL sample

## Compilation

In Sming the SSL support is not enabled by default.

In order to enable it you should first recompile SmingFramework with *ENABLE_SSL=1* directive.
Expand All @@ -22,7 +25,7 @@ make ENABLE_SSL=1

Now you can flash your application to your ESP8266 device.

# Debug Information
## Debug Information
If you want to see more debug information during compile type you should
add the directive *SSL_DEBUG=1*. A recompilation of SmingFramework with SSL support
and SSL dubug information can be done with the following commands:
Expand All @@ -34,7 +37,7 @@ make clean
make ENABLE_SSL=1 SSL_DEBUG=1
```

# Slow SSL negotiation
## Slow SSL negotiation
The initial SSL negotiation is CPU intensive. By default SmingFramework switches the CPU
frequency from 80 to 160 MHz. After the negotiation the CPU is switched back to 80 MHz.

Expand Down
8 changes: 5 additions & 3 deletions samples/HttpClient/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Compilation
# HttpClient sample

## Compilation
In Sming the SSL support is not enabled by default.

In order to enable it you should first recompile SmingFramework with *ENABLE_SSL=1* directive.
Expand All @@ -22,7 +24,7 @@ make ENABLE_SSL=1

Now you can flash your application to your ESP8266 device.

# Debug Information
## Debug Information
If you want to see more debug information during compile type you should
add the directive *SSL_DEBUG=1*. A recompilation of SmingFramework with SSL support
and SSL dubug information can be done with the following commands:
Expand All @@ -34,7 +36,7 @@ make clean
make ENABLE_SSL=1 SSL_DEBUG=1
```

# Slow SSL negotiation
## Slow SSL negotiation
The initial SSL negotiation is CPU intensive. By default SmingFramework switches the CPU
frequency from 80 to 160 MHz. After the negotiation the CPU is switched back to 80 MHz.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# Introduction
# HttpServer Config Network sample

## Introduction

The HTTP server coming with Sming is quite powerful but it is limited from the available resources of the underlining hardware (your favorite ESP8266 microcontroller). Serving multiple files at once can be problematic. It is not the size of the files that can cause problems, but the number of simultaneous files that need to be delivered. Therefore if you serve multiple CSS or JS files you can optimize your web application before uploading it into your ESP8266 using the advice below.

# Optimizing File Delivery
## Optimizing File Delivery

In this example you will see how to combine CSS and JS files, compress them and deliver the optimized content via the HTTP server.

## Installation
### Installation

The file optimization uses `gulp`. To install it and the needed gulp packages you need to install first [npm](https://www.npmjs.com/).
Npm is the Node.JS package manager. Once you are done with the installation you can run from the command line the following:
Expand All @@ -15,7 +17,7 @@ Npm is the Node.JS package manager. Once you are done with the installation you

The command above will install gulp and its dependencies.

## Usage
### Usage

During the development of your web application you should work only in the `web/dev/` folder. Once you are ready with the application you can `pack` the resources and `upload` them to your device. The commands are

Expand Down
7 changes: 4 additions & 3 deletions samples/Humidity_SI7021/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Sming
## SI7021 Example
# SI7021 Humidity Sensor Example

## Introduction

Example code for I2C SI7021 sensor board

Expand All @@ -8,6 +9,6 @@ This code uses the following GPIO:
* #define I2C_SCL 5 // SCL
* #define I2C_SDA 4 // SCA

# Build instructions
## Build instructions

Use `make` and `make flash` to build and flash the firmware to the ESP8266 board.
7 changes: 4 additions & 3 deletions samples/LiquidCrystal_44780/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Sming
## LiquidCrystal_44780 Example
# LiquidCrystal 44780 Example

## Introduction

Example code for I2C LiquidCrystal LCDs

Expand All @@ -8,6 +9,6 @@ This code uses the following GPIO:
* GPIO0 SCL
* GPIO2 SDA

# Build instructions
## Build instructions

Use `make` and `make flash` to build and flash the firmware to the ESP8266 board.
10 changes: 4 additions & 6 deletions samples/LiveDebug/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
LiveDebug
=========
# LiveDebug Sample

This project is an example of how to integrate GDB debugging into your project.
It provides a basic command interface which you can use via regular serial terminal or with the GDB application.
Expand Down Expand Up @@ -32,8 +31,8 @@ make flash ENABLE_CONSOLE=0

Alternatively, use the `consoleOff` command from the GDB command prompt, then quit the debugger and connect via eclipse.

Exception Handling
------------------
## Exception Handling

Sming comes with a built-in exception handling that takes care to display the stack trace
leading to the issue. Usually it looks like this

Expand Down Expand Up @@ -88,8 +87,7 @@ and the sequence of commands might help us figure out the issue.

But that information might not be enough. And finding the root cause may take quite some time.

GDB Debugging
-------------
## GDB Debugging

Debugging is a powerful technique allowing you to interactively run your code and be able to see much more information about the things that went wrong.

Expand Down
7 changes: 4 additions & 3 deletions samples/Pressure_BMP180/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Sming
## BMP180 Example
# BMP180 Pressure Sensor Example

## Introduction

Example code for I2C BMP180 sensor board

Expand All @@ -8,6 +9,6 @@ This code uses the following GPIO:
* GPIO0 SCL
* GPIO2 SDA

# Build instructions
## Build instructions

Use `make` and `make flash` to build and flash the firmware to the ESP8266 board.
8 changes: 5 additions & 3 deletions samples/SmtpClient/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# Purpose of this Sample Code
# SMTP Client sample

## Purpose

To show the basics of sending an email via SMTP

# SMTP
## SMTP

When an IOT device detects a malfunction, it is good to be able to notify the user.
We can do that either by sending them an email or via a service like MQTT.
Expand All @@ -20,4 +23,3 @@ It needs some configuration:
* the name and email of the person to send the email to

Edit the sample to replace these values and the SSID etc.

Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# Adaptation of WiFi promiscuous mode demo code from Arduino
# WiFi Sniffer sample

// See https://www.hackster.io/rayburne/esp8266-mini-sniff-f6b93a
## Introduction

This is an adaptation of the WiFi promiscuous mode demo code from Arduino

See https://www.hackster.io/rayburne/esp8266-mini-sniff-f6b93a

```

// Notes.h tab in Arduino IDE is only for comments and references!

Expand Down Expand Up @@ -95,3 +101,4 @@


*/
```