Skip to content

Commit

Permalink
Update README/About pages: Focus should be on C++
Browse files Browse the repository at this point in the history
  • Loading branch information
mikee47 committed Jul 9, 2024
1 parent 725549f commit 2fff6a8
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 17 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Sming

Sming is an asynchronous embedded C/C++ framework with superb performance and multiple network features.
Sming is an asynchronous embedded C++ framework with superb performance and multiple network features.
Sming is [open source](LICENSE), modular and supports [multiple architectures](https://sming.readthedocs.io/en/latest/features.html) including ESP8266, ESP32 and RP2040.

[![Examples](https://github.com/SmingHub/Sming/wiki/images/small/combine.png)](https://github.com/SmingHub/Sming/wiki/examples)
Expand Down Expand Up @@ -48,7 +48,8 @@ git clone https://github.com/SmingHub/Sming.git


## Examples
The examples are a great way to learn the API and brush up your C/C++ knowledge.

The examples are a great way to learn the API and brush up your C++ knowledge.
Once you have completed the installation of the development tools, you can get the latest source code.

```
Expand Down
42 changes: 31 additions & 11 deletions docs/source/about.rst
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@
About
=====


Sming
-----

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.
Sming is an open-source asynchronous C++ embedded framework with networking support
and is designed to be reliable, responsive and modular.

The project was started in 2015 for the Esp8266 and has since been adapted to other devices,
including a :doc:`host emulator <arch/host/index>` for advanced development and debugging.

The framework is actively developed and has an extensive suite of integration tests.

The project was started in 2015 and is actively developed.

Arduino
-------

Arduino is an open-source electronics platform based on easy-to-use hardware and software.
Sming is compatible with (most) standard `Arduino libraries <https://sming.readthedocs.io/en/latest/libraries.html>`_,
which means that you can use any popular hardware in few lines of code.
Sming is provided with a curated set of :doc:`/libraries`, including many standard Arduino-style ones.
Lost of popular hardware can be used in a few lines of code.


ESP8266
-------

`ESP8266 <https://www.espressif.com/en/products/hardware/esp8266ex/overview>`__ is a microcontroller with Wi-Fi,
manufactured by `Espressif <https://espressif.com>`__ Systems.
`ESP8266 <https://www.espressif.com/en/products/socs/esp8266>`__ is a microcontroller with Wi-Fi,
manufactured by Espressif Systems.
It is the first microcontroller that was supported from Sming.
Sming provides access to all ESP8266 functions such as GPIO, timers, WiFi configuration, etc.

Expand All @@ -30,9 +34,25 @@ ESP32
-----

`ESP32 <https://www.espressif.com/en/products/socs/esp32>`__ is the second microcontroller by `Espressif <https://espressif.com>`__ Systems.
There are also a number of more recent variants such as the esp32-s2 and esp32-c3.
There are also a number of more recent variants such as the esp32-s2 and esp32-c3/s3 (RISCV) which are supported by Sming.

The Esp32 WiFi stack requires FreeRTOS so Sming applications also have to run on this platform.
However, Sming applications should avoid making use of FreeRTOS-specific features where possible
as this reduces portability to other devices.


RP2040
------

The `RP2040 <https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html>`__ is the Raspberry Pi Foundation's first microcontroller.
It is an ARM-based device with dual cores and a good set of hardware peripherals.
Perhaps its most outstanding feature is programmable-IO which allows high-performance protocols to be implemented.

There are various development boards available, including the original Pico boards which have a networked option: the Pico-W.
This uses an external CYW43-based network SOC which handles all the low-level protocols.

Sming currently provides support for these devices but is more limited and should be considered 'experimental'.
The RP2040 SDK is simple, reliable of high-quality and is fully open-source, including the bootloader ROM code.
There is no FreeRTOS complexity to deal with and is an ideal foundation for Sming applications.


Licenses
Expand All @@ -41,7 +61,7 @@ Licenses
Sming Core
LGPL v3

Espressif SDK
Espressif Non-OS SDK for Esp8266
ESPRESSIF MIT License (with some closed-source blobs)

Libraries
Expand Down
2 changes: 1 addition & 1 deletion docs/source/arch/host/debugging/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ For ``MacOS``, GDB can be installed via ``brew`` but it requires code-signing.
This is not a trivial procedure and ``lldb`` is recommended.
This is installed with the standard xcode development tools.

For other development platforms a GNU C/C++ debugger is required.
For other development platforms the GNU debugger is required.
Make sure that you have the following executable in your PATH::

gdb
Expand Down
2 changes: 1 addition & 1 deletion docs/source/getting-started/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ following these :doc:`instructions </_inc/docs/README>`.
Examples
--------

The examples are a great way to learn the API and brush up your C/C++ knowledge.
The examples are a great way to learn the API and brush up your C++ knowledge.

- `Basic Blink <#basic-blink>`__
- `Simple GPIO input/output <#simple-gpio-inputoutput>`__
Expand Down
2 changes: 1 addition & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Welcome to Sming Framework

**Let's do smart things!!!**

Sming is an asynchronous embedded C/C++ framework with superb performance and multiple network features.
Sming is an asynchronous embedded C++ framework with superb performance and multiple network features.
Sming is open source, modular and supports :doc:`multiple architectures <features>` including ESP8266, ESP32 and RP2040.

|samples|_
Expand Down
2 changes: 1 addition & 1 deletion docs/source/upgrading/4.7-5.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This has to be replaced with the directive ``COMPONENT_DEPENDS += CommandProcess
Including Header Files
~~~~~~~~~~~~~~~~~~~~~~~

To include the command processing headers in your C/C++ application we used to do the following
To include the command processing headers in your C++ application we used to do the following

For example::

Expand Down

0 comments on commit 2fff6a8

Please sign in to comment.