From c7a072b67c6243f68f3947ed82f296334b8beed0 Mon Sep 17 00:00:00 2001 From: mikee47 Date: Tue, 2 Nov 2021 08:38:51 +0000 Subject: [PATCH] Update landing pages Promote HardwareSPI, Graphics, UPnP and related libraries (unique and Sming-specific) --- README.md | 7 +- Sming/Arch/Esp32/Components/esp32/README.rst | 2 +- docs/source/index.rst | 69 +++++++++++++------- 3 files changed, 53 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 02a98e7aa1..a074f80c62 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,10 @@ Please note Version 4 documentation is at [sming.readthedocs.io](https://sming.r * Fast and user friendly development. * Simple yet powerful hardware API wrappers. * Compatible with standard [Arduino Libraries](https://sming.readthedocs.io/en/latest/libraries.html) - use any popular hardware in few lines of code. -* Built-in file system: [spiffs](https://github.com/pellepl/spiffs). +* Installable file systems: +[SPIFFS](https://sming.readthedocs.io/en/latest/_inc/Sming/Libraries/Spiffs/index.html), +[LittleFS](https://sming.readthedocs.io/en/latest/_inc/Sming/Libraries/LittleFS/index.html) and +[FWFS](https://sming.readthedocs.io/en/latest/_inc/Sming/Components/IFS/index.html) * Built-in powerful wireless modules. * Powerful asynchronous (async) network stack. * Async TCP and UDP stack based on [LWIP](http://savannah.nongnu.org/projects/lwip/). @@ -77,7 +80,7 @@ Please note Version 4 documentation is at [sming.readthedocs.io](https://sming.r * Based on Espressif NONOS SDK. Officially suppored NON SDK version is >= 3.0.1. * Support for a [thin No-Wifi-SDK](https://sming.readthedocs.io/en/latest/_inc/Sming/Arch/Esp8266/Components/esp_no_wifi/index.html). Helpful when a project does not require WiFi (or networking) and reduces code size and memory usage signficantly. * Linux/Windows features - * Sming has a [host emulator](https://sming.readthedocs.io/en/latest/arch/host/index.html) that allows libraries and sample applications to be compiled on a Linux/Windows host system and be tested before uploading them to an actual microcontroller. + * Sming has a [host emulator](https://sming.readthedocs.io/en/latest/arch/host/index.html) that allows libraries and sample applications to be developed and tested on a Linux/Windows host system before uploading them to an actual microcontroller. ## Compatibility diff --git a/Sming/Arch/Esp32/Components/esp32/README.rst b/Sming/Arch/Esp32/Components/esp32/README.rst index db7c511b2f..d1419ec950 100644 --- a/Sming/Arch/Esp32/Components/esp32/README.rst +++ b/Sming/Arch/Esp32/Components/esp32/README.rst @@ -51,7 +51,7 @@ Background An empty ESP IDF project is built which generates a set of libraries and headers which the framework can then be built against. -The project is located in ``project/{SMING_SOC}`. +The project is located in ``project/{SMING_SOC}``. The code for this project is copied from ``sdk/project``. diff --git a/docs/source/index.rst b/docs/source/index.rst index 7019f1eeb8..b1039df431 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -5,9 +5,8 @@ Welcome to Sming Framework **Let's do smart things!!!** -Sming is an asynchronous C/C++ framework with superb performance and multiple network features. -Sming is open source and is tailored towards embedded devices. -It supports multiple architectures as ESP8266 for example. +Sming is an asynchronous embedded C/C++ framework with superb performance and multiple network features. +Sming is open source, modular and supports :doc:`multiple architectures ` including ESP8266 and ESP32. |samples|_ @@ -19,31 +18,57 @@ Summary ------- - Superb performance and memory usage (Sming compiles to native firmware!) - Fast and user friendly development -- Simple yet powerful hardware API wrappers -- Compatible with standard :doc:`libraries` - use any popular hardware in few lines of code -- Multiple file system support: :component:`IFS`, :library:`Spiffs`, :library:`LittleFS` +- Integrated :doc:`host emulator ` to assist with developing, testing and debugging + libraries and applications on a PC before uploading them to an actual microcontroller. + Try it out online `here `__. - Built-in powerful wireless modules -- Powerful asynchronous (async) network stack. +- Compatible with standard :doc:`libraries` - use popular hardware in few lines of code +- Simple yet powerful hardware API wrappers + + - Standard Arduino-style wrappers for simplicity and flexibility + - :library:`HardwareSPI` library provides advanced asynchronous SPI device master capability + including use of ESP8266 'overlapped' mode for reduced pin usage and dual/quad I/O support. + - :library:`Graphics` implements asynchronous display control model with low memory usage, + transparency (alpha-blending) and flexible scripted resource management. + +- Modular C++ installable file system interface + + - Supports popular :library:`SPIFFS ` and :library:`LittleFS ` filing systems + - New :component:`FWFS ` read-only filesystem can be used as base file system, + with read/write filesystems mounted in sub-directories + - Integrated metadata support (file times, security descriptors, user metadata) + - Access to Host (linux / Windows / MacOS) filing system via same API + - Integrated streaming archival system to support backups or file system compaction operations + +- Powerful asynchronous (async) :doc:`network stack ` including: + + - Async TCP and UDP stack based on `LWIP `__. + - With clients supporting: HTTP, MQTT, WebSockets and SMTP. + - And servers for: DNS, FTP, HTTP(+ WebSockets), Telnet. + - With :doc:`SSL support <_inc/Sming/Components/ssl/index>` for all network clients and servers. + Based on `axTLS `__ and `BearSSL `__. + - Over-The-Air (OTA) firmware upgrades via HTTP(S) and MQTT(S). + +- :library:`UPnP ` + framework supports both standard and custom devices with full ControlPoint support. + + - Generates C++ code from standard UPnP XML schema. + - Companion :library:`SSDP` library independently supports discovery on local network. + - :library:`GoogleCast` library allows control of ChromeCast devices or smart TVs supporting the GoogleCast protocol. + - :library:`HueEmulator` provides simple way to implement devices compatible with Amazon Alexa. - - Async TCP and UDP stack based on `LWIP `__. - - With clients supporting: HTTP, MQTT, WebSockets and SMTP. - - And servers for: DNS, FTP, HTTP(+ WebSockets), Telnet. - - With :doc:`SSL support <_inc/Sming/Components/ssl/index>` for all network clients and servers. - Based on `axTLS `__ and `BearSSL `__. - - Over-The-Air(OTA) firmware upgrades via HTTP(S) and MQTT(S). +- ESP8266 features -- ESP8266 specific features + - Integrated boot loader :component:`rboot` with support for 1MB ROMs, OTA firmware updating and ROM switching. + - :doc:`Crash handlers ` for analyzing/handling system restarts due to fatal errors or WDT resets. + - :component-esp8266:`PWM support ` based on `Stefan Bruens PWM `__. + - Optional :component-esp8266:`custom heap allocation ` based on `Umm Malloc `__. + - Based on :component-esp8266:`Espressif NONOS SDK Version 3 `. - - Integrated boot loader :component:`rboot` with support for 1MB ROMs, OTA firmware updating and ROM switching. - - :doc:`Crash handlers ` for analyzing/handling system restarts due to fatal errors or WDT resets. - - :component-esp8266:`PWM support ` based on `Stefan Bruens PWM `__. - - Optional :component-esp8266:`custom heap allocation ` based on `Umm Malloc `__. - - Based on :component-esp8266:`Espressif NONOS SDK `. Tested with versions 1.5, 2.0 and 3.0. +- ESP32 features -- Linux/Windows features + - Based on :component-esp32:`ESP IDF SDK ` - - Sming has a :doc:`host emulator ` that allows libraries and sample applications to be compiled on a Linux/Windows host system - and be tested before uploading them to an actual microcontroller. .. toctree:: :caption: Contents: