diff --git a/.github/ISSUE_TEMPLATE/porting-request.md b/.github/ISSUE_TEMPLATE/porting-request.md
index 52c53324e..35dfd7a71 100644
--- a/.github/ISSUE_TEMPLATE/porting-request.md
+++ b/.github/ISSUE_TEMPLATE/porting-request.md
@@ -4,7 +4,6 @@ about: Suggest a new MCU to be compatible with Luos
title: "[MCU PORTING] "
labels: porting
assignees: simonbdy
-
---
## Before to begin
@@ -18,25 +17,27 @@ If you only have a usage question, ask it to the [Luos Community](https://discor
At last, feel free to read the [Luos contribution's guidelines](https://github.com/Luos-io/luos_engine/blob/main/CONTRIBUTING.md) and the [documentation page](https://www.luos.io/docs/contribute-to-luos) to have more insight about how to contribute to Luos!
## Details
+
Please replace the italic test by your inputs and details in each of the following sections:
### What MCU would you like Luos to be compatible with?
-*List the MCU(s) you want Luos to be compatible with.*
+
+_List the MCU(s) you want Luos to be compatible with._
### Link the datasheet of this MCU
-*Please provide the links of the MCU's datasheet.*
+
+_Please provide the links of the MCU's datasheet._
### Describe your project
-*Describe your project and explain why you need the MCU(s) to be Luos compatible.*
+
+_Describe your project and explain why you need the MCU(s) to be Luos compatible._
### Describe the electronic board hosting the MCU
-*Add details about the network interface, the pins used, the device, etc. Don't hesitate to post a schematic.*
-### Ensure that every box bellow is checked
- - [ ] The MCU is not in the [compatible list](https://www.luos.io/docs/compatibility/mcu_demoboard) in the documentation.
- - [ ] The MCU is not already in an existing [porting issue](https://github.com/Luos-io/luos_engine/issues).
+_Add details about the network interface, the pins used, the device, etc. Don't hesitate to post a schematic._
### Additional context
-*Add any other context about the porting request here.*
+
+_Add any other context about the porting request here._
Thank you! Your issue will be reviewed by our admins.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 06e3beb79..4b4a7d4f9 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,17 +2,17 @@
# Contributing to Luos
-Thank you for devoting some of your time and resources for contributing in Luos!
+Thank you for devoting some of your time and resources for contributing in Luos!
Your input and your help are valuable, and mean a lot to us. We are convinced that a great open source project can't grow without the help of its community. That's why we want to make contributing to this project as easy and transparent as possible, whether it is about:
-* Reporting a bug
-* Discussing the current state of the code
-* Submitting a fix
-* Proposing new features
-* Becoming a maintainer
-* Improving the flows
-* ...
+- Reporting a bug
+- Discussing the current state of the code
+- Submitting a fix
+- Proposing new features
+- Becoming a maintainer
+- Improving the flows
+- ...
This page is written to guide you into contribution of the Luos project, and make your journey enjoyable and gratifying. If you can't find what you are looking for, [please tell us](https://discord.gg/luos)!
@@ -29,7 +29,7 @@ This page is written to guide you into contribution of the Luos project, and mak
Contribution to a project is about dedicating own time and resources to help a project grow. It can be done in many different ways that are not all about code programming. Anyone can contribute to a project at their own level.
-When done right, contribution brings a lot to a project, but also to the contributor.
+When done right, contribution brings a lot to a project, but also to the contributor.
For example, it brings together external visions and skills to build, improve or fix parts of this project. Most of the contributors were first mere users of a project before to become contributors. They often got through contribution in order to add a feature they wanted, or fix an issue that was bothering them. The result is also, on their side, the feeling of being part of a great project.
@@ -37,23 +37,24 @@ Contribution allows contributors to learn faster and gain skills. In fact, some
Eventually, it allows to meet new people with common interest while talking to other contributors in the process of adding, improving or fixing.
-
## How can I contribute to Luos?
-You can contribute to the Luos project by creating **issues** for signaling bugs or requesting features, and opening **pull rquests (PR)** to work on these issues. There are also **simpler ways** of contributing. But first, let us introduce to you the three layers of contribution for the Luos project.
+You can contribute to the Luos project by creating **issues** for signaling bugs or requesting features, and opening **pull rquests (PR)** to work on these issues. There are also **simpler ways** of contributing. But first, let us introduce to you the three layers of contribution for the Luos project.
Before to even begin with the coding contributions, we will talk about the small but important contributions that make the project go on. Then we will describe the two next layers of contribution, from easy to advanced, where it is about creating issues and pull requests, and working on them.
### Where to find the issues and PR?
+
You can check and follow the [`Luos contribution project`](https://github.com/orgs/Luos-io/projects/21) on GitHub: it displays several tabs with the lists of issues and pull requests opened and/or worked on by the community. Each issue or PR has a status showing its progress (Todo, In progress, Done, etc.).
### Our calls for contribution
-You will note that some issues and PR have the label `help wanted`. It is meant as a **call for contribution** for subjects we need community's help to work on.
+You will note that some issues and PR have the label `help wanted`. It is meant as a **call for contribution** for subjects we need community's help to work on.
## First layer: the easiest contributions
The easiest contributions are as simple as every day tasks, such as:
+
- Connect to the [Luos Discord community](https://discord.gg/luos): This is where you can talk about Luos, embedded or edge systems, find resources, etc.
- Talk to Luos around you, with your family, friends, co-worker, etc.
- Give one of your precious GitHub stars β to our main repo [Luos engine](https://github.com/Luos-io/luos_engine/) (you will need a GitHub account, then just click on the star on the top right of the page.)
@@ -70,7 +71,7 @@ To make any change in the project, we use
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Alarm controller app
+
This app constantly watches for movements and raises an alarm if there is.
# Link project
+
This app is linked to the [bike_alarm/Alarm_controller project](../../projects/l0/bike_alarm/alarm_controller).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/apps/start_controller/README.md b/examples/apps/start_controller/README.md
index b2fae8a5a..dfabba2ce 100644
--- a/examples/apps/start_controller/README.md
+++ b/examples/apps/start_controller/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Alarm controller app
+
This app enables or disables the alarm .
# Link project
+
This app is linked to the [bike_alarm/Start_controller project](../../Projects/bike_alarm/Alarm_controller).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/Arduino/bldc_simple_foc/README.md b/examples/projects/Arduino/bldc_simple_foc/README.md
index d2f541b32..9edf42c43 100644
--- a/examples/projects/Arduino/bldc_simple_foc/README.md
+++ b/examples/projects/Arduino/bldc_simple_foc/README.md
@@ -7,17 +7,19 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
Version: 2.7.0
# Hardware specification
+
## Boardβ
+
- Arduino zero board to drive the motor
- Simple FOC arduino shield
- BLDC motor with magnetic sensor (SPI interface)
## Luos network on arduino boardβ
+
- PTPA: PIN19
- PTPB: PIN7
- RX_EN: 2
@@ -29,8 +31,6 @@ Version: 2.7.0
![Wiring BLDC](https://raw.githubusercontent.com/Luos-io/Documentation/main/static/assets/images/simplefoc_schematic.drawio.png)
-
## Join Luos Community
-* β Join the [Luos Discord server](http://discord.gg/luos)
-* β Join the [Luos subreddit](https://www.reddit.com/r/Luos)
+- β Join the [Luos Discord server](http://discord.gg/luos)
diff --git a/examples/projects/Arduino/button/lib/button/README.md b/examples/projects/Arduino/button/lib/button/README.md
index f3e03442b..946473259 100644
--- a/examples/projects/Arduino/button/lib/button/README.md
+++ b/examples/projects/Arduino/button/lib/button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/Arduino/led/lib/led/README.md b/examples/projects/Arduino/led/lib/led/README.md
index 1edef1c62..6c8ee94dc 100644
--- a/examples/projects/Arduino/led/lib/led/README.md
+++ b/examples/projects/Arduino/led/lib/led/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# LED driver
+
Driver for using an RGB LED in your projects with Luos.
# Link project
+
This driver is linked to the [LED project](../../Projects/led).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/Arduino/led_ws/lib/README b/examples/projects/Arduino/led_ws/lib/README
new file mode 100644
index 000000000..6debab1e8
--- /dev/null
+++ b/examples/projects/Arduino/led_ws/lib/README
@@ -0,0 +1,46 @@
+
+This directory is intended for project specific (private) libraries.
+PlatformIO will compile them to static libraries and link into executable file.
+
+The source code of each library should be placed in a an own separate directory
+("lib/your_library_name/[here are source files]").
+
+For example, see a structure of the following two libraries `Foo` and `Bar`:
+
+|--lib
+| |
+| |--Bar
+| | |--docs
+| | |--examples
+| | |--src
+| | |- Bar.c
+| | |- Bar.h
+| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
+| |
+| |--Foo
+| | |- Foo.c
+| | |- Foo.h
+| |
+| |- README --> THIS FILE
+|
+|- platformio.ini
+|--src
+ |- main.c
+
+and a contents of `src/main.c`:
+```
+#include
+#include
+
+int main (void)
+{
+ ...
+}
+
+```
+
+PlatformIO Library Dependency Finder will find automatically dependent
+libraries scanning project source files.
+
+More information about PlatformIO Library Dependency Finder
+- https://docs.platformio.org/page/librarymanager/ldf.html
diff --git a/examples/projects/Arduino/led_ws/lib/led/README.md b/examples/projects/Arduino/led_ws/lib/led/README.md
new file mode 100644
index 000000000..6c8ee94dc
--- /dev/null
+++ b/examples/projects/Arduino/led_ws/lib/led/README.md
@@ -0,0 +1,18 @@
+
+
+[![](http://certified.luos.io)](https://luos.io)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
+
+[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
+
+# LED driver
+
+Driver for using an RGB LED in your projects with Luos.
+
+# Link project
+
+This driver is linked to the [LED project](../../Projects/led).
+
+[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
+[![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io)
+[![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos)
diff --git a/examples/projects/Arduino/led_ws/lib/led/led.cpp b/examples/projects/Arduino/led_ws/lib/led/led.cpp
new file mode 100644
index 000000000..4a5ee993c
--- /dev/null
+++ b/examples/projects/Arduino/led_ws/lib/led/led.cpp
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * @file Led
+ * @brief driver example a simple Led
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#include "led.h"
+#include "Arduino.h"
+/*******************************************************************************
+ * Definitions
+ ******************************************************************************/
+
+/*******************************************************************************
+ * Variables
+ ******************************************************************************/
+
+/*******************************************************************************
+ * Function
+ ******************************************************************************/
+static void Led_MsgHandler(service_t *service, const msg_t *msg);
+
+/******************************************************************************
+ * @brief init must be call in project init
+ * @param None
+ * @return None
+ ******************************************************************************/
+void Led_Init(void)
+{
+ pinMode(LED_BUILTIN, OUTPUT);
+
+ revision_t revision;
+ revision.major = 1;
+ revision.minor = 0;
+ revision.build = 0;
+ Luos_CreateService(Led_MsgHandler, STATE_TYPE, "led_mod", revision);
+}
+/******************************************************************************
+ * @brief loop must be call in project loop
+ * @param None
+ * @return None
+ ******************************************************************************/
+void Led_Loop(void)
+{
+}
+/******************************************************************************
+ * @brief Msg manager callback when a msg receive for this service
+ * @param service destination
+ * @param Msg receive
+ * @return None
+ ******************************************************************************/
+static void Led_MsgHandler(service_t *service, const msg_t *msg)
+{
+ if (msg->header.cmd == IO_STATE)
+ {
+ if (msg->data[0] == 0)
+ {
+ digitalWrite(LED_BUILTIN, false);
+ }
+ else
+ {
+ digitalWrite(LED_BUILTIN, true);
+ }
+ }
+}
diff --git a/examples/projects/Arduino/led_ws/lib/led/led.h b/examples/projects/Arduino/led_ws/lib/led/led.h
new file mode 100644
index 000000000..64026325c
--- /dev/null
+++ b/examples/projects/Arduino/led_ws/lib/led/led.h
@@ -0,0 +1,26 @@
+/******************************************************************************
+ * @file Led
+ * @brief driver example a simple Led
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#ifndef LED_H
+#define LED_H
+
+#include "luos_engine.h"
+
+/*******************************************************************************
+ * Definitions
+ ******************************************************************************/
+
+/*******************************************************************************
+ * Variables
+ ******************************************************************************/
+
+/*******************************************************************************
+ * Function
+ ******************************************************************************/
+void Led_Init(void);
+void Led_Loop(void);
+
+#endif /* LED_H */
diff --git a/examples/projects/Arduino/led_ws/lib/led/library.json b/examples/projects/Arduino/led_ws/lib/led/library.json
new file mode 100644
index 000000000..4e05814ee
--- /dev/null
+++ b/examples/projects/Arduino/led_ws/lib/led/library.json
@@ -0,0 +1,14 @@
+{
+ "name": "led",
+ "keywords": "robus,network,microservice,luos,operating system,os,embedded,communication,container,ST",
+ "description": "a simple button driver",
+ "version": "1.0.0",
+ "authors": {
+ "name": "Luos",
+ "url": "https://luos.io"
+ },
+ "dependencies": {
+ "luos_engine": "^3.1.0"
+ },
+ "licence": "MIT"
+}
diff --git a/examples/projects/Arduino/led_ws/node_config.h b/examples/projects/Arduino/led_ws/node_config.h
new file mode 100644
index 000000000..3d471a17b
--- /dev/null
+++ b/examples/projects/Arduino/led_ws/node_config.h
@@ -0,0 +1,94 @@
+/******************************************************************************
+ * @file node_config.h
+ * @brief This file allow you to use standard preprocessor definitions to
+ * configure your project, Luos and Luos HAL libraries
+ *
+ * # Introduction
+ * This file is for the luos user. You may here configure your project and
+ * define your custom Luos service and custom Luos command for your product
+ *
+ * Luos libraries offer a minimal standard configuration to optimize
+ * memory usage. In some case you have to modify standard value to fit
+ * with your need concerning among of data transiting through the network
+ * or network speed for example
+ *
+ * Luos libraries can be use with a lot a MCU family. Luos compagny give you
+ * a default configuration, for specific MCU family, in robus_hal_config.h.
+ * This configuration can be modify here to fit with you design by
+ * preprocessor definitions of MCU Hardware needs
+ *
+ * # Usage
+ * This file should be place a the root folder of your project and include
+ * where build flag preprocessor definitions are define in your IDE
+ * -include node_config.h
+ *
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#ifndef _NODE_CONFIG_H_
+#define _NODE_CONFIG_H_
+
+/*******************************************************************************
+ * PROJECT DEFINITION
+ *******************************************************************************/
+
+/*******************************************************************************
+ * LUOS LIBRARY DEFINITION
+ *******************************************************************************
+ * Define | Default Value | Description
+ * :---------------------|------------------------------------------------------
+ * MAX_LOCAL_SERVICE_NUMBER | 5 | Service number in the node
+ * MAX_NODE_NUMBER. | 20 | Node number in the device
+ * MSG_BUFFER_SIZE | 3*SIZE_MSG_MAX (405 Bytes) | Size in byte of the Luos buffer TX and RX
+ * MAX_MSG_NB | 2*MAX_LOCAL_SERVICE_NUMBER | Message number in Luos buffer
+ * MAX_NODE_NUMBER | 20 | Node number in the device
+ * MAX_SERVICE_NUMBER | 20 | Service number in the device
+ * NBR_PORT | 2 | PTP Branch number Max 8
+ * NBR_RETRY | 10 | Send Retry number in case of NACK or collision
+ ******************************************************************************/
+
+#define MAX_LOCAL_SERVICE_NUMBER 1
+#define MAX_MSG_NB 10
+#define WS_NETWORK_BROKER_ADDR "ws://192.168.10.39:8000"
+#define SECRET_SSID "yourssid"
+#define SECRET_PASS "yourpass"
+
+/*******************************************************************************
+ * LUOS HAL LIBRARY DEFINITION
+*******************************************************************************
+ * Define | Description
+ * :-----------------------|-----------------------------------------------
+ * MCUFREQ | Put your the MCU frequency (value in Hz)
+ * TIMERDIV | Timer divider clock (see your clock configuration)
+ * USE_CRC_HW | define to 0 if there is no Module CRC in your MCU
+ * USE_TX_IT | define to 1 to not use DMA transfers for Luos Tx
+ *
+ * PORT_CLOCK_ENABLE | Enable clock for port
+ * PTPx | A,B,C,D etc. PTP Branch Pin/Port/IRQ
+ * TX_LOCK_DETECT | Disable by default use if not busy flag in USART Pin/Port/IRQ
+ * RX_EN | Rx enable for driver RS485 always on Pin/Port
+ * TX_EN | Tx enable for driver RS485 Pin/Port
+ * COM_TX | Tx USART Com Pin/Port/Alternate
+ * COM_RX | Rx USART Com Pin/Port/Alternate
+ * PINOUT_IRQHANDLER | Callback function for Pin IRQ handler
+
+ * ROBUS_COM_CLOCK_ENABLE | Enable clock for USART
+ * ROBUS_COM | USART number
+ * ROBUS_COM_IRQ | USART IRQ number
+ * ROBUS_COM_IRQHANDLER | Callback function for USART IRQ handler
+
+ * ROBUS_DMA_CLOCK_ENABLE | Enable clock for DMA
+ * ROBUS_DMA | DMA number
+ * ROBUS_DMA_CHANNEL | DMA channel (depending on MCU DMA may need special config)
+
+ * ROBUS_TIMER_CLOCK_ENABLE | Enable clock for Timer
+ * ROBUS_TIMER | Timer number
+ * ROBUS_TIMER_IRQ | Timer IRQ number
+ * ROBUS_TIMER_IRQHANDLER | Callback function for Timer IRQ handler
+
+ * FLASH_SECTOR | FLASH page size
+ * PAGE_SIZE | FLASH page size
+ * ADDRESS_LAST_PAGE_FLASH | Page to write alias
+******************************************************************************/
+
+#endif /* _NODE_CONFIG_H_ */
diff --git a/examples/projects/Arduino/led_ws/platformio.ini b/examples/projects/Arduino/led_ws/platformio.ini
new file mode 100644
index 000000000..3ad343ba8
--- /dev/null
+++ b/examples/projects/Arduino/led_ws/platformio.ini
@@ -0,0 +1,46 @@
+; PlatformIO Project Configuration File
+;
+; Build options: build flags, source filter
+; Upload options: custom upload port, speed and extra flags
+; Library options: dependencies, extra library storages
+; Advanced options: extra scripting
+;
+; Please visit documentation for the other options and examples
+; https://docs.platformio.org/page/projectconf.html
+
+; To use Arduino board
+; use default_envs = zero
+; change your board in field
+; [env:zero]
+; board = mkrzero #mkrzero, mkr1000USB or any SAMD21 based Arduino board
+
+; To use seeduino board
+; use default_envs = seed
+; change your board in field
+; [env:seed]
+; board = seeed_xiao or any SAMD21 based on seeduino board
+
+[env]
+lib_extra_dirs =
+ $PROJECT_DIR/../../../../../
+ $PROJECT_DIR/../../../../network/
+lib_ldf_mode =off
+platform = atmelsam
+framework = arduino
+build_unflags = -Os
+
+[env:mkr_1000]
+board = mkr1000USB
+build_flags =
+ -O1
+ -include node_config.h
+ -D LUOSHAL=ATSAMD21_ARDUINO
+ -D WSHAL=ARDUINO
+lib_deps =
+ SPI
+ luos_engine@^3.1.0
+ ws_network
+ Led
+ https://github.com/arduino-libraries/WiFi101.git
+ arduino-libraries/ArduinoHttpClient@^0.5.0
+
diff --git a/examples/projects/Arduino/led_ws/src/led.cpp b/examples/projects/Arduino/led_ws/src/led.cpp
new file mode 100644
index 000000000..4ded79af9
--- /dev/null
+++ b/examples/projects/Arduino/led_ws/src/led.cpp
@@ -0,0 +1,27 @@
+#include
+#include "luos_engine.h"
+#include "ws_network.h"
+#include "led.h"
+
+/******************************************************************************
+ * @brief Setup ardiuno
+ * @param None
+ * @return None
+ ******************************************************************************/
+void setup()
+{
+ Luos_Init();
+ Ws_Init();
+ Led_Init();
+}
+/******************************************************************************
+ * @brief Loop Arduino
+ * @param None
+ * @return None
+ ******************************************************************************/
+void loop()
+{
+ Luos_Loop();
+ Ws_Loop();
+ Led_Loop();
+}
diff --git a/examples/projects/Arduino/stepper_simple_foc/README.md b/examples/projects/Arduino/stepper_simple_foc/README.md
index a65a59a74..d5db6a2e6 100644
--- a/examples/projects/Arduino/stepper_simple_foc/README.md
+++ b/examples/projects/Arduino/stepper_simple_foc/README.md
@@ -7,17 +7,19 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
Version: 2.7.0
# Hardware specification
+
## Boardβ
+
- Arduino zero board to drive the motor
- L298N driver
- Stepper motor ref. MT-1704HS168A
## Luos network on arduino boardβ
+
- PTPA: PIN19
- PTPB: PIN7
- RX_EN: 2
@@ -29,8 +31,6 @@ Version: 2.7.0
![Wiring Stepper](https://raw.githubusercontent.com/Luos-io/Documentation/main/static/assets/images/stepper_wiring.drawio.png)
-
## Join Luos Community
-* β Join the [Luos Discord server](http://discord.gg/luos)
-* β Join the [Luos subreddit](https://www.reddit.com/r/Luos)
+- β Join the [Luos Discord server](http://discord.gg/luos)
diff --git a/examples/projects/ESP32/button/lib/button/README.md b/examples/projects/ESP32/button/lib/button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/ESP32/button/lib/button/README.md
+++ b/examples/projects/ESP32/button/lib/button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/ESP32/button_arduino/lib/button/README.md b/examples/projects/ESP32/button_arduino/lib/button/README.md
index 082563a34..17353ed30 100644
--- a/examples/projects/ESP32/button_arduino/lib/button/README.md
+++ b/examples/projects/ESP32/button_arduino/lib/button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/ESP32/led/lib/led/README.md b/examples/projects/ESP32/led/lib/led/README.md
index 082563a34..17353ed30 100644
--- a/examples/projects/ESP32/led/lib/led/README.md
+++ b/examples/projects/ESP32/led/lib/led/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/ESP32/led_arduino/lib/led/README.md b/examples/projects/ESP32/led_arduino/lib/led/README.md
index e8bf85f57..f2aa4f600 100644
--- a/examples/projects/ESP32/led_arduino/lib/led/README.md
+++ b/examples/projects/ESP32/led_arduino/lib/led/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Led driver
+
Driver for using a led in your projects with Luos.
# Linked project
+
This driver is linked to the [led project](../../Projects/led).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/NUCLEO-F072RB/button/README.md b/examples/projects/NUCLEO-F072RB/button/README.md
index 02efb69b2..f260382ab 100644
--- a/examples/projects/NUCLEO-F072RB/button/README.md
+++ b/examples/projects/NUCLEO-F072RB/button/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrate how to make and use a simple button through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-F072RB/dc_motor/README.md b/examples/projects/NUCLEO-F072RB/dc_motor/README.md
index 824435f8c..3b2312c1b 100644
--- a/examples/projects/NUCLEO-F072RB/dc_motor/README.md
+++ b/examples/projects/NUCLEO-F072RB/dc_motor/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# DC motor project example :bulb:
+
This project demonstrate how to make and use a simple DC motor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io).
## Linked driver
+
This project is linked to the [DC motor driver](../../Drivers/dc_motor).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' Forum](https://community.luos.io). :books:
diff --git a/examples/projects/NUCLEO-F072RB/gate_serialcom/README.md b/examples/projects/NUCLEO-F072RB/gate_serialcom/README.md
index 205f3b92b..2235ecdec 100644
--- a/examples/projects/NUCLEO-F072RB/gate_serialcom/README.md
+++ b/examples/projects/NUCLEO-F072RB/gate_serialcom/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# gate_serialcom project example :bulb:
+
This project demonstrate how to make and use a simple gate_serialcom through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [gate_serialcom driver](../../Drivers/gate_serialcom).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-F072RB/potentiometer/README.md b/examples/projects/NUCLEO-F072RB/potentiometer/README.md
index 42de4a0ce..4ff39e42a 100644
--- a/examples/projects/NUCLEO-F072RB/potentiometer/README.md
+++ b/examples/projects/NUCLEO-F072RB/potentiometer/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Potentiometer project example :bulb:
+
This project demonstrate how to make and use a simple potentiometer through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Potentiometer driver](../../Drivers/potentiometer).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-F401RE/button/lib/Button/README.md b/examples/projects/NUCLEO-F401RE/button/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/NUCLEO-F401RE/button/lib/Button/README.md
+++ b/examples/projects/NUCLEO-F401RE/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/NUCLEO-F401RE/dc_motor/README.md b/examples/projects/NUCLEO-F401RE/dc_motor/README.md
index 38b19aa33..4dc5ff661 100644
--- a/examples/projects/NUCLEO-F401RE/dc_motor/README.md
+++ b/examples/projects/NUCLEO-F401RE/dc_motor/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# DC motor project example :bulb:
+
This project demonstrate how to make and use a simple DC motor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io).
## Linked driver
+
This project is linked to the [DC motor driver](../../Drivers/dc_motor).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://community.luos.io). :books:
diff --git a/examples/projects/NUCLEO-F401RE/led/lib/Led/README.md b/examples/projects/NUCLEO-F401RE/led/lib/Led/README.md
index 1edef1c62..6c8ee94dc 100644
--- a/examples/projects/NUCLEO-F401RE/led/lib/Led/README.md
+++ b/examples/projects/NUCLEO-F401RE/led/lib/Led/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# LED driver
+
Driver for using an RGB LED in your projects with Luos.
# Link project
+
This driver is linked to the [LED project](../../Projects/led).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/NUCLEO-F401RE/potentiometer/README.md b/examples/projects/NUCLEO-F401RE/potentiometer/README.md
index bac7ad659..3b7c82b6e 100644
--- a/examples/projects/NUCLEO-F401RE/potentiometer/README.md
+++ b/examples/projects/NUCLEO-F401RE/potentiometer/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Potentiometer project example :bulb:
+
This project demonstrate how to make and use a simple potentiometer through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [PlatformIO](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [PlatformIO](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Potentiometer driver](../../Drivers/potentiometer).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-F410RB/button/lib/Button/README.md b/examples/projects/NUCLEO-F410RB/button/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/NUCLEO-F410RB/button/lib/Button/README.md
+++ b/examples/projects/NUCLEO-F410RB/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/NUCLEO-F410RB/dc_motor/README.md b/examples/projects/NUCLEO-F410RB/dc_motor/README.md
index 4818e0cc7..665ba633f 100644
--- a/examples/projects/NUCLEO-F410RB/dc_motor/README.md
+++ b/examples/projects/NUCLEO-F410RB/dc_motor/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# DC motor project example :bulb:
+
This project demonstrate how to make and use a simple DC motor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [DC motor driver](../../Drivers/dc_motor).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-F410RB/potentiometer/README.md b/examples/projects/NUCLEO-F410RB/potentiometer/README.md
index 55b824c2b..5cf364fa9 100644
--- a/examples/projects/NUCLEO-F410RB/potentiometer/README.md
+++ b/examples/projects/NUCLEO-F410RB/potentiometer/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Potentiometer project example :bulb:
+
This project demonstrate how to make and use a simple potentiometer through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Potentiometer driver](../../Drivers/potentiometer).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-G431KB/button/lib/Button/README.md b/examples/projects/NUCLEO-G431KB/button/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/NUCLEO-G431KB/button/lib/Button/README.md
+++ b/examples/projects/NUCLEO-G431KB/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/NUCLEO-G431KB/dc_motor/README.md b/examples/projects/NUCLEO-G431KB/dc_motor/README.md
index 55b824c2b..5cf364fa9 100644
--- a/examples/projects/NUCLEO-G431KB/dc_motor/README.md
+++ b/examples/projects/NUCLEO-G431KB/dc_motor/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Potentiometer project example :bulb:
+
This project demonstrate how to make and use a simple potentiometer through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Potentiometer driver](../../Drivers/potentiometer).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-G431KB/potentiometer/README.md b/examples/projects/NUCLEO-G431KB/potentiometer/README.md
index 55b824c2b..5cf364fa9 100644
--- a/examples/projects/NUCLEO-G431KB/potentiometer/README.md
+++ b/examples/projects/NUCLEO-G431KB/potentiometer/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Potentiometer project example :bulb:
+
This project demonstrate how to make and use a simple potentiometer through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Potentiometer driver](../../Drivers/potentiometer).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-G474RE/button/lib/Button/README.md b/examples/projects/NUCLEO-G474RE/button/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/NUCLEO-G474RE/button/lib/Button/README.md
+++ b/examples/projects/NUCLEO-G474RE/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/NUCLEO-L073RZ/button/README.md b/examples/projects/NUCLEO-L073RZ/button/README.md
index 02efb69b2..f260382ab 100644
--- a/examples/projects/NUCLEO-L073RZ/button/README.md
+++ b/examples/projects/NUCLEO-L073RZ/button/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrate how to make and use a simple button through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-L073RZ/button/lib/Button/README.md b/examples/projects/NUCLEO-L073RZ/button/lib/Button/README.md
index 082563a34..17353ed30 100644
--- a/examples/projects/NUCLEO-L073RZ/button/lib/Button/README.md
+++ b/examples/projects/NUCLEO-L073RZ/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/NUCLEO-L073RZ/gate_serialcom/README.md b/examples/projects/NUCLEO-L073RZ/gate_serialcom/README.md
index 205f3b92b..2235ecdec 100644
--- a/examples/projects/NUCLEO-L073RZ/gate_serialcom/README.md
+++ b/examples/projects/NUCLEO-L073RZ/gate_serialcom/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# gate_serialcom project example :bulb:
+
This project demonstrate how to make and use a simple gate_serialcom through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [gate_serialcom driver](../../Drivers/gate_serialcom).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/NUCLEO-L432KC/button/lib/Button/README.md b/examples/projects/NUCLEO-L432KC/button/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/NUCLEO-L432KC/button/lib/Button/README.md
+++ b/examples/projects/NUCLEO-L432KC/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/NUCLEO-L432KC/gpio/lib/Gpio_dev/README.md b/examples/projects/NUCLEO-L432KC/gpio/lib/Gpio_dev/README.md
index a31fa4e20..12c7541bc 100644
--- a/examples/projects/NUCLEO-L432KC/gpio/lib/Gpio_dev/README.md
+++ b/examples/projects/NUCLEO-L432KC/gpio/lib/Gpio_dev/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# GPIO driver
+
Driver for using a GPIO in your projects with Luos.
# Link project
+
This driver is linked to the [xxx project](../../Projects/xxx).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/NUCLEO-L432KC/led/lib/Led/README.md b/examples/projects/NUCLEO-L432KC/led/lib/Led/README.md
index 1edef1c62..6c8ee94dc 100644
--- a/examples/projects/NUCLEO-L432KC/led/lib/Led/README.md
+++ b/examples/projects/NUCLEO-L432KC/led/lib/Led/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# LED driver
+
Driver for using an RGB LED in your projects with Luos.
# Link project
+
This driver is linked to the [LED project](../../Projects/led).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/README.md b/examples/projects/README.md
index f2c828ada..d0a510225 100644
--- a/examples/projects/README.md
+++ b/examples/projects/README.md
@@ -8,8 +8,6 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Projects folder
@@ -19,6 +17,3 @@ This folder contains the sources of every examples sorted by boards.
In most of the examples folder you will find a project called `Bootloader`, you can use this project to compile a Luos engine bootloader and load it into your board.
All the other examples have a `*_with_bootloader` compilation mode allowing you to load your program using the bootloader.
For further informations please follow our [bootloader tutorial](https://www.luos.io/tutorials/bootloader).
-
-
-
diff --git a/examples/projects/SAMD21XPLAINED/button/lib/button/README.md b/examples/projects/SAMD21XPLAINED/button/lib/button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/SAMD21XPLAINED/button/lib/button/README.md
+++ b/examples/projects/SAMD21XPLAINED/button/lib/button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/STM32F4-discovery/button/lib/Button/README.md b/examples/projects/STM32F4-discovery/button/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/STM32F4-discovery/button/lib/Button/README.md
+++ b/examples/projects/STM32F4-discovery/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/STM32L4S5_discovery/button/README.md b/examples/projects/STM32L4S5_discovery/button/README.md
index 02efb69b2..f260382ab 100644
--- a/examples/projects/STM32L4S5_discovery/button/README.md
+++ b/examples/projects/STM32L4S5_discovery/button/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Luos.svg)](https://registry.platformio.org/libraries/luos/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrate how to make and use a simple button through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/Luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/STM32L4S5_discovery/button/lib/Button/README.md b/examples/projects/STM32L4S5_discovery/button/lib/Button/README.md
index 082563a34..17353ed30 100644
--- a/examples/projects/STM32L4S5_discovery/button/lib/Button/README.md
+++ b/examples/projects/STM32L4S5_discovery/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/STM32L4S5_discovery/gate_serialcom/README.md b/examples/projects/STM32L4S5_discovery/gate_serialcom/README.md
index 205f3b92b..2235ecdec 100644
--- a/examples/projects/STM32L4S5_discovery/gate_serialcom/README.md
+++ b/examples/projects/STM32L4S5_discovery/gate_serialcom/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# gate_serialcom project example :bulb:
+
This project demonstrate how to make and use a simple gate_serialcom through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [gate_serialcom driver](../../Drivers/gate_serialcom).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/bike_alarm/alarm_controller/README.md b/examples/projects/l0/bike_alarm/alarm_controller/README.md
index 5a7a53698..5266d9380 100644
--- a/examples/projects/l0/bike_alarm/alarm_controller/README.md
+++ b/examples/projects/l0/bike_alarm/alarm_controller/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# LED project example :bulb:
+
This project demonstrate how to make and use a simple LED through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io).
## Linked driver
+
This project is linked to the [LED driver](../../Drivers/led).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' Forum](https://community.luos.io). :books:
diff --git a/examples/projects/l0/bike_alarm/alarm_controller/lib/Led_Fader/README.md b/examples/projects/l0/bike_alarm/alarm_controller/lib/Led_Fader/README.md
index 1edef1c62..6c8ee94dc 100644
--- a/examples/projects/l0/bike_alarm/alarm_controller/lib/Led_Fader/README.md
+++ b/examples/projects/l0/bike_alarm/alarm_controller/lib/Led_Fader/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# LED driver
+
Driver for using an RGB LED in your projects with Luos.
# Link project
+
This driver is linked to the [LED project](../../Projects/led).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/bike_alarm/start_controller/README.md b/examples/projects/l0/bike_alarm/start_controller/README.md
index 192dfad72..a979f93fd 100644
--- a/examples/projects/l0/bike_alarm/start_controller/README.md
+++ b/examples/projects/l0/bike_alarm/start_controller/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrates how to make and use a simple button through Luos. Feel free to use electronics and code examples as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design uses Luos_components library. For more information to install and use it, read [our doc](https://www.luos.io).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' Forum](https://community.luos.io). :books:
diff --git a/examples/projects/l0/bike_alarm/start_controller/lib/Button/README.md b/examples/projects/l0/bike_alarm/start_controller/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/l0/bike_alarm/start_controller/lib/Button/README.md
+++ b/examples/projects/l0/bike_alarm/start_controller/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/button/README.md b/examples/projects/l0/button/README.md
index 48578a599..7bb11d921 100644
--- a/examples/projects/l0/button/README.md
+++ b/examples/projects/l0/button/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrate how to make and use a simple button through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/button/lib/Button/README.md b/examples/projects/l0/button/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/l0/button/lib/Button/README.md
+++ b/examples/projects/l0/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/button_freertos/README.md b/examples/projects/l0/button_freertos/README.md
index dc65e0410..7dfa412b0 100644
--- a/examples/projects/l0/button_freertos/README.md
+++ b/examples/projects/l0/button_freertos/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrate how to make and use a simple button through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' Forum](https://community.luos.io). :books:
diff --git a/examples/projects/l0/button_freertos/lib/Button/README.md b/examples/projects/l0/button_freertos/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/l0/button_freertos/lib/Button/README.md
+++ b/examples/projects/l0/button_freertos/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/button_freertos/lib/Led/README.md b/examples/projects/l0/button_freertos/lib/Led/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/l0/button_freertos/lib/Led/README.md
+++ b/examples/projects/l0/button_freertos/lib/Led/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/controller_motor/README.md b/examples/projects/l0/controller_motor/README.md
index 77fc3033b..9ab05af58 100644
--- a/examples/projects/l0/controller_motor/README.md
+++ b/examples/projects/l0/controller_motor/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Controller motor project example :bulb:
+
This project demonstrate how to make and use a simple controller motor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io).
## Linked driver
+
This project is linked to the [Controller motor driver](../../Drivers/controller_motor).
## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' Forum](https://community.luos.io). :books:
diff --git a/examples/projects/l0/controller_motor/lib/Controller_motor/README.md b/examples/projects/l0/controller_motor/lib/Controller_motor/README.md
index bdfc7f9ba..414447719 100644
--- a/examples/projects/l0/controller_motor/lib/Controller_motor/README.md
+++ b/examples/projects/l0/controller_motor/lib/Controller_motor/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Controller motor driver
+
Driver for using a DC motor with an encoder and a reduction in your projects with Luos.
# Linked project
+
This driver is linked to the [Controller motor project](../../Projects/controller_motor).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/dc_motor/README.md b/examples/projects/l0/dc_motor/README.md
index a8ab89d81..a604f5135 100644
--- a/examples/projects/l0/dc_motor/README.md
+++ b/examples/projects/l0/dc_motor/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# DC motor project example :bulb:
+
This project demonstrate how to make and use a simple DC motor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [DC motor driver](../../Drivers/dc_motor).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/dc_motor/lib/DC_motor/README.md b/examples/projects/l0/dc_motor/lib/DC_motor/README.md
index 344ad40a9..54fd63b52 100644
--- a/examples/projects/l0/dc_motor/lib/DC_motor/README.md
+++ b/examples/projects/l0/dc_motor/lib/DC_motor/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# DC Motor driver
+
Driver for using a dual DC Motor controller in your projects with Luos.
# Linked project
+
This driver is linked to the [DC Motor project](../../Projects/Dc_Motor).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/demo/detection_button/README.md b/examples/projects/l0/demo/detection_button/README.md
index e815c2924..36e290095 100644
--- a/examples/projects/l0/demo/detection_button/README.md
+++ b/examples/projects/l0/demo/detection_button/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrates how to make and use a simple button through Luos. Feel free to use electronics and code examples as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design uses Luos_components library. For more information to install and use it, read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/demo/detection_button/lib/Button/README.md b/examples/projects/l0/demo/detection_button/lib/Button/README.md
index 028840795..70b9145a1 100644
--- a/examples/projects/l0/demo/detection_button/lib/Button/README.md
+++ b/examples/projects/l0/demo/detection_button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/demo/detection_button/lib/Detection_Button/README.md b/examples/projects/l0/demo/detection_button/lib/Detection_Button/README.md
index b2fae8a5a..dfabba2ce 100644
--- a/examples/projects/l0/demo/detection_button/lib/Detection_Button/README.md
+++ b/examples/projects/l0/demo/detection_button/lib/Detection_Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Alarm controller app
+
This app enables or disables the alarm .
# Link project
+
This app is linked to the [bike_alarm/Start_controller project](../../Projects/bike_alarm/Alarm_controller).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/demo/ledstrip_position/README.md b/examples/projects/l0/demo/ledstrip_position/README.md
index 9e3b93ff4..81774e7cc 100644
--- a/examples/projects/l0/demo/ledstrip_position/README.md
+++ b/examples/projects/l0/demo/ledstrip_position/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# LED strip position project example :bulb:
+
This project contains the creation of a service app for lightening a led_strip depending on the value of a distance sensor.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
No driver
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/demo/ledstrip_position/lib/Distance/README.md b/examples/projects/l0/demo/ledstrip_position/lib/Distance/README.md
index d86f1a98b..6cb321bd9 100644
--- a/examples/projects/l0/demo/ledstrip_position/lib/Distance/README.md
+++ b/examples/projects/l0/demo/ledstrip_position/lib/Distance/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Distance driver
+
Driver for using a lidar distance sensor in your projects with Luos.
# Linked project
+
This driver is linked to the [Distance project](../../Projects/distance).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/demo/ledstrip_position/lib/LedStrip_Position/README.md b/examples/projects/l0/demo/ledstrip_position/lib/LedStrip_Position/README.md
index 2a45f74e9..e6ccb3d2c 100644
--- a/examples/projects/l0/demo/ledstrip_position/lib/LedStrip_Position/README.md
+++ b/examples/projects/l0/demo/ledstrip_position/lib/LedStrip_Position/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Led Strip position app
+
This app lights a led_strio depending on the position occupied by a distance sensor.
# Link project
+
This app is linked to the [led strip position project](../../Projects/ledstrip_position).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/demo/motor_copy_app/lib/motor_copy/README.md b/examples/projects/l0/demo/motor_copy_app/lib/motor_copy/README.md
index 911559c43..0a932b19e 100644
--- a/examples/projects/l0/demo/motor_copy_app/lib/motor_copy/README.md
+++ b/examples/projects/l0/demo/motor_copy_app/lib/motor_copy/README.md
@@ -1,11 +1,10 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# run motor app
+
This app choose a motor and launch it.
diff --git a/examples/projects/l0/demo/motor_demo_app/lib/run_motor/README.md b/examples/projects/l0/demo/motor_demo_app/lib/run_motor/README.md
index 911559c43..0a932b19e 100644
--- a/examples/projects/l0/demo/motor_demo_app/lib/run_motor/README.md
+++ b/examples/projects/l0/demo/motor_demo_app/lib/run_motor/README.md
@@ -1,11 +1,10 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# run motor app
+
This app choose a motor and launch it.
diff --git a/examples/projects/l0/distance/README.md b/examples/projects/l0/distance/README.md
index c359aa8cc..7ce483267 100644
--- a/examples/projects/l0/distance/README.md
+++ b/examples/projects/l0/distance/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Distance sensor project example :bulb:
+
This project demonstrate how to make and use a simple distance sensor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Distance driver](../../Drivers/distance).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/distance/lib/Distance/README.md b/examples/projects/l0/distance/lib/Distance/README.md
index d86f1a98b..6cb321bd9 100644
--- a/examples/projects/l0/distance/lib/Distance/README.md
+++ b/examples/projects/l0/distance/lib/Distance/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Distance driver
+
Driver for using a lidar distance sensor in your projects with Luos.
# Linked project
+
This driver is linked to the [Distance project](../../Projects/distance).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/dxl/README.md b/examples/projects/l0/dxl/README.md
index 841d5a604..8e51b22da 100644
--- a/examples/projects/l0/dxl/README.md
+++ b/examples/projects/l0/dxl/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Dynamixel motor project example :bulb:
+
This project demonstrate how to make and use a simple Dynamixel motor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [DXL driver](../../Drivers/dxl).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/dxl/lib/Dxl/README.md b/examples/projects/l0/dxl/lib/Dxl/README.md
index 04f12a567..3c55fd25d 100644
--- a/examples/projects/l0/dxl/lib/Dxl/README.md
+++ b/examples/projects/l0/dxl/lib/Dxl/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Dxl driver
+
Driver for using a Dynamixel motor (XL320 and MX serie) in your projects with Luos.
# Linked project
+
This driver is linked to the [Dxl project](../../Projects/dxl).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/gate_serialcom/README.md b/examples/projects/l0/gate_serialcom/README.md
index 960259c87..2112191c8 100644
--- a/examples/projects/l0/gate_serialcom/README.md
+++ b/examples/projects/l0/gate_serialcom/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# gate_serialcom project example :bulb:
+
This project demonstrate how to make and use a simple gate_serialcom through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [gate_serialcom driver](../../Drivers/gate_serialcom).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/gpio/README.md b/examples/projects/l0/gpio/README.md
index 1dd5aa0ab..d600ba7e6 100644
--- a/examples/projects/l0/gpio/README.md
+++ b/examples/projects/l0/gpio/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# GPIO project example :bulb:
+
This project demonstrate how to make and use a simple GPIO through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Gpio driver](../../Drivers/gpio).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/gpio/lib/Gpio_dev/README.md b/examples/projects/l0/gpio/lib/Gpio_dev/README.md
index a31fa4e20..12c7541bc 100644
--- a/examples/projects/l0/gpio/lib/Gpio_dev/README.md
+++ b/examples/projects/l0/gpio/lib/Gpio_dev/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# GPIO driver
+
Driver for using a GPIO in your projects with Luos.
# Link project
+
This driver is linked to the [xxx project](../../Projects/xxx).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/imu/README.md b/examples/projects/l0/imu/README.md
index 8eba105bb..458bc5f24 100644
--- a/examples/projects/l0/imu/README.md
+++ b/examples/projects/l0/imu/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# IMU project example :bulb:
+
This project demonstrate how to make and use a simple IMU through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Imu driver](../../Drivers/imu).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/imu/lib/Imu/README.md b/examples/projects/l0/imu/lib/Imu/README.md
index 866b3ece2..bd5050e53 100644
--- a/examples/projects/l0/imu/lib/Imu/README.md
+++ b/examples/projects/l0/imu/lib/Imu/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# IMU driver
+
Driver for using an IMU in your projects with Luos.
# Link project
+
This driver is linked to the [IMU project](../../Projects/IMU).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/led/README.md b/examples/projects/l0/led/README.md
index fb2c84dc2..74d9927a4 100644
--- a/examples/projects/l0/led/README.md
+++ b/examples/projects/l0/led/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# LED project example :bulb:
+
This project demonstrate how to make and use a simple LED through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [LED driver](../../Drivers/led).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/led/lib/Led/README.md b/examples/projects/l0/led/lib/Led/README.md
index 1edef1c62..6c8ee94dc 100644
--- a/examples/projects/l0/led/lib/Led/README.md
+++ b/examples/projects/l0/led/lib/Led/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# LED driver
+
Driver for using an RGB LED in your projects with Luos.
# Link project
+
This driver is linked to the [LED project](../../Projects/led).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/led_fader/README.md b/examples/projects/l0/led_fader/README.md
index fb2c84dc2..74d9927a4 100644
--- a/examples/projects/l0/led_fader/README.md
+++ b/examples/projects/l0/led_fader/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# LED project example :bulb:
+
This project demonstrate how to make and use a simple LED through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [LED driver](../../Drivers/led).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/led_fader/lib/Led_Fader/README.md b/examples/projects/l0/led_fader/lib/Led_Fader/README.md
index 1edef1c62..6c8ee94dc 100644
--- a/examples/projects/l0/led_fader/lib/Led_Fader/README.md
+++ b/examples/projects/l0/led_fader/lib/Led_Fader/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# LED driver
+
Driver for using an RGB LED in your projects with Luos.
# Link project
+
This driver is linked to the [LED project](../../Projects/led).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/led_strip/README.md b/examples/projects/l0/led_strip/README.md
index 184d0d5b0..a189f61fb 100644
--- a/examples/projects/l0/led_strip/README.md
+++ b/examples/projects/l0/led_strip/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# LED strip project example :bulb:
+
This project demonstrate how to make and use a simple LED strip through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Led strip driver](../../Drivers/led_strip).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/led_strip/lib/Led_strip/README.md b/examples/projects/l0/led_strip/lib/Led_strip/README.md
index 6e27a246c..51e770d29 100644
--- a/examples/projects/l0/led_strip/lib/Led_strip/README.md
+++ b/examples/projects/l0/led_strip/lib/Led_strip/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# LED strip driver
+
Driver for using a LED strip in your projects with Luos.
# Link project
+
This driver is linked to the [LED strip project](../../Projects/led_strip).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/light_sensor/README.md b/examples/projects/l0/light_sensor/README.md
index c8edf90ba..121fc6579 100644
--- a/examples/projects/l0/light_sensor/README.md
+++ b/examples/projects/l0/light_sensor/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Light sensor project example :bulb:
+
This project demonstrate how to make and use a simple Light_sensor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Light sensor driver](../../Drivers/light_sensor).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/light_sensor/lib/Light_sensor/README.md b/examples/projects/l0/light_sensor/lib/Light_sensor/README.md
index 33c3ce4cb..622a6defa 100644
--- a/examples/projects/l0/light_sensor/lib/Light_sensor/README.md
+++ b/examples/projects/l0/light_sensor/lib/Light_sensor/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Light sensor driver
+
Driver for using a Light sensor in your projects with Luos.
# Link project
+
This driver is linked to the [Light sensor project](../../Projects/light_sensor).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/load/README.md b/examples/projects/l0/load/README.md
index 9d3dee330..2a04008ee 100644
--- a/examples/projects/l0/load/README.md
+++ b/examples/projects/l0/load/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Load sensor project example :bulb:
+
This project demonstrate how to make and use a simple load sensor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Load driver](../../Drivers/load).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/load/lib/Load/README.md b/examples/projects/l0/load/lib/Load/README.md
index 4c4f841f7..f39a241a8 100644
--- a/examples/projects/l0/load/lib/Load/README.md
+++ b/examples/projects/l0/load/lib/Load/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Load sensor driver
+
Driver for using a Load sensor in your projects with Luos.
# Link project
+
This driver is linked to the [Load sensor project](../../Projects/load).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/potentiometer/README.md b/examples/projects/l0/potentiometer/README.md
index 5e36c90d1..ca97fbf57 100644
--- a/examples/projects/l0/potentiometer/README.md
+++ b/examples/projects/l0/potentiometer/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Potentiometer project example :bulb:
+
This project demonstrate how to make and use a simple potentiometer through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Potentiometer driver](../../Drivers/potentiometer).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/potentiometer/lib/Potentiometer/README.md b/examples/projects/l0/potentiometer/lib/Potentiometer/README.md
index 6173b16a0..29c488c4d 100644
--- a/examples/projects/l0/potentiometer/lib/Potentiometer/README.md
+++ b/examples/projects/l0/potentiometer/lib/Potentiometer/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Potentiometer driver
+
Driver for using a Potentiometer in your projects with Luos.
# Link project
+
This driver is linked to the [Potentiometer project](../../Projects/potentiometer).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/power_switch/README.md b/examples/projects/l0/power_switch/README.md
index b5b8168f7..b3566d78d 100644
--- a/examples/projects/l0/power_switch/README.md
+++ b/examples/projects/l0/power_switch/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Power switch project example :bulb:
+
This project demonstrate how to make and use a simple power switch through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Power switch driver](../../Drivers/power_switch).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/power_switch/lib/Power_switch/README.md b/examples/projects/l0/power_switch/lib/Power_switch/README.md
index 02e602bb7..df7a0c642 100644
--- a/examples/projects/l0/power_switch/lib/Power_switch/README.md
+++ b/examples/projects/l0/power_switch/lib/Power_switch/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Power switch driver
+
Driver for using a power switch in your projects with Luos.
# Link project
+
This driver is linked to the [Power switch project](../../Projects/power_switch).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/servo/README.md b/examples/projects/l0/servo/README.md
index 7e992bb11..402c4e0d6 100644
--- a/examples/projects/l0/servo/README.md
+++ b/examples/projects/l0/servo/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Servo motor project example :bulb:
+
This project demonstrate how to make and use a simple servo motor through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Servo driver](../../Drivers/servo).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/servo/lib/Servo/README.md b/examples/projects/l0/servo/lib/Servo/README.md
index dd5000feb..21e60ddae 100644
--- a/examples/projects/l0/servo/lib/Servo/README.md
+++ b/examples/projects/l0/servo/lib/Servo/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Servo driver
+
Driver for using a servo motor controller in your projects with Luos.
# Linked project
+
This driver is linked to the [Servo project](../../Projects/servo).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/l0/stepper/README.md b/examples/projects/l0/stepper/README.md
index 68b0a27ca..c1b72e0a6 100644
--- a/examples/projects/l0/stepper/README.md
+++ b/examples/projects/l0/stepper/README.md
@@ -8,24 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](https://discord.gg/luos)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/Luos_io)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Stepper project example :bulb:
+
This project demonstrate how to make and use a simple stepper through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/luos-technology).
## Linked driver
+
This project is linked to the [Stepper driver](../../Drivers/stepper).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/luos-technology), or to post your questions/issues on the [Luos' community](https://discord.gg/luos). :books:
diff --git a/examples/projects/l0/stepper/lib/Stepper/README.md b/examples/projects/l0/stepper/lib/Stepper/README.md
index 3542fc4c8..801444b1a 100644
--- a/examples/projects/l0/stepper/lib/Stepper/README.md
+++ b/examples/projects/l0/stepper/lib/Stepper/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Stepper driver
+
Driver for using a stepper motor controller in your projects with Luos.
# Linked project
+
This driver is linked to the [Stepper project](../../Projects/stepper).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/native/broker.py b/examples/projects/native/broker.py
deleted file mode 100644
index 9ba8d57e1..000000000
--- a/examples/projects/native/broker.py
+++ /dev/null
@@ -1,137 +0,0 @@
-from simple_websocket_server import WebSocketServer, WebSocket
-import json
-import argparse
-
-
-class RobusEmulator(WebSocket):
- prev_node = None
- ptpa = False # Linked to prev
- ptpb = False # Linked to next
- ptpa_poke = False
- ptpb_poke = False
- next_node = None
- msg_index = 0
-
- def handle(self):
- if isinstance(self.data, str):
- # This is a PTP command
- print("\nI receive : " + str(self.data) +
- " from " + str(self.address))
-
- # PTP emulation:
- # Because PTP have been designed for real time response, the Robus algorythm is not really friendly to PTP management over WebSocket.
- # This broker have to drive data in a specific way allowing to make it work.
- # Robus HAL will send messages only during PTP reset state and read line.
- # Read_line mean Poke. When we have this we can set the line depending on the presence of another node and save this poke state on the line
- # The next reset received will need to be send to the other node.
- #
- # if (ptp line read (PTP up) :
- # if (a node is connected) :
- # send state 1 to the other node
- # send state 1 back
- # pass this ptp to poking
- # else :
- # send state 0 back
- # if (PTP down and ptp is poking) :
- # send state to the other node
-
- # PTPA
- if self.data[3] == 'A':
- # We get a PTPA data
-
- if (self.data[4] == '1'):
- if (self.prev_node != None):
- print("\t\tPTPB1 val sent to the node",
- str(self.prev_node.address))
- self.prev_node.send_message("PTPB1")
- print("\t\tPTPA1 val sent back to the node",
- str(self.address))
- self.send_message("PTPA1")
- self.prev_node.ptpb_poke = True
- self.ptpa_poke = True
- else:
- print("\t\tPTPA0 val sent back to the node",
- str(self.address))
- self.send_message("PTPA0")
-
- if (self.data[4] == '0' and self.ptpa_poke == True and self.prev_node != None):
- print("\t\tPTPB0 val sent to the node",
- str(self.prev_node.address))
- self.prev_node.send_message("PTPB0")
- self.prev_node.ptpb_poke = False
- self.ptpa_poke = False
-
- # PTPB
- if self.data[3] == 'B':
- # We get a PTPB data
-
- if (self.data[4] == '1'):
- if (self.next_node != None):
- print("\t\tPTPA1 val sent to the node",
- str(self.next_node.address))
- self.next_node.send_message("PTPA1")
- print("\t\tPTPB1 val sent back to the node",
- str(self.address))
- self.send_message("PTPB1")
- self.next_node.ptpa_poke = True
- self.ptpb_poke = True
- else:
- print("\t\tPTPB0 val sent back to the node",
- str(self.address))
- self.send_message("PTPB0")
-
- if (self.data[4] == '0' and self.ptpb_poke == True and self.next_node != None):
- print("\t\tPTPA0 val sent to the node",
- str(self.next_node.address))
- self.next_node.send_message("PTPA0")
- self.next_node.ptpa_poke = False
- self.ptpb_poke = False
-
- else:
- # This is a broadcast message
- print(str(self.msg_index)+" Data received from " + str(self.address))
- self.msg_index += 1
- for client in clients:
- if client != self:
- client.send_message(self.data)
-
- def connected(self):
- print(self.address, 'connected')
- clients.append(self)
- # Save links to other nodes
- if len(clients) >= 2:
- self.prev_node = clients[-2]
- self.prev_node.next_node = clients[-1]
- print("connect PTPB of " + str(self.prev_node.address) +
- " with PTPA of " + str(self.address))
-
- def handle_close(self):
- print(self.address, 'closed')
- # Save links to other nodes
- if self.next_node != None:
- self.next_node.prev_node = self.prev_node
- if self.prev_node != None:
- self.prev_node.next_node = self.next_node
- clients.remove(self)
-
-
-## Parse arguments ##
-parser = argparse.ArgumentParser(description='Robus WebSocket emulator broker\n',
- formatter_class=argparse.RawTextHelpFormatter)
-# General arguments
-parser.add_argument("-p", "--port", metavar="PORT", action="store",
- help="The port used by the websocket.\n"
- "By default port = 8000.\n",
- default=8000)
-parser.add_argument("--ip", metavar="IP", action="store",
- help="The ip used by the websocket.\n"
- "By default ip = '127.0.0.1'.\n",
- default='127.0.0.1')
-
-args = parser.parse_args()
-clients = []
-
-server = WebSocketServer(args.ip, args.port, RobusEmulator)
-print("WebSocket Robus emulation opened on " +
- str(args.ip) + ":" + str(args.port))
-server.serve_forever()
diff --git a/examples/projects/native/button/README.md b/examples/projects/native/button/README.md
index e4a20b529..590f6cd42 100644
--- a/examples/projects/native/button/README.md
+++ b/examples/projects/native/button/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrate how to make and use a simple button through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/), or to post your questions/issues on the [Luos' Forum](https://community.luos.io). :books:
diff --git a/examples/projects/native/button/lib/Button/README.md b/examples/projects/native/button/lib/Button/README.md
index 082563a34..17353ed30 100644
--- a/examples/projects/native/button/lib/Button/README.md
+++ b/examples/projects/native/button/lib/Button/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/native/button/platformio.ini b/examples/projects/native/button/platformio.ini
index 122ef09b3..14e7b4f0a 100644
--- a/examples/projects/native/button/platformio.ini
+++ b/examples/projects/native/button/platformio.ini
@@ -18,7 +18,7 @@ lib_extra_dirs =
platform = native
lib_deps =
Button
- robus_network
+ ws_network
build_unflags = -Os
build_flags =
-I inc
diff --git a/examples/projects/native/button/src/main.c b/examples/projects/native/button/src/main.c
index 93434b569..3386e9989 100644
--- a/examples/projects/native/button/src/main.c
+++ b/examples/projects/native/button/src/main.c
@@ -1,15 +1,16 @@
#include "luos_engine.h"
-#include "robus_network.h"
+#include "ws_network.h"
#include "button.h"
int main(void)
{
Luos_Init();
- Robus_Init();
+ Ws_Init();
Button_Init();
while (1)
{
Luos_Loop();
Button_Loop();
+ Ws_Loop();
}
}
diff --git a/examples/projects/native/gate_wscom/README.md b/examples/projects/native/gate_wscom/README.md
index e4a20b529..590f6cd42 100644
--- a/examples/projects/native/gate_wscom/README.md
+++ b/examples/projects/native/gate_wscom/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrate how to make and use a simple button through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/), or to post your questions/issues on the [Luos' Forum](https://community.luos.io). :books:
diff --git a/examples/projects/native/gate_wscom/node_config.h b/examples/projects/native/gate_wscom/node_config.h
index 24d880ace..84eb79d1b 100644
--- a/examples/projects/native/gate_wscom/node_config.h
+++ b/examples/projects/native/gate_wscom/node_config.h
@@ -50,6 +50,7 @@
#define MAX_LOCAL_SERVICE_NUMBER 2
#define MAX_LOCAL_PROFILE_NUMBER 1
#define MAX_MSG_NB 200
+#define MSG_BUFFER_SIZE 2048
/*******************************************************************************
* LUOS HAL LIBRARY DEFINITION
diff --git a/examples/projects/native/gate_wscom/platformio.ini b/examples/projects/native/gate_wscom/platformio.ini
index 4aa1c18be..b65ad3cb4 100644
--- a/examples/projects/native/gate_wscom/platformio.ini
+++ b/examples/projects/native/gate_wscom/platformio.ini
@@ -8,9 +8,9 @@
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[platformio]
-default_envs = native
+default_envs = native_ws
-[env:native]
+[env:native_serial]
lib_ldf_mode =off
lib_extra_dirs =
$PROJECT_DIR/../../../../tool_services/
@@ -31,6 +31,36 @@ build_flags =
-lm
-D LUOSHAL=NATIVE
-D WS_BROKER_ADDR=\"ws://127.0.0.1:8000/\" ; Watch out you need to escape the " using \
+ -D WS_NETWORK_BROKER_ADDR=\"ws://127.0.0.1:8000/\" ; Watch out you need to escape the " using \
+ -D GATEFORMAT=TinyJSON
+ -D PIPEMODE=WS
+ -D PIPEHAL=native
+ -D PIPE_WS_SERVER_ADDR=\"ws://localhost:9342\" ; Watch out you need to escape the " using \
+build_type = debug
+
+[env:native_ws]
+lib_ldf_mode =off
+lib_extra_dirs =
+ $PROJECT_DIR/../../../../tool_services/
+ $PROJECT_DIR/../../../../../
+ $PROJECT_DIR/../../../../network/
+platform = native
+lib_deps =
+ luos_engine@^3.1.0
+ ws_network
+ Pipe
+ Gate
+build_unflags = -Os
+build_flags =
+ -DWS
+ -I inc
+ -include node_config.h
+ -O1
+ -lpthread
+ -lm
+ -D LUOSHAL=NATIVE
+ -D WS_BROKER_ADDR=\"ws://127.0.0.1:8000/\" ; Watch out you need to escape the " using \
+ -D WS_NETWORK_BROKER_ADDR=\"ws://127.0.0.1:8000/\" ; Watch out you need to escape the " using \
-D GATEFORMAT=TinyJSON
-D PIPEMODE=WS
-D PIPEHAL=native
diff --git a/examples/projects/native/gate_wscom/src/main.c b/examples/projects/native/gate_wscom/src/main.c
index c82b80661..65f52190c 100644
--- a/examples/projects/native/gate_wscom/src/main.c
+++ b/examples/projects/native/gate_wscom/src/main.c
@@ -1,5 +1,9 @@
#include "luos_engine.h"
-#include "serial_network.h"
+#ifndef WS
+ #include "serial_network.h"
+#else
+ #include "ws_network.h"
+#endif
#include "pipe.h"
#include "gate.h"
#include
@@ -43,7 +47,11 @@ int main(void)
signal(SIGSEGV, handler); // install our handler
#endif
Luos_Init();
+#ifndef WS
Serial_Init();
+#else
+ Ws_Init();
+#endif
Pipe_Init();
Gate_Init();
// Create a thread to convert messages into Json and steam them using Websocket
@@ -52,7 +60,11 @@ int main(void)
while (1)
{
Luos_Loop();
+#ifndef WS
Serial_Loop();
+#else
+ Ws_Loop();
+#endif
Pipe_Loop();
Gate_Loop();
}
diff --git a/examples/projects/native/led/README.md b/examples/projects/native/led/README.md
index e4a20b529..590f6cd42 100644
--- a/examples/projects/native/led/README.md
+++ b/examples/projects/native/led/README.md
@@ -8,25 +8,24 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# Button project example :bulb:
+
This project demonstrate how to make and use a simple button through Luos. Feel free to use electronics and code example as you want.
## How to compile the code :computer:
- 1. Download and install [Platformio](https://platformio.org/platformio-ide)
- 2. Open this folder into Platformio
- 3. Build (Platformio will do the rest)
+1. Download and install [Platformio](https://platformio.org/platformio-ide)
+2. Open this folder into Platformio
+3. Build (Platformio will do the rest)
## How to open the electronic design :electric_plug:
+
You can open [a working example electronic design](https://github.com/Luos-io/luos_engine/tree/main/examples/hardware) with Kicad. This design use Luos_components library for more information to install and use it read [our doc](https://www.luos.io/docs/).
## Linked driver
+
This project is linked to the [Button driver](../../Drivers/button).
## Don't hesitate to read [our documentation](https://www.luos.io/docs/), or to post your questions/issues on the [Luos' Forum](https://community.luos.io). :books:
diff --git a/examples/projects/native/led/lib/Led/README.md b/examples/projects/native/led/lib/Led/README.md
index 12168b996..e313365f1 100644
--- a/examples/projects/native/led/lib/Led/README.md
+++ b/examples/projects/native/led/lib/Led/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/Examples)](
-https://github.com/Luos-io/Examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/Examples)](https://github.com/Luos-io/Examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# LED driver
+
Driver for using an RGB LED in your projects with Luos.
# Link project
+
This driver is linked to the [LED project](../../Projects/Led).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/native/led/platformio.ini b/examples/projects/native/led/platformio.ini
index 9264d26e6..587480d8c 100644
--- a/examples/projects/native/led/platformio.ini
+++ b/examples/projects/native/led/platformio.ini
@@ -18,7 +18,7 @@ lib_extra_dirs =
platform = native
lib_deps =
Led
- serial_network
+ ws_network
build_unflags = -Os
build_flags =
-I inc
diff --git a/examples/projects/native/led/src/main.c b/examples/projects/native/led/src/main.c
index 1ec6286cb..043f420bf 100644
--- a/examples/projects/native/led/src/main.c
+++ b/examples/projects/native/led/src/main.c
@@ -1,16 +1,16 @@
#include "luos_engine.h"
-#include "serial_network.h"
+#include "ws_network.h"
#include "led.h"
int main(void)
{
Luos_Init();
- Serial_Init();
+ Ws_Init();
Led_Init();
while (1)
{
Luos_Loop();
- Serial_Loop();
+ Ws_Loop();
Led_Loop();
}
}
diff --git a/examples/projects/native/ping_pong/README.md b/examples/projects/native/ping_pong/README.md
index 8aaceb7e9..80c83dba6 100644
--- a/examples/projects/native/ping_pong/README.md
+++ b/examples/projects/native/ping_pong/README.md
@@ -8,13 +8,10 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
-
# The Luos ping pong world cup project example :bulb:
+
```
The Luos ping pong world cup!
((((.
@@ -35,23 +32,24 @@ Controls:
- If the ball is going right press 'β'
Press SPACE BAR to start!
```
+
This project demonstrate how to make and use a simple multiplayer game through Luos.
This small and simple game run on your computer terminal and allow you to play with your friends.
## Before playing :computer:
- 1. Open a terminal on this project and run the broker at a given IP and port `./../broker.py --ip 'YOUR_LOCAL_IP' -p 8000`
+1. Open a terminal on this project and run the broker at a given IP and port `./../broker.py --ip 'YOUR_LOCAL_IP' -p 8000`
You only need to have one somewhere running, it's a kind of server, then anyone on your local network will be able to play.
## How to compile and play the game :video_game:
- 1. Install GCC on your computer
- 2. Download and install [Platformio](https://platformio.org/platformio-ide)
- 3. Open this folder into Platformio
- 4. Set the broker IP and port on the `node_config.h` file by replacing `#define WS_BROKER_ADDR "ws://127.0.0.1:8000"` with the corect IP and port
- 5. Build (Platformio will do the rest)
- 6. Open a new terminal on this projet and run the compiled binary `./.pio/build/native/program`
+1. Install GCC on your computer
+2. Download and install [Platformio](https://platformio.org/platformio-ide)
+3. Open this folder into Platformio
+4. Set the broker IP and port on the `node_config.h` file by replacing `#define WS_BROKER_ADDR "ws://127.0.0.1:8000"` with the corect IP and port
+5. Build (Platformio will do the rest)
+6. Open a new terminal on this projet and run the compiled binary `./.pio/build/native/program`
## Don't hesitate to read [our documentation](https://www.luos.io/docs/), or to post your questions/issues on the [Luos' Forum](https://community.luos.io). :books:
diff --git a/examples/projects/native/ping_pong/lib/PingPong/README.md b/examples/projects/native/ping_pong/lib/PingPong/README.md
index 082563a34..17353ed30 100644
--- a/examples/projects/native/ping_pong/lib/PingPong/README.md
+++ b/examples/projects/native/ping_pong/lib/PingPong/README.md
@@ -1,16 +1,16 @@
[![](http://certified.luos.io)](https://luos.io)
-[![](https://img.shields.io/github/license/Luos-io/examples)](
-https://github.com/Luos-io/examples/blob/master/LICENSE)
+[![](https://img.shields.io/github/license/Luos-io/examples)](https://github.com/Luos-io/examples/blob/master/LICENSE)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Button driver
+
Driver for using a push button in your projects with Luos.
# Linked project
+
This driver is linked to the [Button project](../../Projects/button).
[![](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.luos.io&logo=Discourse)](https://community.luos.io)
diff --git a/examples/projects/native/ping_pong/platformio.ini b/examples/projects/native/ping_pong/platformio.ini
index d73c1127f..f49a67ba1 100644
--- a/examples/projects/native/ping_pong/platformio.ini
+++ b/examples/projects/native/ping_pong/platformio.ini
@@ -18,7 +18,7 @@ lib_extra_dirs =
platform = native
lib_deps =
PingPong
- robus_network
+ ws_network
build_unflags = -Os
build_flags =
-I inc
diff --git a/examples/projects/native/ping_pong/src/main.c b/examples/projects/native/ping_pong/src/main.c
index a9ff780a7..fb7c541f0 100644
--- a/examples/projects/native/ping_pong/src/main.c
+++ b/examples/projects/native/ping_pong/src/main.c
@@ -1,5 +1,5 @@
#include "luos_engine.h"
-#include "robus_network.h"
+#include "ws_network.h"
#include "ping_pong.h"
#include
@@ -15,13 +15,13 @@ void *PingPong_LoopThread(void *vargp)
int main(void)
{
Luos_Init();
- Robus_Init();
+ Ws_Init();
PingPong_Init();
pthread_t thread_id;
pthread_create(&thread_id, NULL, PingPong_LoopThread, NULL);
while (1)
{
Luos_Loop();
- Robus_Loop();
+ Ws_Loop();
}
}
diff --git a/examples/projects/native/requirements.txt b/examples/projects/native/requirements.txt
deleted file mode 100644
index b1a889eda..000000000
--- a/examples/projects/native/requirements.txt
+++ /dev/null
@@ -1 +0,0 @@
-simple_websocket_server==0.4.2
diff --git a/network/robus_network/HAL/README.md b/network/robus_network/HAL/README.md
index 27ba47f57..8986cac92 100644
--- a/network/robus_network/HAL/README.md
+++ b/network/robus_network/HAL/README.md
@@ -8,8 +8,6 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Robus HAL
@@ -18,16 +16,17 @@ This repository regroups all of the HAL (Hardware Abstraction Layers) routines u
You can choose the one you need for your microcontroller or create your own following our templates and guidelines.
Do not hesitate to share your project and ask us about features on [our Discord](http://bit.ly/JoinLuosDiscord).
-
## Compatible MCU
### STM32F0 family:
+
- STM32F0x0
- STM32F0x1
- STM32F0x2 -> RobusHAL default configuration on NUCLEO-F072RB
- STM32F0x8
### STM32F4 family:
+
- STM32F401
- STM32F405/415
- STM32F407/417
@@ -41,11 +40,13 @@ Do not hesitate to share your project and ask us about features on [our Discord]
- STM32F469/479
### STM32G4 family:
-- STM32G4x1-> RobusHAL default configuration on NUCLEO-G431KB
+
+- STM32G4x1-> RobusHAL default configuration on NUCLEO-G431KB
- STM32G4x3
- STM32G4x4
### STM32L4 family:
+
- STM32L4x1
- STM32L4x2-> RobusHAL default configuration on NUCLEO-L432KC
- STM32L4x3
@@ -53,11 +54,13 @@ Do not hesitate to share your project and ask us about features on [our Discord]
- STM32L4x6
### ATSAMD family:
+
- ATSAMD21Exx
- ATSAMD21Gxx
- ATSAMD21Jxx -> RobusHAL default configuration on SAMDJ18A
### ARDUINO family:
+
- ARDUINO_SAMD_ZERO -> RobusHAL default configuration on ARDUINO ZERO
- ARDUINO_SAMD_MKRZERO
- ARDUINO_SAMD_MKR1000
@@ -70,6 +73,4 @@ Do not hesitate to share your project and ask us about features on [our Discord]
- ARDUINO_SAMD_NANO_33_IOT
- ARDUINO_SAMD_MKRVIDOR4000
-
-## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' subreddit](https://www.reddit.com/r/luos_engine). :books:
-
+## Don't hesitate to read [our documentation](https://www.luos.io), or to post your questions/issues on the [Luos' discord](http://bit.ly/JoinLuosDiscord). :books:
diff --git a/network/ws_network/HAL/ARDUINO/ws_hal.cpp b/network/ws_network/HAL/ARDUINO/ws_hal.cpp
new file mode 100644
index 000000000..7a41bb013
--- /dev/null
+++ b/network/ws_network/HAL/ARDUINO/ws_hal.cpp
@@ -0,0 +1,149 @@
+/******************************************************************************
+ * @file robusHAL
+ * @brief Robus Hardware Abstration Layer. Describe Low layer fonction
+ * @Family x86/Linux/Mac
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#include
+#include
+#include
+#include
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+#include "ws_hal.h"
+#include "_ws_network.h"
+#include "luos_utils.h"
+#ifdef __cplusplus
+}
+#endif
+
+WiFiClient wifi;
+static const char *s_url = WS_NETWORK_BROKER_ADDR; // ws://192.168.10.39:8000/
+const char *serverAddress = &s_url[5];
+// char serverAddress[] = "echo.websocket.org"; // server address
+// int port = 80;
+
+WebSocketClient *client;
+int status = WL_IDLE_STATUS;
+
+/*******************************************************************************
+ * Definitions
+ ******************************************************************************/
+
+/*******************************************************************************
+ * Variables
+ ******************************************************************************/
+
+/*******************************************************************************
+ * Function
+ ******************************************************************************/
+
+/////////////////////////Luos Library Needed function///////////////////////////
+
+/******************************************************************************
+ * @brief Luos HAL general initialisation
+ * @param None
+ * @return None
+ ******************************************************************************/
+void WsHAL_Init(void)
+{
+ // Extract IP and port from URL
+ int ip_table[4];
+ int port;
+ sscanf(s_url, "ws://%d.%d.%d.%d:%d", &ip_table[0], &ip_table[1], &ip_table[2], &ip_table[3], &port);
+ IPAddress ip_serv = IPAddress(ip_table[0], ip_table[1], ip_table[2], ip_table[3]);
+
+ // Create a client instance
+ static WebSocketClient aclient = WebSocketClient(wifi, ip_serv, port);
+ client = &aclient;
+
+ Serial.begin(9600);
+ if (!Serial)
+ delay(3000);
+ // Connect to WIFi:
+ while (WiFi.status() != WL_CONNECTED)
+ {
+ char ssid[] = SECRET_SSID;
+ char pass[] = SECRET_PASS;
+ Serial.print("Attempting to connect to: ");
+ Serial.println(ssid);
+ // Connect to WPA/WPA2 network:
+ status = WiFi.begin(ssid, pass);
+ }
+
+ // Print the SSID of the network you're attached to:
+ Serial.print("Connected to SSID: ");
+ Serial.println(WiFi.SSID());
+
+ // print your board's IP address:
+ IPAddress ip = WiFi.localIP();
+ Serial.print("IP Address: ");
+ Serial.println(ip);
+}
+
+/******************************************************************************
+ * @brief Luos HAL general loop
+ * @param None
+ * @return None
+ ******************************************************************************/
+void WsHAL_Loop(void)
+{
+ // if not connected to the socket server, try to connect:
+ if (!client->connected())
+ {
+ Serial.print("Connecting to the broker on: ");
+ Serial.println(s_url);
+ client->begin();
+ delay(1000);
+ if (!client->connected())
+ {
+ Serial.println("Failed to connect to the broker");
+ return;
+ }
+ else
+ {
+ Serial.println("Connected to the broker");
+ }
+ // skip the rest of the loop:
+ return;
+ }
+ // Check for received messages
+ int messageSize = client->parseMessage();
+ while (messageSize > 0)
+ {
+ // Transform the incoming data into a message
+ uint8_t msg[200];
+ if (client->read(msg, messageSize) != messageSize)
+ {
+ Serial.println("Error while reading message");
+ return;
+ }
+ Serial.print("Received message: ");
+ Ws_Reception(msg, (uint32_t)messageSize);
+ messageSize = client->parseMessage();
+ }
+}
+
+/******************************************************************************
+ * @brief Transmit data
+ * @param data to send
+ * @param size of data to send
+ * @return None
+ ******************************************************************************/
+void WsHAL_Send(const uint8_t *data, uint16_t size)
+{
+ client->beginMessage(TYPE_BINARY);
+ client->write(data, size);
+ if (client->endMessage() == 0)
+ {
+ Serial.println("Message sent");
+ }
+ else
+ {
+ Serial.println("Error while sending message");
+ }
+}
diff --git a/network/ws_network/HAL/ARDUINO/ws_hal.h b/network/ws_network/HAL/ARDUINO/ws_hal.h
new file mode 100644
index 000000000..255bd800b
--- /dev/null
+++ b/network/ws_network/HAL/ARDUINO/ws_hal.h
@@ -0,0 +1,23 @@
+/******************************************************************************
+ * @file ws_hal
+ * @brief Websocket Hardware Abstration Layer. Describe Low layer fonctions
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#ifndef _WSHAL_H_
+#define _WSHAL_H_
+
+#include
+
+/*******************************************************************************
+ * Variables
+ ******************************************************************************/
+
+/*******************************************************************************
+ * Function
+ ******************************************************************************/
+void WsHAL_Init(void); // Init the Websocket communication
+void WsHAL_Loop(void); // Do your loop stuff if needed
+void WsHAL_Send(const uint8_t *data, uint16_t size); // Send data
+
+#endif /* _WSHAL_H_ */
diff --git a/network/ws_network/HAL/ARDUINO/ws_hal_config.h b/network/ws_network/HAL/ARDUINO/ws_hal_config.h
new file mode 100644
index 000000000..e3c4f77a5
--- /dev/null
+++ b/network/ws_network/HAL/ARDUINO/ws_hal_config.h
@@ -0,0 +1,18 @@
+/******************************************************************************
+ * @file ws_HAL_config
+ * @brief This file allow you to configure ws HAL according to your system
+ * this is the default configuration created by Luos team for this target
+ * Do not modify this file if you want to ovewrite change define it in your project node_config.h
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#ifndef _WS_CONFIG_H_
+#define _WS_CONFIG_H_
+
+#ifndef SECRET_SSID
+ #warning "You must define SECRET_SSID and SECRET_PASS in your node_config.h"
+#endif
+#ifndef SECRESECRET_PASST_SSID
+ #warning "You must define SECRET_SSID and SECRET_PASS in your node_config.h"
+#endif
+#endif /* _WS_CONFIG_H_ */
diff --git a/network/ws_network/HAL/NATIVE/hal_script.py b/network/ws_network/HAL/NATIVE/hal_script.py
new file mode 100644
index 000000000..74b338cb8
--- /dev/null
+++ b/network/ws_network/HAL/NATIVE/hal_script.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+import os
+from os import path
+from os.path import realpath
+import click
+import time
+Import("env")
+
+global_env = DefaultEnvironment()
+
+if not "MONGOOSE" in global_env:
+ if (not path.exists("mongoose")):
+ env.Execute(
+ "git clone --depth 1 --branch 7.8 https://github.com/cesanta/mongoose.git")
+ global_env["MONGOOSE"] = realpath("mongoose/")
+env.Append(CPPPATH=[global_env["MONGOOSE"]])
+env.Append(
+ SRC_FILTER=["+<"+global_env["MONGOOSE"]+"/mongoose.c>"])
+env.Append(CPPDEFINES=["MG_ENABLE_LINES=1"])
+if os.name == 'nt':
+ env.Append(CPPDEFINES=["_POSIX_C_SOURCE=200000L"])
+ env.Append(LIBS=["ws2_32"])
+click.secho("\t* mongoose 7.8 lib ready.", fg="green")
+
+# Websocket configurations override
+if os.environ.get("WS_NETWORK_BROKER_ADDR"):
+ env.Append(CPPDEFINES=[("WS_NETWORK_BROKER_ADDR","\\\""+os.environ["WS_NETWORK_BROKER_ADDR"]+"\\\"")])
+if os.environ.get(""):
+ env.Append(CPPDEFINES=[("PIPE_WS_SERVER_ADDR","\\\""+os.environ["PIPE_WS_SERVER_ADDR"]+"\\\"")])
\ No newline at end of file
diff --git a/network/ws_network/HAL/NATIVE/ws_hal.c b/network/ws_network/HAL/NATIVE/ws_hal.c
new file mode 100644
index 000000000..36bf2525c
--- /dev/null
+++ b/network/ws_network/HAL/NATIVE/ws_hal.c
@@ -0,0 +1,167 @@
+/******************************************************************************
+ * @file robusHAL
+ * @brief Robus Hardware Abstration Layer. Describe Low layer fonction
+ * @Family x86/Linux/Mac
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#include "ws_hal.h"
+#include "_ws_network.h"
+#include "mongoose.h"
+#include "luos_utils.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+/*******************************************************************************
+ * Definitions
+ ******************************************************************************/
+// #define WS_PRINT
+static void ws_cb(struct mg_connection *c, int ev, void *ev_data, void *fn_data);
+static void *WSThread(void *vargp);
+
+/*******************************************************************************
+ * Variables
+ ******************************************************************************/
+
+volatile uint8_t *tx_data = 0;
+
+// Mongoose connection information
+struct mg_mgr ws_mgr; // Event manager
+struct mg_connection *c; // Client connection
+static const char *s_url = WS_NETWORK_BROKER_ADDR;
+volatile bool ws_connected = false;
+/*******************************************************************************
+ * Function
+ ******************************************************************************/
+
+/* msleep(): Sleep for the requested number of milliseconds. */
+static int msleep(long msec)
+{
+ struct timespec ts;
+ int res;
+
+ if (msec < 0)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
+ ts.tv_sec = msec / 1000;
+ ts.tv_nsec = (msec % 1000) * 1000000;
+
+ do
+ {
+ res = nanosleep(&ts, &ts);
+ } while (res && errno == EINTR);
+
+ return res;
+}
+
+/////////////////////////Luos Library Needed function///////////////////////////
+
+/******************************************************************************
+ * @brief Luos HAL general initialisation
+ * @param None
+ * @return None
+ ******************************************************************************/
+void WsHAL_Init(void)
+{
+ static bool connection_done = false; // Event handler flips it to true
+ mg_mgr_init(&ws_mgr); // Initialise event manager
+ mg_log_set(MG_LL_NONE); // Set log level => MG_LL_VERBOSE
+ c = mg_ws_connect(&ws_mgr, s_url, ws_cb, (void *)&connection_done, NULL); // Create client
+ if (c)
+ {
+ while (connection_done == false)
+ {
+ // Wait for connection to be established
+ mg_mgr_poll(&ws_mgr, 1000);
+ }
+ }
+ // Create a thread to poll the websocket.
+ pthread_t thread_id;
+ pthread_create(&thread_id, NULL, WSThread, NULL);
+}
+
+/******************************************************************************
+ * @brief Luos HAL general loop
+ * @param None
+ * @return None
+ ******************************************************************************/
+void WsHAL_Loop(void)
+{
+ // Just sleep to avoid 100% CPU usage and websockets overflows
+ msleep(1);
+}
+
+void *WSThread(void *vargp)
+{
+ while (1)
+ {
+ msleep(1);
+ if (c)
+ {
+ mg_mgr_poll(&ws_mgr, 10);
+ }
+ }
+ return NULL;
+}
+
+// Print websocket response and signal that we're done
+void ws_cb(struct mg_connection *c, int ev, void *ev_data, void *fn_data)
+{
+#ifdef WS_PRINT
+ if (ev == MG_EV_OPEN)
+ {
+ printf("opened\n");
+ }
+ else if (ev == MG_EV_CONNECT)
+ {
+ printf("connected\n");
+ }
+ else
+#endif
+ if (ev == MG_EV_CLOSE)
+ {
+ printf("Connection closed\n");
+ }
+ else if (ev == MG_EV_ERROR)
+ {
+ // On error, log error message
+ printf("Error:");
+ MG_ERROR(("%p %s", c->fd, (char *)ev_data));
+ }
+ else if (ev == MG_EV_WS_OPEN)
+ {
+ // When websocket handshake is successful, send message
+ printf("Connected to %s\n", s_url);
+ ws_connected = true;
+ }
+ else if (ev == MG_EV_WS_MSG)
+ {
+ // Transform the incoming data into a message
+ struct mg_ws_message *wm = (struct mg_ws_message *)ev_data;
+ Ws_Reception((uint8_t *)wm->data.ptr, (uint32_t)wm->data.len);
+ }
+
+ if (ev == MG_EV_ERROR || ev == MG_EV_CLOSE || ev == MG_EV_WS_OPEN)
+ {
+ *(bool *)fn_data = true; // Signal that we're connected
+ }
+}
+
+/******************************************************************************
+ * @brief Transmit data
+ * @param data to send
+ * @param size of data to send
+ * @return None
+ ******************************************************************************/
+void WsHAL_Send(const uint8_t *data, uint16_t size)
+{
+ mg_ws_send(c, data, size, WEBSOCKET_OP_BINARY);
+}
diff --git a/network/ws_network/HAL/NATIVE/ws_hal.h b/network/ws_network/HAL/NATIVE/ws_hal.h
new file mode 100644
index 000000000..255bd800b
--- /dev/null
+++ b/network/ws_network/HAL/NATIVE/ws_hal.h
@@ -0,0 +1,23 @@
+/******************************************************************************
+ * @file ws_hal
+ * @brief Websocket Hardware Abstration Layer. Describe Low layer fonctions
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#ifndef _WSHAL_H_
+#define _WSHAL_H_
+
+#include
+
+/*******************************************************************************
+ * Variables
+ ******************************************************************************/
+
+/*******************************************************************************
+ * Function
+ ******************************************************************************/
+void WsHAL_Init(void); // Init the Websocket communication
+void WsHAL_Loop(void); // Do your loop stuff if needed
+void WsHAL_Send(const uint8_t *data, uint16_t size); // Send data
+
+#endif /* _WSHAL_H_ */
diff --git a/network/ws_network/HAL/NATIVE/ws_hal_config.h b/network/ws_network/HAL/NATIVE/ws_hal_config.h
new file mode 100644
index 000000000..75d858273
--- /dev/null
+++ b/network/ws_network/HAL/NATIVE/ws_hal_config.h
@@ -0,0 +1,12 @@
+/******************************************************************************
+ * @file ws_HAL_config
+ * @brief This file allow you to configure ws HAL according to your system
+ * this is the default configuration created by Luos team for this target
+ * Do not modify this file if you want to ovewrite change define it in your project node_config.h
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#ifndef _WS_CONFIG_H_
+#define _WS_CONFIG_H_
+
+#endif /* _WS_CONFIG_H_ */
diff --git a/network/ws_network/inc/_ws_network.h b/network/ws_network/inc/_ws_network.h
new file mode 100644
index 000000000..a6d2e4fb6
--- /dev/null
+++ b/network/ws_network/inc/_ws_network.h
@@ -0,0 +1,16 @@
+/******************************************************************************
+ * @file _serial_network.h
+ * @brief Private serial communication driver functions for luos framework
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+
+#ifndef __WS_H_
+#define __WS_H_
+
+#include
+#include "ws_config.h"
+
+void Ws_Reception(uint8_t *data, uint32_t size);
+
+#endif /* __WS_H_ */
diff --git a/network/ws_network/inc/ws_network.h b/network/ws_network/inc/ws_network.h
new file mode 100644
index 000000000..a78042f26
--- /dev/null
+++ b/network/ws_network/inc/ws_network.h
@@ -0,0 +1,29 @@
+/******************************************************************************
+ * @file ws_network.h
+ * @brief WebSocket communication driver for luos framework
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#ifndef _LUOS_WS_H_
+#define _LUOS_WS_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+#include "luos_phy.h"
+
+ /*******************************************************************************
+ * Definitions
+ ******************************************************************************/
+
+ /*******************************************************************************
+ * Function
+ ******************************************************************************/
+ void Ws_Init(void);
+ void Ws_Loop(void);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _LUOS_WS_H_ */
diff --git a/network/ws_network/library.json b/network/ws_network/library.json
new file mode 100644
index 000000000..666cb1010
--- /dev/null
+++ b/network/ws_network/library.json
@@ -0,0 +1,26 @@
+{
+ "name": "ws_network",
+ "keywords": "ws, websocket,network,microservice,luos,operating system,os,embedded,communication,service",
+ "description": "A websocket network interface dedicated to Luos.",
+ "version": "1.0.0",
+ "authors": {
+ "name": "Luos",
+ "url": "https://luos.io"
+ },
+ "homepage": "https://luos.io",
+ "license": "MIT",
+ "headers": "ws_network.h",
+ "build": {
+ "extraScript": "ws_select_hal_script.py"
+ },
+ "dependencies": {
+ "SPI": "^1.0",
+ "luos_engine": "^3.0.0",
+ "WiFi101": "^0.16.1",
+ "arduino-libraries/ArduinoHttpClient": "^0.5.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Luos-io/luos_engine"
+ }
+}
diff --git a/network/ws_network/src/ws_network.c b/network/ws_network/src/ws_network.c
new file mode 100644
index 000000000..8c3bd8a02
--- /dev/null
+++ b/network/ws_network/src/ws_network.c
@@ -0,0 +1,276 @@
+/******************************************************************************
+ * @file ws_network.c
+ * @brief Websocket communication driver for Luos library
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+
+/******************************************************************************
+ * # WebSocket Topology management algorythm:
+ *
+ * +----+-----+ +------------+--------------+ +--------------+------------+ +--------------+------------+
+ * | | | node 1 (master) | | node 2 | | node 3 |
+ * | Broker | +------------+--------------+ +--------------+------------+ +--------------+------------+
+ * | | | luos_phy | ws_network | | luos_phy | ws_network | | luos_phy | ws_network |
+ * +----------+ +------------+--------------+ +--------------+------------+ +--------------+------------+
+ * | | | topo_run --+--> | | | | | | |
+ * | <=+==========+============+=== PING | | | | | | |
+ * | OK ==+==========+============+==> | | | | | | |
+ * | PING ==+==========+============+==============+==========+==============+==> | | | |
+ * | | | | | | <-------+-topo_source| | | |
+ * | <=+==========+============+==============+==========+==============+=== end | | | |
+ * | | | | | | <-------+--topo_done | | | |
+ * | END ==+==========+============+===> | | | | | | |
+ * | | | <-----+--- topo_next | | | | | | |
+ * | | | topo_run --+--> | | | | | | |
+ * | <=+==========+============+=== PING | | | | | | |
+ * | OK ==+==========+============+==> | | | | | | |
+ * | PING ==+==========+============+==============+==========+==============+============+==========+==============+==> |
+ * | | | | | | | | | <-------+-topo_source|
+ * | <=+==========+============+==============+==========+==============+============+==========+==============+=== end |
+ * | | | | | | | | | <-------+--topo_done |
+ * | END ==+==========+============+===> | | | | | | |
+ * | | | <-----+--- topo_next | | | | | | |
+ * | | | topo_run --+--> | | | | | | |
+ * | <=+==========+============+=== PING | | | | | | |
+ * | KO ==+==========+============+==> | | | | | | |
+ * | | | <-----+--- topo_end | | | | | | |
+ * +----------+ +------------+--------------+ +--------------+------------+ +--------------+------------+
+ *
+ * ==> Websocket messages
+ * --> Function calling
+ *
+ * This algorythm is used to detect all the nodes on the network.
+ * All nodes will be detected as star connection.
+ * The broker doesn't apear on the Luos_engine architecture, it's just the server allowing to broadcast messages.
+ *
+ ******************************************************************************/
+
+#include "luos_phy.h"
+#include "ws_network.h"
+#include "_ws_network.h"
+#include "ws_hal.h"
+
+#include
+/*******************************************************************************
+ * Definitions
+ ******************************************************************************/
+typedef enum
+{
+ INACTIVE,
+ WAITING,
+ PING_ACKED,
+ PING_NACKED,
+ PING_RECEIVED
+} wait_ack_t;
+
+typedef enum
+{
+ PING = 0,
+ END = 1,
+ OK = 2,
+ NOK = 3
+} ping_t;
+
+// Phy callback definitions
+static void Ws_JobHandler(luos_phy_t *phy_ptr, phy_job_t *job);
+static error_return_t Ws_RunTopology(luos_phy_t *phy_ptr, uint8_t *portId);
+static void Ws_Reset(luos_phy_t *phy_ptr);
+
+/*******************************************************************************
+ * Variables
+ ******************************************************************************/
+luos_phy_t *phy_ws = NULL;
+volatile wait_ack_t ping_status = INACTIVE; // This flag indicate the status of the ping request
+
+/*******************************************************************************
+ * Function
+ ******************************************************************************/
+
+/******************************************************************************
+ * @brief Initialisation of the WebSocket communication
+ * @param None
+ * @return None
+ ******************************************************************************/
+void Ws_Init(void)
+{
+ // Instantiate the phy struct
+ phy_ws = Phy_Create(Ws_JobHandler, Ws_RunTopology, Ws_Reset);
+ LUOS_ASSERT(phy_ws);
+
+ Ws_Reset(phy_ws);
+ WsHAL_Init();
+}
+
+/******************************************************************************
+ * @brief Reset the WebSocket communication variables
+ * @return None
+ ******************************************************************************/
+void Ws_Reset(luos_phy_t *phy_ptr)
+{
+ // Init the WebSocket communication variables
+ ping_status = INACTIVE;
+}
+
+/******************************************************************************
+ * @brief Loop of the WebSocket communication
+ * @param None
+ * @return None
+ ******************************************************************************/
+void Ws_Loop(void)
+{
+ WsHAL_Loop();
+}
+
+/******************************************************************************
+ * @brief WebSocket job handler
+ * @param phy_ptr
+ * @param job
+ * @return None
+ ******************************************************************************/
+void Ws_JobHandler(luos_phy_t *phy_ptr, phy_job_t *job)
+{
+ // Send the message
+ WsHAL_Send(job->data_pt, job->size);
+ // Free the message
+ Phy_RmJob(phy_ws, job);
+}
+
+/******************************************************************************
+ * @brief Store received data in the rx buffer
+ * @param data data to store
+ * @param size size of the data
+ * @return None
+ *****************************************************************************/
+_CRITICAL void Ws_Reception(uint8_t *data, uint32_t size)
+{
+ LUOS_ASSERT((size <= sizeof(msg_t)) && (data != NULL));
+ if (size >= sizeof(header_t))
+ {
+ // Reception is finished, we can give it to luos_engine
+ phy_ws->rx_timestamp = Phy_GetTimestamp();
+ // Only give the header to begin
+ phy_ws->rx_data = data;
+ phy_ws->rx_buffer_base = data;
+ phy_ws->received_data = sizeof(header_t);
+ Phy_ComputeHeader(phy_ws);
+ if (phy_ws->rx_keep == true)
+ {
+ // Header computing need to get this message
+ phy_ws->received_data = size;
+ // Validate it
+ Phy_ValidMsg(phy_ws);
+ if (phy_ws->rx_data == NULL)
+ {
+ // The message wasn't kept, there is no more space on the luos_engine buffer, or the message is corrupted.
+ // This is a critical failure
+ LUOS_ASSERT(0);
+ }
+ }
+ }
+ else
+ {
+ LUOS_ASSERT(size == 1); // if size is not 1 or sizeof(header_t), this is a critical failure
+ switch (data[0])
+ {
+ case PING:
+ // This is a ping message
+ // We receive this ping from a master node
+ // This port become the topology source of this node
+ // Notify luos_phy about it
+ Phy_TopologySource(phy_ws, 0);
+ ping_status = PING_RECEIVED;
+ // Luos will try to detect other networks, then try to find someone else on this one by calling the `Ws_RunTopology` function.
+ // This function will send an end message indicating that this branch detection is over.
+ break;
+ case END:
+ // This is an end message, we receive it because we are the detection source of this phy.
+ // This port is done, we just have to wait for the next port request from Luos. (In Websocket network, we consider each node reachable by this phy as a port, to get a star topology)
+ Phy_TopologyNext();
+ break;
+ case OK:
+ // This is a OK message comming from the broker indicating that we find someone.
+ LUOS_ASSERT(ping_status == WAITING); // We should be waiting for a ping ack
+ ping_status = PING_ACKED;
+ break;
+ case NOK:
+ // This is a NOK message comming from the broker indicating that we didn't find someone.
+ LUOS_ASSERT(ping_status == WAITING); // We should be waiting for a ping ack
+ ping_status = PING_NACKED;
+ break;
+ default:
+ LUOS_ASSERT(0); // This is a critical failure
+ break;
+ }
+ }
+}
+
+/******************************************************************************
+ * @brief Find the next neighbour on this phy
+ * @param None
+ * @return error_return_t
+ ******************************************************************************/
+error_return_t Ws_RunTopology(luos_phy_t *phy_ptr, uint8_t *portId)
+{
+ static uint8_t port_id = 0;
+ if (ping_status == PING_RECEIVED)
+ {
+ // We already received a ping on this phy, we need to send an end message indicating that this branche is done
+ uint8_t end = END;
+ WsHAL_Send(&end, 1);
+ // Consider this branch as done
+ Phy_TopologyDone(phy_ws);
+ // reset the port counter
+ port_id = 0;
+ ping_status = INACTIVE;
+ return FAILED;
+ }
+ else if (ping_status == INACTIVE)
+ {
+ // No one pinged us, this node is the one that initiate the ping
+ // We need to send a ping to the broker
+ uint8_t ping = PING;
+ WsHAL_Send(&ping, 1);
+ // We need to wait for the broker answer
+ ping_status = WAITING;
+ uint32_t timeout = LuosHAL_GetSystick() + 200;
+ while ((ping_status == WAITING) && (LuosHAL_GetSystick() < timeout))
+ {
+ // Treat potential received data
+ Ws_Loop();
+ }
+ // Check if we received the answer
+ switch (ping_status)
+ {
+ case WAITING:
+ // We didn't receive the answer, meaning that we loose the broker consider this branch as done
+ Phy_TopologyDone(phy_ws);
+ printf("ERROR : can't reach the broker\n");
+ port_id = 0;
+ ping_status = INACTIVE;
+ return FAILED;
+ break;
+ case PING_ACKED:
+ // We found someone
+ // Reference this port ID
+ *portId = port_id;
+ port_id++;
+ ping_status = INACTIVE;
+ return SUCCEED;
+ break;
+ case PING_NACKED:
+ // We didn't find someone
+ // Consider this branch as done
+ Phy_TopologyDone(phy_ws);
+ port_id = 0;
+ ping_status = INACTIVE;
+ return FAILED;
+ break;
+ default:
+ LUOS_ASSERT(0); // This is a critical failure
+ break;
+ }
+ }
+ LUOS_ASSERT(0); // This is a critical failure
+ return FAILED;
+}
diff --git a/network/ws_network/ws_config.h b/network/ws_network/ws_config.h
new file mode 100644
index 000000000..a093f865d
--- /dev/null
+++ b/network/ws_network/ws_config.h
@@ -0,0 +1,17 @@
+/******************************************************************************
+ * @file ws_config config
+ * @brief config of the Luos WebSocket protocol
+ * @author Luos
+ * @version 0.0.0
+ ******************************************************************************/
+#ifndef _WS_CONFIG_H_
+#define _WS_CONFIG_H_
+
+/*******************************************************************************
+ * Definitions
+ ******************************************************************************/
+#ifndef WS_NETWORK_BROKER_ADDR
+ #define WS_NETWORK_BROKER_ADDR "ws://127.0.0.1:8000"
+#endif
+
+#endif /* _WS_CONFIG_H_ */
diff --git a/network/ws_network/ws_select_hal_script.py b/network/ws_network/ws_select_hal_script.py
new file mode 100644
index 000000000..b355c3038
--- /dev/null
+++ b/network/ws_network/ws_select_hal_script.py
@@ -0,0 +1,57 @@
+#!/usr/bin/python
+from os import path
+import sys
+import click
+from os.path import join, realpath
+Import('env')
+
+click.secho("")
+click.secho("WebSocket network build configuration:", underline=True)
+# Find the appropriate hal
+find_HAL = False
+envdefs = env['CPPDEFINES'].copy()
+for item in envdefs:
+ if isinstance(item, tuple) and item[0] == "WSHAL":
+ find_HAL = True
+ if (path.exists("HAL/" + item[1])):
+ click.secho(
+ "\t* %s HAL selected for WebSocket network." % item[1], fg="green")
+ if (path.exists("HAL/" + item[1] + "/hal_script.py")):
+ # This is an extra script dedicated to this HAL, run it
+ hal_script_path = realpath("HAL/" + item[1] + "/hal_script.py")
+ env.SConscript(hal_script_path, exports="env")
+ click.secho("")
+
+ else:
+ click.secho("\t* %s WebSocket network HAL not found" %
+ item[1], fg="red")
+ click.secho("")
+
+ env.Append(CPPPATH=[realpath("HAL/" + item[1])])
+ env.Append(CPPPATH=[realpath("inc/")])
+ env.Append(CPPPATH=[realpath(".")])
+ env.Append(
+ SRC_FILTER=["+<*.c>, +<../HAL/%s/*.c>, ++<../HAL/%s/*.cpp>" % (item[1], item[1])])
+
+if (find_HAL == False):
+ for item in envdefs:
+ if isinstance(item, tuple) and item[0] == "LUOSHAL":
+ find_HAL = True
+ if (path.exists("HAL/" + item[1])):
+ click.secho(
+ "\t* %s HAL selected for WebSocket network." % item[1], fg="green")
+ if (path.exists("HAL/" + item[1] + "/hal_script.py")):
+ # This is an extra script dedicated to this HAL, run it
+ hal_script_path = realpath(
+ "HAL/" + item[1] + "/hal_script.py")
+ env.SConscript(hal_script_path, exports="env")
+
+ else:
+ click.secho("\t* %s Websocket network HAL not found" %
+ item[1], fg="red")
+
+ env.Append(CPPPATH=[realpath("HAL/" + item[1])])
+ env.Append(CPPPATH=[realpath("inc/")])
+ env.Append(CPPPATH=[realpath(".")])
+ env.Append(
+ SRC_FILTER=["+<*.c>, +<../HAL/%s/*.c>, ++<../HAL/%s/*.cpp>" % (item[1], item[1])])
diff --git a/source_filter_script.py b/source_filter_script.py
index 8a61a440e..7fb3ff69b 100644
--- a/source_filter_script.py
+++ b/source_filter_script.py
@@ -14,7 +14,7 @@
visited_key = "__LUOS_CORE_SCRIPT_CALLED"
global_env = DefaultEnvironment()
-if not visited_key in global_env:
+if env.get("UPLOAD_PROTOCOL") == "custom" and not visited_key in global_env:
click.secho("")
click.secho("Luos engine build configuration:", underline=True)
# install pyluos
diff --git a/tool_services/README.md b/tool_services/README.md
index 27b863e77..db0f6c532 100644
--- a/tool_services/README.md
+++ b/tool_services/README.md
@@ -8,8 +8,6 @@
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/luos_engine.svg)](https://registry.platformio.org/libraries/luos_engine/luos_engine)
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
# Tool services
@@ -17,11 +15,12 @@
In this section you will find really usefull embedded tool App services provided by Luos.
## To learn more
+
This section details the features of Luos technology as an embedded development platform, following these subjects:
-* Let's test through the [Luos get started](https://www.luos.io/tutorials/get-started), to build, flash, run, and control your very first Luos code.
-* The [Basics of Luos](https://www.luos.io/docs/luos-technology/basics), explaining the general concepts and the project organization.
-* Definition of [Nodes](https://www.luos.io/docs/luos-technology/node), and the relation between Luos and the physical world.
-* Definition of [Packages](https://www.luos.io/docs/luos-technology/package), and how to make a portable and reusable development.
-* Definition of [Services](https://www.luos.io/docs/luos-technology/services), how to create and declare features in your product.
-* Definition of [Messages](https://www.luos.io/docs/luos-technology/message), when, why, and how to handle them, explaining the more advanced features of Luos.
+- Let's test through the [Luos get started](https://www.luos.io/tutorials/get-started), to build, flash, run, and control your very first Luos code.
+- The [Basics of Luos](https://www.luos.io/docs/luos-technology/basics), explaining the general concepts and the project organization.
+- Definition of [Nodes](https://www.luos.io/docs/luos-technology/node), and the relation between Luos and the physical world.
+- Definition of [Packages](https://www.luos.io/docs/luos-technology/package), and how to make a portable and reusable development.
+- Definition of [Services](https://www.luos.io/docs/luos-technology/services), how to create and declare features in your product.
+- Definition of [Messages](https://www.luos.io/docs/luos-technology/message), when, why, and how to handle them, explaining the more advanced features of Luos.
diff --git a/tool_services/gate/README.md b/tool_services/gate/README.md
index ed2d2374b..7eaad7464 100644
--- a/tool_services/gate/README.md
+++ b/tool_services/gate/README.md
@@ -2,28 +2,24 @@
[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE)
-
[![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io)
[![](http://certified.luos.io)](https://luos.io)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Gate.svg)](https://registry.platformio.org/libraries/luos_engine/Gate)
-
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Gate app
-A translation Luos app service allowing you to easily connect your computer to your hardware product.
+A translation Luos app service allowing you to easily connect your computer to your hardware product.
## To learn more
+
This section details the features of Luos technology as an embedded development platform, following these subjects:
-* Let's test through the [Luos get started](https://www.luos.io/tutorials/get-started), to build, flash, run, and control your very first Luos code.
-* The [Basics of Luos](https://www.luos.io/docs/luos-technology/basics), explaining the general concepts and the project organization.
-* Definition of [Nodes](https://www.luos.io/docs/luos-technology/node), and the relation between Luos and the physical world.
-* Definition of [Packages](https://www.luos.io/docs/luos-technology/package), and how to make a portable and reusable development.
-* Definition of [Services](https://www.luos.io/docs/luos-technology/services), how to create and declare features in your product.
-* Definition of [Messages](https://www.luos.io/docs/luos-technology/message), when, why, and how to handle them, explaining the more advanced features of Luos.
+- Let's test through the [Luos get started](https://www.luos.io/tutorials/get-started), to build, flash, run, and control your very first Luos code.
+- The [Basics of Luos](https://www.luos.io/docs/luos-technology/basics), explaining the general concepts and the project organization.
+- Definition of [Nodes](https://www.luos.io/docs/luos-technology/node), and the relation between Luos and the physical world.
+- Definition of [Packages](https://www.luos.io/docs/luos-technology/package), and how to make a portable and reusable development.
+- Definition of [Services](https://www.luos.io/docs/luos-technology/services), how to create and declare features in your product.
+- Definition of [Messages](https://www.luos.io/docs/luos-technology/message), when, why, and how to handle them, explaining the more advanced features of Luos.
diff --git a/tool_services/pipe/README.md b/tool_services/pipe/README.md
index d0f26ee76..691125593 100644
--- a/tool_services/pipe/README.md
+++ b/tool_services/pipe/README.md
@@ -2,25 +2,23 @@
[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE)
-
[![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io)
[![](http://certified.luos.io)](https://luos.io)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/luos/library/Pipe.svg)](https://registry.platformio.org/libraries/luos_engine/Pipe)
-
[![](https://img.shields.io/discord/902486791658041364?label=Discord&logo=discord&style=social)](http://bit.ly/JoinLuosDiscord)
-[![](https://img.shields.io/reddit/subreddit-subscribers/Luos?style=social)](https://www.reddit.com/r/Luos)
-[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)
[![](https://img.shields.io/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io)
-
# Pipe Driver
+
The pipe driver allow you to share a communication way to the outside world with the other services of your device.
# Pipe configuration
+
To make this driver work you need to select the HAL corresponding to your needs. To select it you just have to compile the good file by selecting the good folder
## Platformio configuration
+
If you are using Platformio we already made a script selecting and compiling the files for you depending on some build flags you give him.
To configure it you have to setup `PIPEMODE`and `PIPEHAL` flags.
For example in your platformio.ini
@@ -34,23 +32,25 @@ build_flags =
-D PIPEHAL=ARDUINO
...
```
-Here is the configuration choices you have :
-| PIPEHAL | PIPEMODE=SERIAL| PIPEMODE=BLE | PIPEMODE=WIFI |
-| ------------- | ------------- | ------------- | ------------- |
-| ARDUINO | β
| | |
-| NUCLEO-F0 | β
| | |
-| NUCLEO-F4 | β
| | |
-| NUCLEO-G431 | β
| | |
-| NUCLEO-G474 | β
| | |
-| NUCLEO-L4 | β
| | |
+Here is the configuration choices you have :
+
+| PIPEHAL | PIPEMODE=SERIAL | PIPEMODE=BLE | PIPEMODE=WIFI |
+| ----------- | --------------- | ------------ | ------------- |
+| ARDUINO | β
| | |
+| NUCLEO-F0 | β
| | |
+| NUCLEO-F4 | β
| | |
+| NUCLEO-G431 | β
| | |
+| NUCLEO-G474 | β
| | |
+| NUCLEO-L4 | β
| | |
## To learn more
+
This section details the features of Luos technology as an embedded development platform, following these subjects:
-* Let's test through the [Luos get started](https://www.luos.io/tutorials/get-started), to build, flash, run, and control your very first Luos code.
-* The [Basics of Luos](https://www.luos.io/docs/luos-technology/basics), explaining the general concepts and the project organization.
-* Definition of [Nodes](https://www.luos.io/docs/luos-technology/node), and the relation between Luos and the physical world.
-* Definition of [Packages](https://www.luos.io/docs/luos-technology/package), and how to make a portable and reusable development.
-* Definition of [Services](https://www.luos.io/docs/luos-technology/services), how to create and declare features in your product.
-* Definition of [Messages](https://www.luos.io/docs/luos-technology/message), when, why, and how to handle them, explaining the more advanced features of Luos.
+- Let's test through the [Luos get started](https://www.luos.io/tutorials/get-started), to build, flash, run, and control your very first Luos code.
+- The [Basics of Luos](https://www.luos.io/docs/luos-technology/basics), explaining the general concepts and the project organization.
+- Definition of [Nodes](https://www.luos.io/docs/luos-technology/node), and the relation between Luos and the physical world.
+- Definition of [Packages](https://www.luos.io/docs/luos-technology/package), and how to make a portable and reusable development.
+- Definition of [Services](https://www.luos.io/docs/luos-technology/services), how to create and declare features in your product.
+- Definition of [Messages](https://www.luos.io/docs/luos-technology/message), when, why, and how to handle them, explaining the more advanced features of Luos.