From 570f97bcd71a8875b3d3fa400276b21eb3c8e143 Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Mon, 2 Dec 2024 13:14:49 +0100 Subject: [PATCH 1/5] README.md: improve feature list --- README.md | 68 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index bc14ae58a034..36582a9240f3 100644 --- a/README.md +++ b/README.md @@ -57,30 +57,50 @@ LGPL code. RIOT provides features including, but not limited to: -* a preemptive, tickless scheduler with priorities -* flexible memory management -* high resolution, long-term timers -* MTD abstraction layer -* File System integration -* support 200+ boards based on AVR, MSP430, ESP8266, ESP32, RISC-V, - ARM7 and ARM Cortex-M -* the native port allows to run RIOT as-is on Linux and BSD. - Multiple instances of RIOT running on a single machine can also be - interconnected via a simple virtual Ethernet bridge or via a simulated - IEEE 802.15.4 network (ZEP) -* IPv6 -* 6LoWPAN (RFC4944, RFC6282, and RFC6775) -* UDP -* RPL (storing mode, P2P mode) -* CoAP -* OTA updates via SUIT -* MQTT -* USB (device mode) -* Display / Touchscreen support -* CCN-Lite -* LoRaWAN -* UWB -* Bluetooth (BLE) via [NimBLE](https://github.com/apache/mynewt-nimble) + * Platforms Supported + - 200+ boards based on AVR, MSP430, ESP8266, ESP32, RISC-V, ARM7, and ARM Cortex-M + - the native port allows to run RIOT as-is on Linux and BSD. + Multiple instances of RIOT running on a single machine can also be + interconnected via a simple virtual Ethernet bridge or via a simulated + IEEE 802.15.4 network (ZEP) + + * Programming Environment + - Write native code in C, C++, or Rust + - Rely upon POSIX APIs, user friendly hardware abstractions, and standard embedded Rust interfaces + - Integrate dynamic runtimes such as MicroPython, elm (JavaScript), and WASM + + * Network Features and Protocols + - IPv6 + - 6LoWPAN (RFC4944, RFC6282, and RFC6775) + - UDP + - RPL (storing mode, P2P mode) + - CoAP + - MQTT + - Bluetooth (BLE) via [NimBLE](https://github.com/apache/mynewt-nimble) + - LoRaWAN + - UWB + - CNN-Lite + - LwIP + - Dose (single pair ethernet like networking on serial interface UART) + + * System Features + - a preemptive, tickless scheduler with priorities + - flexible memory management + - high resolution, long-term timers + - MTD abstraction layer for memory devices + - File System integration + + * Security Features + - OTA updates via SUIT + - PSA Cryptographic API + - DTLS, EDHOC + + * Device Drivers + - SPI, I2C, UART, USB + - Various sensors: Environmental sensors, IMUs, magnetometers, particulate matter sensors + - Various actuators: Servos, motors, dimmers, switches, RGB LEDs + - Displays and touchscreens + - GNSS modules ## Getting RIOT From 8c3b1f564d7c10090a7f96c2dac2a645c2e573ac Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Fri, 17 Jan 2025 18:36:42 +0100 Subject: [PATCH 2/5] Apply some suggestions from code review --- README.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 36582a9240f3..61eeda13c7ac 100644 --- a/README.md +++ b/README.md @@ -71,20 +71,24 @@ RIOT provides features including, but not limited to: * Network Features and Protocols - IPv6 - - 6LoWPAN (RFC4944, RFC6282, and RFC6775) + - IPv4 via lwIP + - 6LoWPAN (RFC4944, RFC6282, RFC6775 and RFC7668 ) - UDP - RPL (storing mode, P2P mode) - CoAP - - MQTT + - MQTT via paho-mqtt and MQTT-SN - Bluetooth (BLE) via [NimBLE](https://github.com/apache/mynewt-nimble) - LoRaWAN - UWB - CNN-Lite - LwIP + - IEEE 802.15.4 + - Ethernet (also via USB) + - SLIP (or ethos networking via Serial) - Dose (single pair ethernet like networking on serial interface UART) * System Features - - a preemptive, tickless scheduler with priorities + - a preemptive, tickless scheduler with priorities, optional periodic round robin within priorities - flexible memory management - high resolution, long-term timers - MTD abstraction layer for memory devices @@ -96,11 +100,13 @@ RIOT provides features including, but not limited to: - DTLS, EDHOC * Device Drivers - - SPI, I2C, UART, USB + - SPI, I2C, UART, USB, CAN + - RTC, PWM, Timer + - ADC, DAC - Various sensors: Environmental sensors, IMUs, magnetometers, particulate matter sensors - Various actuators: Servos, motors, dimmers, switches, RGB LEDs - Displays and touchscreens - - GNSS modules + - GNSS ## Getting RIOT From ec121d2ff0fb5037ed45a241ecf5cb7194c654fe Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Fri, 17 Jan 2025 18:39:42 +0100 Subject: [PATCH 3/5] add some suggestions --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 61eeda13c7ac..90cb28cc82af 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,8 @@ RIOT provides features including, but not limited to: - Bluetooth (BLE) via [NimBLE](https://github.com/apache/mynewt-nimble) - LoRaWAN - UWB + - LwM2M + - CAN - CNN-Lite - LwIP - IEEE 802.15.4 From 00bea3471a0cf529804fbc700d7a8d5abd0ee436 Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Fri, 17 Jan 2025 19:04:55 +0100 Subject: [PATCH 4/5] move lwm2m --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 90cb28cc82af..db2fe66ad1ec 100644 --- a/README.md +++ b/README.md @@ -77,10 +77,10 @@ RIOT provides features including, but not limited to: - RPL (storing mode, P2P mode) - CoAP - MQTT via paho-mqtt and MQTT-SN + - LwM2M - Bluetooth (BLE) via [NimBLE](https://github.com/apache/mynewt-nimble) - LoRaWAN - UWB - - LwM2M - CAN - CNN-Lite - LwIP From abe960d98e6598e0f78b4996d2279f44b21f9542 Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Fri, 17 Jan 2025 19:07:10 +0100 Subject: [PATCH 5/5] add TCP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index db2fe66ad1ec..334e23a798ae 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,7 @@ RIOT provides features including, but not limited to: - IPv4 via lwIP - 6LoWPAN (RFC4944, RFC6282, RFC6775 and RFC7668 ) - UDP + - TCP - RPL (storing mode, P2P mode) - CoAP - MQTT via paho-mqtt and MQTT-SN