diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 13e7b679a..94df7de52 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,7 +6,7 @@ on: - review_requested push: -concurrency: +concurrency: group: dev-build-${{ github.head_ref || github.ref_name }} cancel-in-progress: true @@ -46,9 +46,9 @@ jobs: - if: matrix.os == 'ubuntu-latest' run: | - sudo apt-get install -y lcov - lcov -d .pio/build/native/ -c -o lcov.info - lcov --remove lcov.info '*/usr/*' '*/Platforms/*' '*/bootloader/*' '*/.pio/*' '*/HAL/*' '*/test/*' '*/network/*' -o lcov.info + sudo apt-get install -y lcov + lcov -d .pio/build/native/ -c -o lcov.info + lcov --remove lcov.info '*/usr/*' '*/Platforms/*' '*/bootloader/*' '*/.pio/*' '*/HAL/*' '*/test/*' '*/network/*' -o lcov.info - if: matrix.os == 'ubuntu-latest' name: Coveralls @@ -59,8 +59,7 @@ jobs: needs: tests-run runs-on: ubuntu-latest steps: - - run: echo "Tests succeed!" - + - run: echo "Tests succeed!" code-format: name: Code format @@ -77,7 +76,7 @@ jobs: - name: Set up Node uses: actions/setup-node@v2 with: - node-version: '14' + node-version: "14" - name: Install dependencies run: npm install -g clang-format@1.5.0 @@ -90,20 +89,23 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - project_folders: [examples/projects/l0, - examples/projects/Arduino, - examples/projects/NUCLEO-L432KC, - examples/projects/STM32F4-discovery, - examples/projects/NUCLEO-F401RE, - examples/projects/NUCLEO-F410RB, - examples/projects/NUCLEO-G431KB, - examples/projects/NUCLEO-G474RE, - examples/projects/NUCLEO-F072RB, - examples/projects/NUCLEO-L073RZ, - examples/projects/STM32L4S5_discovery, - examples/projects/ESP32, - examples/projects/native - ] + project_folders: + [ + examples/projects/l0, + examples/projects/Arduino, + examples/projects/NUCLEO-L432KC, + examples/projects/NUCLEO-L476RG, + examples/projects/STM32F4-discovery, + examples/projects/NUCLEO-F401RE, + examples/projects/NUCLEO-F410RB, + examples/projects/NUCLEO-G431KB, + examples/projects/NUCLEO-G474RE, + examples/projects/NUCLEO-F072RB, + examples/projects/NUCLEO-L073RZ, + examples/projects/STM32L4S5_discovery, + examples/projects/ESP32, + examples/projects/native, + ] os: [macos-latest, windows-latest, ubuntu-latest] steps: @@ -152,4 +154,4 @@ jobs: needs: examples-build runs-on: ubuntu-latest steps: - - run: echo "Build succeed!" + - run: echo "Build succeed!" diff --git a/.gitignore b/.gitignore index e4450ea08..ab8f54688 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ **/.DS_Store *.icloud **/*.icloud +**/*.pyc .gcda .gcno diff --git a/README.md b/README.md index 07aa619e8..dbc38228c 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) [![](https://img.shields.io/github/license/Luos-io/luos_engine)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs) -[![](http://certified.luos.io)](https://www.luos.io) [![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/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io) Version: 3.0.0 diff --git a/engine/HAL/README.md b/engine/HAL/README.md index 7fcdd8d28..3d6997827 100644 --- a/engine/HAL/README.md +++ b/engine/HAL/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/apps/README.md b/examples/apps/README.md index 8bc475037..fdbb86896 100644 --- a/examples/apps/README.md +++ b/examples/apps/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/apps/alarm_controller/README.md b/examples/apps/alarm_controller/README.md index fe41f4f66..701b494b8 100644 --- a/examples/apps/alarm_controller/README.md +++ b/examples/apps/alarm_controller/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ This app constantly watches for movements and raises an alarm if there is. 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) [![](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/apps/start_controller/README.md b/examples/apps/start_controller/README.md index dfabba2ce..35a0a7b9f 100644 --- a/examples/apps/start_controller/README.md +++ b/examples/apps/start_controller/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ This app enables or disables the alarm . 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) [![](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/bldc_simple_foc/README.md b/examples/projects/Arduino/bldc_simple_foc/README.md index 9edf42c43..7c04fb448 100644 --- a/examples/projects/Arduino/bldc_simple_foc/README.md +++ b/examples/projects/Arduino/bldc_simple_foc/README.md @@ -3,7 +3,6 @@ ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) [![](https://img.shields.io/github/license/Luos-io/luos_engine)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs) -[![](http://certified.luos.io)](https://www.luos.io) [![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) diff --git a/examples/projects/Arduino/button/lib/button/README.md b/examples/projects/Arduino/button/lib/button/README.md index 946473259..25f533f31 100644 --- a/examples/projects/Arduino/button/lib/button/README.md +++ b/examples/projects/Arduino/button/lib/button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/lib/led/README.md b/examples/projects/Arduino/led/lib/led/README.md index 6c8ee94dc..b53969e72 100644 --- a/examples/projects/Arduino/led/lib/led/README.md +++ b/examples/projects/Arduino/led/lib/led/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using an RGB LED in your projects with Luos. 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/README.md b/examples/projects/Arduino/led_ws/lib/led/README.md index 6c8ee94dc..b53969e72 100644 --- a/examples/projects/Arduino/led_ws/lib/led/README.md +++ b/examples/projects/Arduino/led_ws/lib/led/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using an RGB LED in your projects with Luos. 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/stepper_simple_foc/README.md b/examples/projects/Arduino/stepper_simple_foc/README.md index d5db6a2e6..3638d0e43 100644 --- a/examples/projects/Arduino/stepper_simple_foc/README.md +++ b/examples/projects/Arduino/stepper_simple_foc/README.md @@ -3,7 +3,6 @@ ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) [![](https://img.shields.io/github/license/Luos-io/luos_engine)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs) -[![](http://certified.luos.io)](https://www.luos.io) [![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) diff --git a/examples/projects/ESP32/button/lib/button/README.md b/examples/projects/ESP32/button/lib/button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/ESP32/button/lib/button/README.md +++ b/examples/projects/ESP32/button/lib/button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/ESP32/button_arduino/lib/button/README.md b/examples/projects/ESP32/button_arduino/lib/button/README.md index 17353ed30..3bbdde20a 100644 --- a/examples/projects/ESP32/button_arduino/lib/button/README.md +++ b/examples/projects/ESP32/button_arduino/lib/button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) [![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) diff --git a/examples/projects/ESP32/led/lib/led/README.md b/examples/projects/ESP32/led/lib/led/README.md index 17353ed30..3bbdde20a 100644 --- a/examples/projects/ESP32/led/lib/led/README.md +++ b/examples/projects/ESP32/led/lib/led/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) [![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) diff --git a/examples/projects/ESP32/led_arduino/lib/led/README.md b/examples/projects/ESP32/led_arduino/lib/led/README.md index f2aa4f600..b2a43ec25 100644 --- a/examples/projects/ESP32/led_arduino/lib/led/README.md +++ b/examples/projects/ESP32/led_arduino/lib/led/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a led in your projects with Luos. 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/docs/) [![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) diff --git a/examples/projects/NUCLEO-F072RB/button/README.md b/examples/projects/NUCLEO-F072RB/button/README.md index f260382ab..edf00cc6a 100644 --- a/examples/projects/NUCLEO-F072RB/button/README.md +++ b/examples/projects/NUCLEO-F072RB/button/README.md @@ -4,7 +4,6 @@ [![](https://img.shields.io/github/license/luos-io/luos)](https://github.com/luos-io/luos_engine/blob/main/LICENSE) [![](https://img.shields.io/badge/luos-documentation-34A3B4)](https://www.luos.io) -[![](http://certified.luos.io)](https://www.luos.io) [![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) diff --git a/examples/projects/NUCLEO-F072RB/dc_motor/README.md b/examples/projects/NUCLEO-F072RB/dc_motor/README.md index 3b2312c1b..fa61c59d3 100644 --- a/examples/projects/NUCLEO-F072RB/dc_motor/README.md +++ b/examples/projects/NUCLEO-F072RB/dc_motor/README.md @@ -4,7 +4,6 @@ [![](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/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) @@ -28,8 +27,4 @@ You can open [a working example electronic design](https://github.com/Luos-io/Lu 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: - -[![](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) +## 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/examples/projects/NUCLEO-F072RB/gate_serialcom/README.md b/examples/projects/NUCLEO-F072RB/gate_serialcom/README.md index 2235ecdec..33e7db89d 100644 --- a/examples/projects/NUCLEO-F072RB/gate_serialcom/README.md +++ b/examples/projects/NUCLEO-F072RB/gate_serialcom/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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://www.luos.io) [![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) diff --git a/examples/projects/NUCLEO-F072RB/potentiometer/README.md b/examples/projects/NUCLEO-F072RB/potentiometer/README.md index 4ff39e42a..8649e72ff 100644 --- a/examples/projects/NUCLEO-F072RB/potentiometer/README.md +++ b/examples/projects/NUCLEO-F072RB/potentiometer/README.md @@ -4,7 +4,6 @@ [![](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/docs/luos-technology) -[![](http://certified.luos.io)](https://luos.io) [![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) diff --git a/examples/projects/NUCLEO-F401RE/button/lib/Button/README.md b/examples/projects/NUCLEO-F401RE/button/lib/Button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/NUCLEO-F401RE/button/lib/Button/README.md +++ b/examples/projects/NUCLEO-F401RE/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/NUCLEO-F401RE/dc_motor/README.md b/examples/projects/NUCLEO-F401RE/dc_motor/README.md index 4dc5ff661..7314d9cc3 100644 --- a/examples/projects/NUCLEO-F401RE/dc_motor/README.md +++ b/examples/projects/NUCLEO-F401RE/dc_motor/README.md @@ -4,7 +4,6 @@ [![](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/docs/luos-technology) -[![](http://certified.luos.io)](https://luos.io) [![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) diff --git a/examples/projects/NUCLEO-F401RE/led/lib/Led/README.md b/examples/projects/NUCLEO-F401RE/led/lib/Led/README.md index 6c8ee94dc..b53969e72 100644 --- a/examples/projects/NUCLEO-F401RE/led/lib/Led/README.md +++ b/examples/projects/NUCLEO-F401RE/led/lib/Led/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using an RGB LED in your projects with Luos. 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/NUCLEO-F401RE/potentiometer/README.md b/examples/projects/NUCLEO-F401RE/potentiometer/README.md index 3b7c82b6e..5b8f2d928 100644 --- a/examples/projects/NUCLEO-F401RE/potentiometer/README.md +++ b/examples/projects/NUCLEO-F401RE/potentiometer/README.md @@ -4,7 +4,6 @@ [![](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/docs/luos-technology) -[![](http://certified.luos.io)](https://www.luos.io) [![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) diff --git a/examples/projects/NUCLEO-F410RB/button/lib/Button/README.md b/examples/projects/NUCLEO-F410RB/button/lib/Button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/NUCLEO-F410RB/button/lib/Button/README.md +++ b/examples/projects/NUCLEO-F410RB/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/NUCLEO-F410RB/dc_motor/README.md b/examples/projects/NUCLEO-F410RB/dc_motor/README.md index 665ba633f..bb566eaab 100644 --- a/examples/projects/NUCLEO-F410RB/dc_motor/README.md +++ b/examples/projects/NUCLEO-F410RB/dc_motor/README.md @@ -4,7 +4,6 @@ [![](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/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) diff --git a/examples/projects/NUCLEO-F410RB/potentiometer/README.md b/examples/projects/NUCLEO-F410RB/potentiometer/README.md index 5cf364fa9..e68b6f6bc 100644 --- a/examples/projects/NUCLEO-F410RB/potentiometer/README.md +++ b/examples/projects/NUCLEO-F410RB/potentiometer/README.md @@ -4,7 +4,6 @@ [![](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/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) diff --git a/examples/projects/NUCLEO-G431KB/button/lib/Button/README.md b/examples/projects/NUCLEO-G431KB/button/lib/Button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/NUCLEO-G431KB/button/lib/Button/README.md +++ b/examples/projects/NUCLEO-G431KB/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/NUCLEO-G431KB/dc_motor/README.md b/examples/projects/NUCLEO-G431KB/dc_motor/README.md index 5cf364fa9..e68b6f6bc 100644 --- a/examples/projects/NUCLEO-G431KB/dc_motor/README.md +++ b/examples/projects/NUCLEO-G431KB/dc_motor/README.md @@ -4,7 +4,6 @@ [![](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/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) diff --git a/examples/projects/NUCLEO-G431KB/potentiometer/README.md b/examples/projects/NUCLEO-G431KB/potentiometer/README.md index 5cf364fa9..e68b6f6bc 100644 --- a/examples/projects/NUCLEO-G431KB/potentiometer/README.md +++ b/examples/projects/NUCLEO-G431KB/potentiometer/README.md @@ -4,7 +4,6 @@ [![](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/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) diff --git a/examples/projects/NUCLEO-G474RE/button/lib/Button/README.md b/examples/projects/NUCLEO-G474RE/button/lib/Button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/NUCLEO-G474RE/button/lib/Button/README.md +++ b/examples/projects/NUCLEO-G474RE/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/NUCLEO-L073RZ/button/README.md b/examples/projects/NUCLEO-L073RZ/button/README.md index f260382ab..edf00cc6a 100644 --- a/examples/projects/NUCLEO-L073RZ/button/README.md +++ b/examples/projects/NUCLEO-L073RZ/button/README.md @@ -4,7 +4,6 @@ [![](https://img.shields.io/github/license/luos-io/luos)](https://github.com/luos-io/luos_engine/blob/main/LICENSE) [![](https://img.shields.io/badge/luos-documentation-34A3B4)](https://www.luos.io) -[![](http://certified.luos.io)](https://www.luos.io) [![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) diff --git a/examples/projects/NUCLEO-L073RZ/button/lib/Button/README.md b/examples/projects/NUCLEO-L073RZ/button/lib/Button/README.md index 17353ed30..3bbdde20a 100644 --- a/examples/projects/NUCLEO-L073RZ/button/lib/Button/README.md +++ b/examples/projects/NUCLEO-L073RZ/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) [![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) diff --git a/examples/projects/NUCLEO-L073RZ/gate_serialcom/README.md b/examples/projects/NUCLEO-L073RZ/gate_serialcom/README.md index 2235ecdec..33e7db89d 100644 --- a/examples/projects/NUCLEO-L073RZ/gate_serialcom/README.md +++ b/examples/projects/NUCLEO-L073RZ/gate_serialcom/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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://www.luos.io) [![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) diff --git a/examples/projects/NUCLEO-L432KC/button/lib/Button/README.md b/examples/projects/NUCLEO-L432KC/button/lib/Button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/NUCLEO-L432KC/button/lib/Button/README.md +++ b/examples/projects/NUCLEO-L432KC/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/NUCLEO-L432KC/gpio/lib/Gpio_dev/README.md b/examples/projects/NUCLEO-L432KC/gpio/lib/Gpio_dev/README.md index 12c7541bc..66ccd38c4 100644 --- a/examples/projects/NUCLEO-L432KC/gpio/lib/Gpio_dev/README.md +++ b/examples/projects/NUCLEO-L432KC/gpio/lib/Gpio_dev/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a GPIO in your projects with Luos. 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) [![](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/NUCLEO-L432KC/led/lib/Led/README.md b/examples/projects/NUCLEO-L432KC/led/lib/Led/README.md index 6c8ee94dc..b53969e72 100644 --- a/examples/projects/NUCLEO-L432KC/led/lib/Led/README.md +++ b/examples/projects/NUCLEO-L432KC/led/lib/Led/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using an RGB LED in your projects with Luos. 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/README.md b/examples/projects/README.md index d0a510225..7025e2d1a 100644 --- a/examples/projects/README.md +++ b/examples/projects/README.md @@ -1,19 +1,17 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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/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 +# Product examples -This folder contains the sources of every examples sorted by boards. +This product folder is demonstrating the [Luos code organization proposition](https://www.luos.io/docs/luos-technology/basics/organization). -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). +In this example you will find a combination of diferent nodes hosting different services and dealing with custom messages. +This product example is an industrial 2D laser cut/engraving machine using a galvo mirror and a laser. diff --git a/examples/projects/SAMD21XPLAINED/button/lib/button/README.md b/examples/projects/SAMD21XPLAINED/button/lib/button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/SAMD21XPLAINED/button/lib/button/README.md +++ b/examples/projects/SAMD21XPLAINED/button/lib/button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/STM32F4-discovery/button/lib/Button/README.md b/examples/projects/STM32F4-discovery/button/lib/Button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/STM32F4-discovery/button/lib/Button/README.md +++ b/examples/projects/STM32F4-discovery/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/STM32L4S5_discovery/button/README.md b/examples/projects/STM32L4S5_discovery/button/README.md index f260382ab..edf00cc6a 100644 --- a/examples/projects/STM32L4S5_discovery/button/README.md +++ b/examples/projects/STM32L4S5_discovery/button/README.md @@ -4,7 +4,6 @@ [![](https://img.shields.io/github/license/luos-io/luos)](https://github.com/luos-io/luos_engine/blob/main/LICENSE) [![](https://img.shields.io/badge/luos-documentation-34A3B4)](https://www.luos.io) -[![](http://certified.luos.io)](https://www.luos.io) [![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) diff --git a/examples/projects/STM32L4S5_discovery/button/lib/Button/README.md b/examples/projects/STM32L4S5_discovery/button/lib/Button/README.md index 17353ed30..3bbdde20a 100644 --- a/examples/projects/STM32L4S5_discovery/button/lib/Button/README.md +++ b/examples/projects/STM32L4S5_discovery/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) [![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) diff --git a/examples/projects/STM32L4S5_discovery/gate_serialcom/README.md b/examples/projects/STM32L4S5_discovery/gate_serialcom/README.md index 2235ecdec..33e7db89d 100644 --- a/examples/projects/STM32L4S5_discovery/gate_serialcom/README.md +++ b/examples/projects/STM32L4S5_discovery/gate_serialcom/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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://www.luos.io) [![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) diff --git a/examples/projects/l0/bike_alarm/README.md b/examples/projects/l0/bike_alarm/README.md index a129bda71..3466168b0 100644 --- a/examples/projects/l0/bike_alarm/README.md +++ b/examples/projects/l0/bike_alarm/README.md @@ -1,9 +1,6 @@ Luos logo -[![](http://certified.luos.io)](https://www.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) # Luos bike alarm example tutorial diff --git a/examples/projects/l0/bike_alarm/alarm_controller/README.md b/examples/projects/l0/bike_alarm/alarm_controller/README.md index 5266d9380..0e03c99a6 100644 --- a/examples/projects/l0/bike_alarm/alarm_controller/README.md +++ b/examples/projects/l0/bike_alarm/alarm_controller/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) @@ -28,8 +27,4 @@ You can open [a working example electronic design](https://github.com/Luos-io/lu 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: - -[![](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) +## 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/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 6c8ee94dc..b53969e72 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,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using an RGB LED in your projects with Luos. 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/l0/bike_alarm/start_controller/README.md b/examples/projects/l0/bike_alarm/start_controller/README.md index a979f93fd..f33928c27 100644 --- a/examples/projects/l0/bike_alarm/start_controller/README.md +++ b/examples/projects/l0/bike_alarm/start_controller/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) @@ -28,8 +27,4 @@ You can open [a working example electronic design](https://github.com/Luos-io/lu 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: - -[![](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) +## 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/examples/projects/l0/bike_alarm/start_controller/lib/Button/README.md b/examples/projects/l0/bike_alarm/start_controller/lib/Button/README.md index 70b9145a1..1725e4516 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,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/l0/button/README.md b/examples/projects/l0/button/README.md index 7bb11d921..7f2c4b5a0 100644 --- a/examples/projects/l0/button/README.md +++ b/examples/projects/l0/button/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/button/lib/Button/README.md b/examples/projects/l0/button/lib/Button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/l0/button/lib/Button/README.md +++ b/examples/projects/l0/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/l0/button_freertos/README.md b/examples/projects/l0/button_freertos/README.md index 7dfa412b0..5d65b415f 100644 --- a/examples/projects/l0/button_freertos/README.md +++ b/examples/projects/l0/button_freertos/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) @@ -28,8 +27,4 @@ You can open [a working example electronic design](https://github.com/Luos-io/lu 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: - -[![](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) +## 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/examples/projects/l0/button_freertos/lib/Button/README.md b/examples/projects/l0/button_freertos/lib/Button/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/l0/button_freertos/lib/Button/README.md +++ b/examples/projects/l0/button_freertos/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/l0/button_freertos/lib/Led/README.md b/examples/projects/l0/button_freertos/lib/Led/README.md index 70b9145a1..1725e4516 100644 --- a/examples/projects/l0/button_freertos/lib/Led/README.md +++ b/examples/projects/l0/button_freertos/lib/Led/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/l0/controller_motor/README.md b/examples/projects/l0/controller_motor/README.md index 9ab05af58..2e11d92cc 100644 --- a/examples/projects/l0/controller_motor/README.md +++ b/examples/projects/l0/controller_motor/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) @@ -28,8 +27,4 @@ You can open [a working example electronic design](https://github.com/Luos-io/lu 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: - -[![](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) +## 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/examples/projects/l0/controller_motor/lib/Controller_motor/README.md b/examples/projects/l0/controller_motor/lib/Controller_motor/README.md index 414447719..3e297444d 100644 --- a/examples/projects/l0/controller_motor/lib/Controller_motor/README.md +++ b/examples/projects/l0/controller_motor/lib/Controller_motor/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a DC motor with an encoder and a reduction in your projects wit 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) [![](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/l0/dc_motor/README.md b/examples/projects/l0/dc_motor/README.md index a604f5135..3cba809b6 100644 --- a/examples/projects/l0/dc_motor/README.md +++ b/examples/projects/l0/dc_motor/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) 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 54fd63b52..46787ad35 100644 --- a/examples/projects/l0/dc_motor/lib/DC_motor/README.md +++ b/examples/projects/l0/dc_motor/lib/DC_motor/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a dual DC Motor controller in your projects with Luos. 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) [![](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/l0/demo/detection_button/README.md b/examples/projects/l0/demo/detection_button/README.md index 36e290095..7fea3af00 100644 --- a/examples/projects/l0/demo/detection_button/README.md +++ b/examples/projects/l0/demo/detection_button/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) 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 70b9145a1..1725e4516 100644 --- a/examples/projects/l0/demo/detection_button/lib/Button/README.md +++ b/examples/projects/l0/demo/detection_button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](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/l0/demo/detection_button/lib/Detection_Button/README.md b/examples/projects/l0/demo/detection_button/lib/Detection_Button/README.md index dfabba2ce..35a0a7b9f 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,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ This app enables or disables the alarm . 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) [![](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/l0/demo/ledstrip_position/README.md b/examples/projects/l0/demo/ledstrip_position/README.md index 81774e7cc..ae341de00 100644 --- a/examples/projects/l0/demo/ledstrip_position/README.md +++ b/examples/projects/l0/demo/ledstrip_position/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) 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 6cb321bd9..0acdbfa3d 100644 --- a/examples/projects/l0/demo/ledstrip_position/lib/Distance/README.md +++ b/examples/projects/l0/demo/ledstrip_position/lib/Distance/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a lidar distance sensor in your projects with Luos. 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) [![](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/l0/demo/ledstrip_position/lib/LedStrip_Position/README.md b/examples/projects/l0/demo/ledstrip_position/lib/LedStrip_Position/README.md index e6ccb3d2c..faf8debae 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,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ This app lights a led_strio depending on the position occupied by a distance sen 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) [![](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/l0/demo/motor_copy_app/lib/motor_copy/README.md b/examples/projects/l0/demo/motor_copy_app/lib/motor_copy/README.md index 0a932b19e..516a024ed 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,6 +1,5 @@ Luos logo -[![](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) 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 0a932b19e..516a024ed 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,6 +1,5 @@ Luos logo -[![](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) diff --git a/examples/projects/l0/distance/README.md b/examples/projects/l0/distance/README.md index 7ce483267..985699856 100644 --- a/examples/projects/l0/distance/README.md +++ b/examples/projects/l0/distance/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/distance/lib/Distance/README.md b/examples/projects/l0/distance/lib/Distance/README.md index 6cb321bd9..0acdbfa3d 100644 --- a/examples/projects/l0/distance/lib/Distance/README.md +++ b/examples/projects/l0/distance/lib/Distance/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a lidar distance sensor in your projects with Luos. 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) [![](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/l0/dxl/README.md b/examples/projects/l0/dxl/README.md index 8e51b22da..a7e71a150 100644 --- a/examples/projects/l0/dxl/README.md +++ b/examples/projects/l0/dxl/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/dxl/lib/Dxl/README.md b/examples/projects/l0/dxl/lib/Dxl/README.md index 3c55fd25d..969e4e69d 100644 --- a/examples/projects/l0/dxl/lib/Dxl/README.md +++ b/examples/projects/l0/dxl/lib/Dxl/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a Dynamixel motor (XL320 and MX serie) in your projects with Lu 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) [![](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/l0/gate_serialcom/README.md b/examples/projects/l0/gate_serialcom/README.md index 2112191c8..31fe8863a 100644 --- a/examples/projects/l0/gate_serialcom/README.md +++ b/examples/projects/l0/gate_serialcom/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/gpio/README.md b/examples/projects/l0/gpio/README.md index d600ba7e6..7cd362e6b 100644 --- a/examples/projects/l0/gpio/README.md +++ b/examples/projects/l0/gpio/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/gpio/lib/Gpio_dev/README.md b/examples/projects/l0/gpio/lib/Gpio_dev/README.md index 12c7541bc..66ccd38c4 100644 --- a/examples/projects/l0/gpio/lib/Gpio_dev/README.md +++ b/examples/projects/l0/gpio/lib/Gpio_dev/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a GPIO in your projects with Luos. 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) [![](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/l0/imu/README.md b/examples/projects/l0/imu/README.md index 458bc5f24..62a92a882 100644 --- a/examples/projects/l0/imu/README.md +++ b/examples/projects/l0/imu/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/imu/lib/Imu/README.md b/examples/projects/l0/imu/lib/Imu/README.md index bd5050e53..eba1321de 100644 --- a/examples/projects/l0/imu/lib/Imu/README.md +++ b/examples/projects/l0/imu/lib/Imu/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using an IMU in your projects with Luos. 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) [![](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/l0/led/README.md b/examples/projects/l0/led/README.md index 74d9927a4..915ae3eef 100644 --- a/examples/projects/l0/led/README.md +++ b/examples/projects/l0/led/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/led/lib/Led/README.md b/examples/projects/l0/led/lib/Led/README.md index 6c8ee94dc..b53969e72 100644 --- a/examples/projects/l0/led/lib/Led/README.md +++ b/examples/projects/l0/led/lib/Led/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using an RGB LED in your projects with Luos. 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/l0/led_fader/README.md b/examples/projects/l0/led_fader/README.md index 74d9927a4..915ae3eef 100644 --- a/examples/projects/l0/led_fader/README.md +++ b/examples/projects/l0/led_fader/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) 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 6c8ee94dc..b53969e72 100644 --- a/examples/projects/l0/led_fader/lib/Led_Fader/README.md +++ b/examples/projects/l0/led_fader/lib/Led_Fader/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using an RGB LED in your projects with Luos. 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/l0/led_strip/README.md b/examples/projects/l0/led_strip/README.md index a189f61fb..2abd8d74d 100644 --- a/examples/projects/l0/led_strip/README.md +++ b/examples/projects/l0/led_strip/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) 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 51e770d29..4fb1ea019 100644 --- a/examples/projects/l0/led_strip/lib/Led_strip/README.md +++ b/examples/projects/l0/led_strip/lib/Led_strip/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a LED strip in your projects with Luos. 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) [![](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/l0/light_sensor/README.md b/examples/projects/l0/light_sensor/README.md index 121fc6579..c885c4953 100644 --- a/examples/projects/l0/light_sensor/README.md +++ b/examples/projects/l0/light_sensor/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) 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 622a6defa..d3124eaf2 100644 --- a/examples/projects/l0/light_sensor/lib/Light_sensor/README.md +++ b/examples/projects/l0/light_sensor/lib/Light_sensor/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a Light sensor in your projects with Luos. 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) [![](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/l0/load/README.md b/examples/projects/l0/load/README.md index 2a04008ee..9675f9f31 100644 --- a/examples/projects/l0/load/README.md +++ b/examples/projects/l0/load/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/load/lib/Load/README.md b/examples/projects/l0/load/lib/Load/README.md index f39a241a8..1c0d59b55 100644 --- a/examples/projects/l0/load/lib/Load/README.md +++ b/examples/projects/l0/load/lib/Load/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a Load sensor in your projects with Luos. 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) [![](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/l0/potentiometer/README.md b/examples/projects/l0/potentiometer/README.md index ca97fbf57..9b438ed0d 100644 --- a/examples/projects/l0/potentiometer/README.md +++ b/examples/projects/l0/potentiometer/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/potentiometer/lib/Potentiometer/README.md b/examples/projects/l0/potentiometer/lib/Potentiometer/README.md index 29c488c4d..29efaebca 100644 --- a/examples/projects/l0/potentiometer/lib/Potentiometer/README.md +++ b/examples/projects/l0/potentiometer/lib/Potentiometer/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a Potentiometer in your projects with Luos. 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) [![](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/l0/power_switch/README.md b/examples/projects/l0/power_switch/README.md index b3566d78d..3676a3fb4 100644 --- a/examples/projects/l0/power_switch/README.md +++ b/examples/projects/l0/power_switch/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) 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 df7a0c642..807fe8069 100644 --- a/examples/projects/l0/power_switch/lib/Power_switch/README.md +++ b/examples/projects/l0/power_switch/lib/Power_switch/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a power switch in your projects with Luos. 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) [![](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/l0/servo/README.md b/examples/projects/l0/servo/README.md index 402c4e0d6..c852b6e95 100644 --- a/examples/projects/l0/servo/README.md +++ b/examples/projects/l0/servo/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/examples/projects/l0/servo/lib/Servo/README.md b/examples/projects/l0/servo/lib/Servo/README.md index 21e60ddae..c87f9aa7f 100644 --- a/examples/projects/l0/servo/lib/Servo/README.md +++ b/examples/projects/l0/servo/lib/Servo/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a servo motor controller in your projects with Luos. 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) [![](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/l0/stepper/README.md b/examples/projects/l0/stepper/README.md index c1b72e0a6..f057bca8d 100644 --- a/examples/projects/l0/stepper/README.md +++ b/examples/projects/l0/stepper/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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://www.luos.io) [![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) diff --git a/examples/projects/l0/stepper/lib/Stepper/README.md b/examples/projects/l0/stepper/lib/Stepper/README.md index 801444b1a..55340484a 100644 --- a/examples/projects/l0/stepper/lib/Stepper/README.md +++ b/examples/projects/l0/stepper/lib/Stepper/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a stepper motor controller in your projects with Luos. 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) [![](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/native/button/README.md b/examples/projects/native/button/README.md index 590f6cd42..90e395499 100644 --- a/examples/projects/native/button/README.md +++ b/examples/projects/native/button/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) -[![](http://certified.luos.io)](https://luos.io) [![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) @@ -28,8 +27,4 @@ You can open [a working example electronic design](https://github.com/Luos-io/lu 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: - -[![](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/docs/) -[![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) +## Don't hesitate to read [our documentation](https://www.luos.io/docs/), or to post your questions/issues on the [Luos' Discord](http://bit.ly/JoinLuosDiscord). :books: diff --git a/examples/projects/native/button/lib/Button/README.md b/examples/projects/native/button/lib/Button/README.md index 17353ed30..3bbdde20a 100644 --- a/examples/projects/native/button/lib/Button/README.md +++ b/examples/projects/native/button/lib/Button/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) [![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) diff --git a/examples/projects/native/gate_wscom/README.md b/examples/projects/native/gate_wscom/README.md index 590f6cd42..90e395499 100644 --- a/examples/projects/native/gate_wscom/README.md +++ b/examples/projects/native/gate_wscom/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) -[![](http://certified.luos.io)](https://luos.io) [![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) @@ -28,8 +27,4 @@ You can open [a working example electronic design](https://github.com/Luos-io/lu 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: - -[![](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/docs/) -[![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) +## Don't hesitate to read [our documentation](https://www.luos.io/docs/), or to post your questions/issues on the [Luos' Discord](http://bit.ly/JoinLuosDiscord). :books: diff --git a/examples/projects/native/led/README.md b/examples/projects/native/led/README.md index 590f6cd42..90e395499 100644 --- a/examples/projects/native/led/README.md +++ b/examples/projects/native/led/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) -[![](http://certified.luos.io)](https://luos.io) [![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) @@ -28,8 +27,4 @@ You can open [a working example electronic design](https://github.com/Luos-io/lu 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: - -[![](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/docs/) -[![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) +## Don't hesitate to read [our documentation](https://www.luos.io/docs/), or to post your questions/issues on the [Luos' Discord](http://bit.ly/JoinLuosDiscord). :books: diff --git a/examples/projects/native/led/lib/Led/README.md b/examples/projects/native/led/lib/Led/README.md index e313365f1..26c751d7e 100644 --- a/examples/projects/native/led/lib/Led/README.md +++ b/examples/projects/native/led/lib/Led/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using an RGB LED in your projects with Luos. 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/docs/) [![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) diff --git a/examples/projects/native/ping_pong/README.md b/examples/projects/native/ping_pong/README.md index 80c83dba6..3630d7664 100644 --- a/examples/projects/native/ping_pong/README.md +++ b/examples/projects/native/ping_pong/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) -[![](http://certified.luos.io)](https://luos.io) [![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) @@ -51,8 +50,4 @@ You only need to have one somewhere running, it's a kind of server, then anyone 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: - -[![](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/docs/) -[![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) +## Don't hesitate to read [our documentation](https://www.luos.io/docs/), or to post your questions/issues on the [Luos' Discord](http://bit.ly/JoinLuosDiscord). :books: diff --git a/examples/projects/native/ping_pong/lib/PingPong/README.md b/examples/projects/native/ping_pong/lib/PingPong/README.md index 17353ed30..3bbdde20a 100644 --- a/examples/projects/native/ping_pong/lib/PingPong/README.md +++ b/examples/projects/native/ping_pong/lib/PingPong/README.md @@ -1,6 +1,5 @@ Luos logo -[![](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) @@ -13,6 +12,5 @@ Driver for using a push button in your projects with Luos. 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) [![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) [![](https://img.shields.io/badge/LinkedIn-Follow%20us-0077B5?style=flat&logo=linkedin)](https://www.linkedin.com/company/luos) diff --git a/examples/projects/product/README.md b/examples/projects/product/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/examples/projects/product/custom_gate/.docker/.dockerignore b/examples/projects/product/custom_gate/.docker/.dockerignore new file mode 100644 index 000000000..55e5d2d0e --- /dev/null +++ b/examples/projects/product/custom_gate/.docker/.dockerignore @@ -0,0 +1,4 @@ +.pio/ +.vscode/ +.gitignore +README.md \ No newline at end of file diff --git a/examples/projects/product/custom_gate/.docker/Dockerfile b/examples/projects/product/custom_gate/.docker/Dockerfile new file mode 100644 index 000000000..a69947544 --- /dev/null +++ b/examples/projects/product/custom_gate/.docker/Dockerfile @@ -0,0 +1,19 @@ +FROM python:3 as builder + +LABEL maintainer="Benjamin Christau " \ + app_name="gate_wscom" + +ENV PLATFORMIO_CORE_DIR="/home" + +WORKDIR /home/app + +COPY . . + +RUN pip install --upgrade pip setuptools wheel platformio && \ + rm -rf /root/.cache/pip + +RUN platformio run \ + --environment native \ + -d ./examples/projects/native/gate_wscom + +CMD [ "./examples/projects/native/gate_wscom/.pio/build/native/program"] diff --git a/examples/projects/product/custom_gate/README.md b/examples/projects/product/custom_gate/README.md new file mode 100644 index 000000000..cd34deef1 --- /dev/null +++ b/examples/projects/product/custom_gate/README.md @@ -0,0 +1,22 @@ +Luos logo + +![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) + +[![](https://img.shields.io/badge/Luos-Documentation-34A3B4)](https://www.luos.io/docs/) +[![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/badge/LinkedIn-Share-0077B5?style=social&logo=linkedin)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fluos-io) + +# Custom Gate project example :bulb: + +This project demonstrate how to make a custom gate with custom Json conversion. + +## 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) + +## Don't hesitate to read [our documentation](https://www.luos.io/docs/), or to post your questions/issues on the [Luos' Discord](http://bit.ly/JoinLuosDiscord). :books: diff --git a/examples/projects/product/custom_gate/node_config.h b/examples/projects/product/custom_gate/node_config.h new file mode 100644 index 000000000..940439740 --- /dev/null +++ b/examples/projects/product/custom_gate/node_config.h @@ -0,0 +1,118 @@ + + +/****************************************************************************** + * @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 + * MAX_SERVICE_NUMBER | 20 | Service 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 + * 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 2 +#define MAX_LOCAL_PROFILE_NUMBER 1 +#define MAX_MSG_NB 200 +#define MSG_BUFFER_SIZE 8192 + +/******************************************************************************* + * 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 CONFIGURATION FOR APP WITH BOOTLOADER + ******************************************************************************** + * Define | Default Value | Description + * :---------------------|------------------------------------------------------ + * BOOT_START_ADDRESS | FLASH_BASE = 0x8000000 | Start address of Bootloader in flash + * SHARED_MEMORY_ADDRESS | 0x0800C000 | Start address of shared memory to save boot flag + * APP_START_ADDRESS | 0x0800C800 | Start address of application with bootloader + * APP_END_ADDRESS | FLASH_BANK1_END=0x0801FFFF | End address of application with bootloader + ******************************************************************************/ + +/******************************************************************************* + * GATE SERIAL COM DEFINITION + ******************************************************************************* + * Define | Default Value | Description + * :-------------------------|------------------------------------------------------ + * GATE_BUFF_SIZE | 1024 | Json receive buffer size + * PIPE_RX_BUFFER_SIZE | 1024 | Receive pipe buffer size + * PIPE_TX_BUFFER_SIZE | 2048 | Transmit pipe buffer size + * INIT_TIME | 150 | Wait init time before first detection + ******************************************************************************/ +#define GATE_BUFF_SIZE 65000 +#define PIPE_RX_BUFFER_SIZE 65000 +#define PIPE_TX_BUFFER_SIZE 65000 +#define SERIAL_RX_BUFFER_SIZE 65000 +#define INIT_TIME 150 +#define GATE_REFRESH_TIME_S 0.05f +#define SERIAL_PORT "/dev/cu.usbmodem1202" // "/dev/cu.usbserial-D308N897" + +#endif /* _NODE_CONFIG_H_ */ diff --git a/examples/projects/product/custom_gate/platformio.ini b/examples/projects/product/custom_gate/platformio.ini new file mode 100644 index 000000000..588e39b9d --- /dev/null +++ b/examples/projects/product/custom_gate/platformio.ini @@ -0,0 +1,38 @@ +; 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 +[platformio] +default_envs = native_serial + +[env:native_serial] +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 + serial_network + Pipe + Gate +build_unflags = -Os +build_flags = + -I inc + -I ../ + -include node_config.h + -O1 + -lpthread + -lm + -D LUOSHAL=NATIVE + -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 diff --git a/examples/projects/product/custom_gate/src/custom_json_conversion.c b/examples/projects/product/custom_gate/src/custom_json_conversion.c new file mode 100644 index 000000000..dce3b73a5 --- /dev/null +++ b/examples/projects/product/custom_gate/src/custom_json_conversion.c @@ -0,0 +1,98 @@ +#include "custom-json.h" +#include "product_config.h" +#include + +// This function are called by the gate conversion functions in case of an unknown type. +// This functions allow you to easily add and manage your custom type and commands. + +// This function is called by the gate to convert a service type into a string. +// This is typically used in the end of detection to create a Json representing the device routing table. +// The name of the type will be used by pyluos to create the right object. +const char *Convert_CustomStringFromType(luos_type_t type) +{ + if (type == POINT_2D) + { + return "point_2D"; + } + return NULL; +} + +// This function is called by the gate to convert a piece of Json into a message. +// This is typically used when a Json is received by the gate with an unknown property. +// You can use it to compose your own message out of the Json data and send it to the right service. +void Convert_CustomJsonToMsg(service_t *service, uint16_t target_id, char *property, const json_t *jobj, char *json_str) +{ + msg_t msg; + msg.header.target_mode = IDACK; + msg.header.target = target_id; + // Target linear position 2D + if (property && !strcmp(property, "linear_pos_2D")) + { + // Check the size of the array. If we have more than one data, this mean that this data is a binary size of a trajectory. If we have 2 data, this is an unique point. + json_t const *item = json_getChild(jobj); + if (json_getSibling(item) != NULL) + { + // We only have one point in this data + pos_2d_t pos; + pos.x = (uint16_t)json_getInteger(item); + item = json_getSibling(item); + pos.y = (uint16_t)json_getInteger(item); + // Create the message + msg.header.cmd = LINEAR_POSITION_2D; + msg.header.size = sizeof(pos_2d_t); + memcpy(msg.data, &pos, sizeof(pos_2d_t)); + // Send the message + Luos_SendMsg(service, &msg); + } + else + { + int i = 0; + // This is a binary + int size = (int)json_getInteger(item); + // Find the first \r of the current json_str + for (i = 0; i < GATE_BUFF_SIZE; i++) + { + if (json_str[i] == '\n') + { + i++; + break; + } + } + if (i < GATE_BUFF_SIZE - 1) + { + // Create the message + msg.header.cmd = LINEAR_POSITION_2D; + Luos_SendData(service, &msg, &json_str[i], (unsigned int)size); + } + } + return; + } + if (property && !strcmp(property, "buffer_mode")) + { + msg.data[0] = (char)json_getInteger(jobj); + msg.header.cmd = BUFFER_MODE; + msg.header.size = sizeof(char); + Luos_SendMsg(service, &msg); + return; + } +} + +// This function is called by the gate to convert a message into a piece of Json. +// This is typically used when a message is received by the gate with an unknown command. +// You can use it to compose your own piece of Json out of the message data. +void Convert_CustomMsgToJson(msg_t *msg, char *data) +{ + if (msg->header.cmd == LINEAR_POSITION_2D) + { + // This is our custom message, so we can convert it to JSON + // In this case we will don't need it but I did the code for the sake of the example. + if (msg->header.size == sizeof(pos_2d_t)) + { + // Size ok, now fill the struct from msg data + pos_2d_t pos; + memcpy(&pos, msg->data, msg->header.size); + // create the Json content + sprintf(data, "\"linear_pos_2D\":[%2d,%2d],", pos.x, pos.y); + } + } +} diff --git a/examples/projects/product/custom_gate/src/main.c b/examples/projects/product/custom_gate/src/main.c new file mode 100644 index 000000000..c82b80661 --- /dev/null +++ b/examples/projects/product/custom_gate/src/main.c @@ -0,0 +1,59 @@ +#include "luos_engine.h" +#include "serial_network.h" +#include "pipe.h" +#include "gate.h" +#include + +#ifndef WIN32 + #include + #include + #include + #include + #include +#endif + +void *Gate_Pipe_LoopThread(void *vargp) +{ + while (1) + { + Pipe_Loop(); + Gate_Loop(); + } + return NULL; +} +#ifndef _WIN32 +void handler(int sig) +{ + void *array[10]; + size_t size; + + // get void*'s for all entries on the stack + size = backtrace(array, 10); + + // print out all the frames to stderr + fprintf(stderr, "Error: signal %d:\n", sig); + backtrace_symbols_fd(array, size, STDERR_FILENO); + exit(1); +} +#endif + +int main(void) +{ +#ifndef _WIN32 + signal(SIGSEGV, handler); // install our handler +#endif + Luos_Init(); + Serial_Init(); + Pipe_Init(); + Gate_Init(); + // Create a thread to convert messages into Json and steam them using Websocket + // pthread_t thread_id; + // pthread_create(&thread_id, NULL, Gate_Pipe_LoopThread, NULL); + while (1) + { + Luos_Loop(); + Serial_Loop(); + Pipe_Loop(); + Gate_Loop(); + } +} diff --git a/examples/projects/product/point_2D.py b/examples/projects/product/point_2D.py new file mode 100644 index 000000000..faf9d8f17 --- /dev/null +++ b/examples/projects/product/point_2D.py @@ -0,0 +1,84 @@ +from pyluos.services.service import Service +import numpy as np + +class Point_2D(Service): + + # control modes + _PLAY = 0 + _PAUSE = 1 + _STOP = 2 + + # buffer modes + _SINGLE = 0 + _CONTINUOUS = 1 + _STREAM = 2 + + def __init__(self, id, alias, device): + Service.__init__(self, 'Point_2D', id, alias, device) + self._point = (0, 0) + self._control = 0 + self._buffer_mode = _SINGLE + self._sampling_freq = 100.0 + + @property + def position(self): + return self._point + + @position.setter + def position(self, new_val): + data = [] + # check if the value is a tuple + if isinstance(new_val, tuple): + self._point = new_val + data = list(new_val) + self._push_value("linear_pos_2D", data) + # check if new_val is a list + elif hasattr(new_val, "__len__"): + # If this is a list of tuples, put all the tuple couple of values on a list + for i in range(len(new_val)): + if isinstance(new_val[i], tuple): + data.append(new_val[i][0]) + data.append(new_val[i][1]) + # send those values in an optimized way as a table of uint16_t + self._push_data('linear_pos_2D', [len(data) * 2], np.array(data, dtype=np.uint16)) # multiplying by the size of uint16_t + else: + raise ValueError("Point_2D.position must be a list") + + def play(self): + self._control = self._PLAY + self._push_value('control', self._control) + + def pause(self): + self._control = self._PAUSE + self._push_value('control', self._control) + + def stop(self): + self._control = self._STOP + self._push_value('control', self._control) + + def single(self): + self._buffer_mode = self._SINGLE + self._push_value('buffer_mode', self._buffer_mode) + + def continuous(self): + self._buffer_mode = self._CONTINUOUS + self._push_value('buffer_mode', self._buffer_mode) + + def stream(self): + self._buffer_mode = self._STREAM + self._push_value('buffer_mode', self._buffer_mode) + + @property + def sampling_freq(self): + return self._sampling_freq + + @sampling_freq.setter + def sampling_freq(self, sampling_freq): + self._sampling_freq = sampling_freq + self._push_value("time", 1.0 / sampling_freq) + + + def _update(self, new_state): + Service._update(self, new_state) + if 'linear_pos_2D' in new_state.keys(): + self._point = new_state['linear_pos_2D'] diff --git a/examples/projects/product/product_config.h b/examples/projects/product/product_config.h new file mode 100644 index 000000000..b2c5d5004 --- /dev/null +++ b/examples/projects/product/product_config.h @@ -0,0 +1,38 @@ +/****************************************************************************** + * @file laser + galvo product_config.h + * @brief A complete product example of a laser + galvo controler with Gate customization. + * @author Luos + * @version 0.0.0 + ******************************************************************************/ +#ifndef PRODUCT_CONFIG_H +#define PRODUCT_CONFIG_H + +#include "luos_engine.h" + +// Definition of a custom service type +typedef enum +{ + POINT_2D = LUOS_LAST_TYPE +} custom_service_type_t; + +// Definition of a custom service command +typedef enum +{ + LINEAR_POSITION_2D = LUOS_LAST_STD_CMD, // uint16_t x, uint16_t y + BUFFER_MODE // 3 different modes: 0: SINGLE, 1: CONTINUOUS, 2: STREAM +} custom_service_cmd_t; + +typedef enum +{ + SINGLE, + CONTINUOUS, + STREAM +} buffer_mode_t; + +typedef struct +{ + uint16_t x; + uint16_t y; +} __attribute__((packed)) pos_2d_t; + +#endif /* PRODUCT_CONFIG_H */ diff --git a/network/robus_network/HAL/README.md b/network/robus_network/HAL/README.md index 8986cac92..20039d0e5 100644 --- a/network/robus_network/HAL/README.md +++ b/network/robus_network/HAL/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/tool_services/README.md b/tool_services/README.md index db0f6c532..f3e7f229c 100644 --- a/tool_services/README.md +++ b/tool_services/README.md @@ -1,10 +1,9 @@ Luos logo ![](https://github.com/Luos-io/luos_engine/actions/workflows/build.yml/badge.svg) -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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/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) diff --git a/tool_services/gate/README.md b/tool_services/gate/README.md index 7eaad7464..1594865b4 100644 --- a/tool_services/gate/README.md +++ b/tool_services/gate/README.md @@ -1,9 +1,8 @@ Luos logo -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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) diff --git a/tool_services/gate/TinyJSON/convert.c b/tool_services/gate/TinyJSON/convert.c index 85c687f6b..2dcd7559a 100644 --- a/tool_services/gate/TinyJSON/convert.c +++ b/tool_services/gate/TinyJSON/convert.c @@ -12,19 +12,54 @@ #include "gate_config.h" #include "pipe_link.h" #include "data_manager.h" -#include "tiny-json.h" #include "bootloader_ex.h" #include "_routing_table.h" +#include "custom-json.h" #define MAX_JSON_FIELDS 50 static const char *Convert_Float(float value); -static void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char *property, const json_t *jobj, msg_t *msg, char *bin_data); +static void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char *property, const json_t *jobj, char *bin_data); static const char *Convert_StringFromType(luos_type_t type); /******************************************************************************* * Tools ******************************************************************************/ + +/****************************************************************************** + * @brief This function can be redefined by users to manage custom Json command to msg + * @param service the service that will need to transmit the message + * @param target_id the id of the targetted service + * @param property the property name + * @param jobj the json object containing the data of the property + * @param json_str the complete json string. You may need to use it to extract binary data in the end of the string (after \r) + * @return None + ******************************************************************************/ +__attribute__((weak)) void Convert_CustomJsonToMsg(service_t *service, uint16_t target_id, char *property, const json_t *jobj, char *json_str) +{ + return; +} + +/****************************************************************************** + * @brief This function can be redefined by users to manage custom msg command to Json + * @param None + * @return None + ******************************************************************************/ +__attribute__((weak)) void Convert_CustomMsgToJson(msg_t *msg, char *data) +{ + return; +} + +/****************************************************************************** + * @brief This function can be redefined by users to manage custom type to string + * @param type the type to convert + * @return None + ******************************************************************************/ +__attribute__((weak)) const char *Convert_CustomStringFromType(luos_type_t type) +{ + return NULL; +} + // This function reduce Float to string convertion without FPU to 1/3 of normal time. // This function have been inspired by Benoit Blanchon Blog : https://blog.benoitblanchon.fr/lightweight-float-to-string/ const char *Convert_Float(float value) @@ -63,10 +98,9 @@ const char *Convert_Float(float value) * Luos Json data to Luos messages conversion ******************************************************************************/ // Convert a Json into messages -void Convert_DataToLuos(service_t *service, char *data) +void Convert_DataToMsg(service_t *service, char *data) { json_t pool[MAX_JSON_FIELDS]; - msg_t msg; // check if we have a complete received command json_t const *root = json_create(data, pool, MAX_JSON_FIELDS); @@ -121,7 +155,7 @@ void Convert_DataToLuos(service_t *service, char *data) while (parameter_jsn != NULL) { char *property = (char *)json_getName(parameter_jsn); - Convert_JsonToMsg(service, result.result_table[0]->id, result.result_table[0]->type, property, parameter_jsn, &msg, (char *)data); + Convert_JsonToMsg(service, result.result_table[0]->id, result.result_table[0]->type, property, parameter_jsn, (char *)data); parameter_jsn = json_getSibling(parameter_jsn); } // Get next service @@ -131,20 +165,21 @@ void Convert_DataToLuos(service_t *service, char *data) } } // Create msg from a service json data -void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char *property, const json_t *jobj, msg_t *msg, char *bin_data) +void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char *property, const json_t *jobj, char *bin_data) { time_luos_t time; + msg_t msg; float data = 0.0; - msg->header.target_mode = SERVICEIDACK; - msg->header.target = id; + msg.header.target_mode = SERVICEIDACK; + msg.header.target = id; const uint16_t property_type = json_getType(jobj); //********** global convertion*********** // ratio if ((property && !strcmp(property, "power_ratio")) && ((property_type == JSON_REAL) || (property_type == JSON_INTEGER))) { ratio_t ratio = RatioOD_RatioFrom_Percent(json_getReal(jobj)); - RatioOD_RatioToMsg(&ratio, msg); - while (Luos_SendMsg(service, msg) == FAILED) + RatioOD_RatioToMsg(&ratio, &msg); + while (Luos_SendMsg(service, &msg) == FAILED) { Luos_Loop(); } @@ -156,8 +191,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * if ((property_type == JSON_REAL) || (property_type == JSON_INTEGER)) { angular_position_t angular_position = AngularOD_PositionFrom_deg(json_getReal(jobj)); - AngularOD_PositionToMsg(&angular_position, msg); - Luos_SendMsg(service, msg); + AngularOD_PositionToMsg(&angular_position, &msg); + Luos_SendMsg(service, &msg); return; } if (property_type == JSON_ARRAY) @@ -176,8 +211,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * } if (i < GATE_BUFF_SIZE - 1) { - msg->header.cmd = ANGULAR_POSITION; - Luos_SendData(service, msg, &bin_data[i], (unsigned int)size); + msg.header.cmd = ANGULAR_POSITION; + Luos_SendData(service, &msg, &bin_data[i], (unsigned int)size); } return; } @@ -191,10 +226,10 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * limits[0] = AngularOD_PositionFrom_deg(json_getReal(item)); item = json_getSibling(item); limits[1] = AngularOD_PositionFrom_deg(json_getReal(item)); - memcpy(&msg->data[0], limits, 2 * sizeof(float)); - msg->header.cmd = ANGULAR_POSITION_LIMIT; - msg->header.size = 2 * sizeof(float); - Luos_SendMsg(service, msg); + memcpy(&msg.data[0], limits, 2 * sizeof(float)); + msg.header.cmd = ANGULAR_POSITION_LIMIT; + msg.header.size = 2 * sizeof(float); + Luos_SendMsg(service, &msg); return; } // Limit linear position @@ -205,10 +240,10 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * limits[0] = LinearOD_PositionFrom_mm(json_getReal(item)); item = json_getSibling(item); limits[1] = LinearOD_PositionFrom_mm(json_getReal(item)); - memcpy(&msg->data[0], limits, 2 * sizeof(linear_position_t)); - msg->header.cmd = LINEAR_POSITION_LIMIT; - msg->header.size = 2 * sizeof(linear_position_t); - Luos_SendMsg(service, msg); + memcpy(&msg.data[0], limits, 2 * sizeof(linear_position_t)); + msg.header.cmd = LINEAR_POSITION_LIMIT; + msg.header.size = 2 * sizeof(linear_position_t); + Luos_SendMsg(service, &msg); return; } // Limit angular speed @@ -219,10 +254,10 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * limits[0] = AngularOD_SpeedFrom_deg_s(json_getReal(item)); item = json_getSibling(item); limits[1] = AngularOD_SpeedFrom_deg_s(json_getReal(item)); - memcpy(&msg->data[0], limits, 2 * sizeof(float)); - msg->header.cmd = ANGULAR_SPEED_LIMIT; - msg->header.size = 2 * sizeof(float); - Luos_SendMsg(service, msg); + memcpy(&msg.data[0], limits, 2 * sizeof(float)); + msg.header.cmd = ANGULAR_SPEED_LIMIT; + msg.header.size = 2 * sizeof(float); + Luos_SendMsg(service, &msg); return; } // Limit linear speed @@ -233,28 +268,28 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * limits[0] = LinearOD_SpeedFrom_mm_s(json_getReal(item)); item = json_getSibling(item); limits[1] = LinearOD_SpeedFrom_mm_s(json_getReal(item)); - memcpy(&msg->data[0], limits, 2 * sizeof(linear_speed_t)); - msg->header.cmd = LINEAR_SPEED_LIMIT; - msg->header.size = 2 * sizeof(linear_speed_t); - Luos_SendMsg(service, msg); + memcpy(&msg.data[0], limits, 2 * sizeof(linear_speed_t)); + msg.header.cmd = LINEAR_SPEED_LIMIT; + msg.header.size = 2 * sizeof(linear_speed_t); + Luos_SendMsg(service, &msg); return; } // Limit ratio if ((property && !strcmp(property, "limit_power")) && ((property_type == JSON_REAL) || (property_type == JSON_INTEGER))) { ratio_t ratio = RatioOD_RatioFrom_Percent((float)json_getReal(jobj)); - RatioOD_RatioToMsg(&ratio, msg); - msg->header.cmd = RATIO_LIMIT; - Luos_SendMsg(service, msg); + RatioOD_RatioToMsg(&ratio, &msg); + msg.header.cmd = RATIO_LIMIT; + Luos_SendMsg(service, &msg); return; } // Limit current if ((property && !strcmp(property, "limit_current")) && ((property_type == JSON_REAL) || (property_type == JSON_INTEGER))) { current_t current = ElectricOD_CurrentFrom_A(json_getReal(jobj)); - ElectricOD_CurrentToMsg(¤t, msg); - msg->header.cmd = CURRENT_LIMIT; - Luos_SendMsg(service, msg); + ElectricOD_CurrentToMsg(¤t, &msg); + msg.header.cmd = CURRENT_LIMIT; + Luos_SendMsg(service, &msg); return; } // target Rotation speed @@ -264,8 +299,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * { // this should be a function because it is frequently used angular_speed_t angular_speed = AngularOD_SpeedFrom_deg_s((float)json_getReal(jobj)); - AngularOD_SpeedToMsg(&angular_speed, msg); - Luos_SendMsg(service, msg); + AngularOD_SpeedToMsg(&angular_speed, &msg); + Luos_SendMsg(service, &msg); return; } if (property_type == JSON_ARRAY) @@ -284,8 +319,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * } if (i < GATE_BUFF_SIZE - 1) { - msg->header.cmd = ANGULAR_SPEED; - Luos_SendData(service, msg, &bin_data[i], (unsigned int)size); + msg.header.cmd = ANGULAR_SPEED; + Luos_SendData(service, &msg, &bin_data[i], (unsigned int)size); } return; } @@ -297,8 +332,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * if ((property_type == JSON_REAL) || (property_type == JSON_INTEGER)) { linear_position_t linear_position = LinearOD_PositionFrom_m((float)json_getReal(jobj)); - LinearOD_PositionToMsg(&linear_position, msg); - Luos_SendMsg(service, msg); + LinearOD_PositionToMsg(&linear_position, &msg); + Luos_SendMsg(service, &msg); return; } if (property_type == JSON_ARRAY) @@ -317,9 +352,9 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * } if (i < GATE_BUFF_SIZE - 1) { - msg->header.cmd = LINEAR_POSITION; + msg.header.cmd = LINEAR_POSITION; // todo WATCHOUT this could be mm ! - Luos_SendData(service, msg, &bin_data[i], (unsigned int)size); + Luos_SendData(service, &msg, &bin_data[i], (unsigned int)size); } return; } @@ -328,8 +363,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * if ((property && !strcmp(property, "target_trans_speed")) && ((property_type == JSON_REAL) || (property_type == JSON_INTEGER))) { linear_speed_t linear_speed = LinearOD_SpeedFrom_mm_s((float)json_getReal(jobj)); - LinearOD_SpeedToMsg(&linear_speed, msg); - Luos_SendMsg(service, msg); + LinearOD_SpeedToMsg(&linear_speed, &msg); + Luos_SendMsg(service, &msg); return; } // time @@ -337,8 +372,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * { // this should be a function because it is frequently used time = TimeOD_TimeFrom_s((float)json_getReal(jobj)); - TimeOD_TimeToMsg(&time, msg); - Luos_SendMsg(service, msg); + TimeOD_TimeToMsg(&time, &msg); + Luos_SendMsg(service, &msg); return; } // Pid @@ -351,10 +386,10 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * pid[i] = (float)json_getReal(item); item = json_getSibling(item); } - memcpy(&msg->data[0], pid, sizeof(asserv_pid_t)); - msg->header.cmd = PID; - msg->header.size = sizeof(asserv_pid_t); - Luos_SendMsg(service, msg); + memcpy(&msg.data[0], pid, sizeof(asserv_pid_t)); + msg.header.cmd = PID; + msg.header.size = sizeof(asserv_pid_t); + Luos_SendMsg(service, &msg); return; } // resolution @@ -362,10 +397,10 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * { // this should be a function because it is frequently used data = (float)json_getReal(jobj); - memcpy(msg->data, &data, sizeof(data)); - msg->header.cmd = RESOLUTION; - msg->header.size = sizeof(data); - Luos_SendMsg(service, msg); + memcpy(msg.data, &data, sizeof(data)); + msg.header.cmd = RESOLUTION; + msg.header.size = sizeof(data); + Luos_SendMsg(service, &msg); return; } // offset @@ -373,10 +408,10 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * { // this should be a function because it is frequently used data = (float)json_getReal(jobj); - memcpy(msg->data, &data, sizeof(data)); - msg->header.cmd = OFFSET; - msg->header.size = sizeof(data); - Luos_SendMsg(service, msg); + memcpy(msg.data, &data, sizeof(data)); + msg.header.cmd = OFFSET; + msg.header.size = sizeof(data); + Luos_SendMsg(service, &msg); return; } // reduction ratio @@ -384,20 +419,20 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * { // this should be a function because it is frequently used data = (float)json_getReal(jobj); - memcpy(msg->data, &data, sizeof(data)); - msg->header.cmd = REDUCTION; - msg->header.size = sizeof(data); - Luos_SendMsg(service, msg); + memcpy(msg.data, &data, sizeof(data)); + msg.header.cmd = REDUCTION; + msg.header.size = sizeof(data); + Luos_SendMsg(service, &msg); return; } // dimension (m) if ((property && !strcmp(property, "dimension")) && ((property_type == JSON_REAL) || (property_type == JSON_INTEGER))) { linear_position_t linear_position = LinearOD_PositionFrom_mm((float)json_getReal(jobj)); - LinearOD_PositionToMsg(&linear_position, msg); + LinearOD_PositionToMsg(&linear_position, &msg); // redefine a specific message type. - msg->header.cmd = DIMENSION; - Luos_SendMsg(service, msg); + msg.header.cmd = DIMENSION; + Luos_SendMsg(service, &msg); return; } // voltage @@ -405,25 +440,25 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * { // this should be a function because it is frequently used voltage_t volt = ElectricOD_VoltageFrom_V((float)json_getReal(jobj)); - ElectricOD_VoltageToMsg(&volt, msg); - Luos_SendMsg(service, msg); + ElectricOD_VoltageToMsg(&volt, &msg); + Luos_SendMsg(service, &msg); return; } // reinit if (property && !strcmp(property, "reinit")) { - msg->header.cmd = REINIT; - msg->header.size = 0; - Luos_SendMsg(service, msg); + msg.header.cmd = REINIT; + msg.header.size = 0; + Luos_SendMsg(service, &msg); return; } // control (play, pause, stop, rec) if ((property && !strcmp(property, "control")) && (property_type == JSON_INTEGER)) { - msg->data[0] = json_getInteger(jobj); - msg->header.cmd = CONTROL; - msg->header.size = sizeof(control_t); - Luos_SendMsg(service, msg); + msg.data[0] = json_getInteger(jobj); + msg.header.cmd = CONTROL; + msg.header.size = sizeof(control_t); + Luos_SendMsg(service, &msg); return; } // Pressure @@ -431,10 +466,10 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * { // this should be a function because it is frequently used data = (float)json_getReal(jobj); - memcpy(msg->data, &data, sizeof(data)); - msg->header.cmd = PRESSURE; - msg->header.size = sizeof(data); - Luos_SendMsg(service, msg); + memcpy(msg.data, &data, sizeof(data)); + msg.header.cmd = PRESSURE; + msg.header.size = sizeof(data); + Luos_SendMsg(service, &msg); return; } // Color @@ -449,8 +484,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * color.unmap[i] = (char)json_getInteger(item); item = json_getSibling(item); } - IlluminanceOD_ColorToMsg(&color, msg); - Luos_SendMsg(service, msg); + IlluminanceOD_ColorToMsg(&color, &msg); + Luos_SendMsg(service, &msg); } else { @@ -468,8 +503,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * } if (i < GATE_BUFF_SIZE - 1) { - msg->header.cmd = COLOR; - Luos_SendData(service, msg, &bin_data[i], (unsigned int)size); + msg.header.cmd = COLOR; + Luos_SendData(service, &msg, &bin_data[i], (unsigned int)size); } } return; @@ -477,10 +512,10 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * // IO_STATE if ((property && !strcmp(property, "io_state")) && (property_type == JSON_BOOLEAN)) { - msg->data[0] = json_getBoolean(jobj); - msg->header.cmd = IO_STATE; - msg->header.size = sizeof(char); - Luos_SendMsg(service, msg); + msg.data[0] = json_getBoolean(jobj); + msg.header.cmd = IO_STATE; + msg.header.size = sizeof(char); + Luos_SendMsg(service, &msg); return; } // update time @@ -490,9 +525,9 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * { // this should be a function because it is frequently used time = TimeOD_TimeFrom_s((float)json_getReal(jobj)); - TimeOD_TimeToMsg(&time, msg); - msg->header.cmd = UPDATE_PUB; - Luos_SendMsg(service, msg); + TimeOD_TimeToMsg(&time, &msg); + msg.header.cmd = UPDATE_PUB; + Luos_SendMsg(service, &msg); } else { @@ -506,48 +541,48 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * if ((property && !strcmp(property, "rename")) && (property_type == JSON_TEXT)) { // In this case we need to send the message as system message - int i = 0; - char *alias = (char *)json_getValue(jobj); - msg->header.size = strlen(alias); + int i = 0; + char *alias = (char *)json_getValue(jobj); + msg.header.size = strlen(alias); // Change size to fit into 16 characters - if (msg->header.size > 15) + if (msg.header.size > 15) { - msg->header.size = 15; + msg.header.size = 15; } // Clean the '\0' even if we short the alias - alias[msg->header.size] = '\0'; + alias[msg.header.size] = '\0'; // Copy the alias into the data field of the message - for (i = 0; i < msg->header.size; i++) + for (i = 0; i < msg.header.size; i++) { - msg->data[i] = alias[i]; + msg.data[i] = alias[i]; } - msg->data[msg->header.size] = '\0'; - msg->header.cmd = WRITE_ALIAS; - Luos_SendMsg(service, msg); + msg.data[msg.header.size] = '\0'; + msg.header.cmd = WRITE_ALIAS; + Luos_SendMsg(service, &msg); return; } // FIRMWARE REVISION if (property && !strcmp(property, "revision")) { - msg->header.cmd = REVISION; - msg->header.size = 0; - Luos_SendMsg(service, msg); + msg.header.cmd = REVISION; + msg.header.size = 0; + Luos_SendMsg(service, &msg); return; } // Luos REVISION if (property && !strcmp(property, "luos_revision")) { - msg->header.cmd = LUOS_REVISION; - msg->header.size = 0; - Luos_SendMsg(service, msg); + msg.header.cmd = LUOS_REVISION; + msg.header.size = 0; + Luos_SendMsg(service, &msg); return; } // Luos STAT if (property && !strcmp(property, "luos_statistics")) { - msg->header.cmd = LUOS_STATISTICS; - msg->header.size = 0; - Luos_SendMsg(service, msg); + msg.header.cmd = LUOS_STATISTICS; + msg.header.size = 0; + Luos_SendMsg(service, &msg); return; } // Parameters @@ -556,10 +591,10 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * if (property_type == JSON_INTEGER) { uint32_t val = (uint32_t)json_getInteger(jobj); - memcpy(msg->data, &val, sizeof(uint32_t)); - msg->header.size = 4; - msg->header.cmd = PARAMETERS; - Luos_SendMsg(service, msg); + memcpy(msg.data, &val, sizeof(uint32_t)); + msg.header.size = 4; + msg.header.cmd = PARAMETERS; + Luos_SendMsg(service, &msg); return; } if (property_type == JSON_ARRAY) @@ -573,12 +608,12 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * for (val = item; val != 0; val = json_getSibling(val)) { uint32_t value = (uint32_t)json_getInteger(val); - memcpy(&msg->data[i * sizeof(uint32_t)], &value, sizeof(uint32_t)); + memcpy(&msg.data[i * sizeof(uint32_t)], &value, sizeof(uint32_t)); i++; } - msg->header.cmd = PARAMETERS; - msg->header.size = i * sizeof(uint32_t); - Luos_SendMsg(service, msg); + msg.header.cmd = PARAMETERS; + msg.header.size = i * sizeof(uint32_t); + Luos_SendMsg(service, &msg); } else { @@ -596,8 +631,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * } if (i < GATE_BUFF_SIZE - 1) { - msg->header.cmd = PARAMETERS; - Luos_SendData(service, msg, &bin_data[i], (unsigned int)size); + msg.header.cmd = PARAMETERS; + Luos_SendData(service, &msg, &bin_data[i], (unsigned int)size); } } return; @@ -616,12 +651,12 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * for (val = item; val != 0; val = json_getSibling(val)) { uint32_t value = (uint32_t)json_getInteger(val); - memcpy(&msg->data[i * sizeof(uint32_t)], &value, sizeof(uint32_t)); + memcpy(&msg.data[i * sizeof(uint32_t)], &value, sizeof(uint32_t)); i++; } - msg->header.cmd = REGISTER; - msg->header.size = i * sizeof(uint32_t); - Luos_SendMsg(service, msg); + msg.header.cmd = REGISTER; + msg.header.size = i * sizeof(uint32_t); + Luos_SendMsg(service, &msg); } else { @@ -639,8 +674,8 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * } if (i < GATE_BUFF_SIZE - 1) { - msg->header.cmd = REGISTER; - Luos_SendData(service, msg, &bin_data[i], (unsigned int)size); + msg.header.cmd = REGISTER; + Luos_SendData(service, &msg, &bin_data[i], (unsigned int)size); } } return; @@ -648,12 +683,16 @@ void Convert_JsonToMsg(service_t *service, uint16_t id, luos_type_t type, char * // Set_id if ((property && !strcmp(property, "set_id")) && (property_type == JSON_INTEGER)) { - msg->data[0] = (char)json_getInteger(jobj); - msg->header.cmd = SETID; - msg->header.size = sizeof(char); - Luos_SendMsg(service, msg); + msg.data[0] = (char)json_getInteger(jobj); + msg.header.cmd = SETID; + msg.header.size = sizeof(char); + Luos_SendMsg(service, &msg); return; } + + // If we reach the end of this function, this is because this command is not known by the gate. + // So we call the optional custom function to manage it. + Convert_CustomJsonToMsg(service, id, property, jobj, bin_data); } /******************************************************************************* @@ -881,6 +920,9 @@ uint16_t Convert_MsgToData(msg_t *msg, char *data) } break; default: + // If we reach this point, this is because the command is not known by the gate. + // So we call the optional custom function to manage it. + Convert_CustomMsgToJson(msg, data); break; } return (uint16_t)strlen(data); @@ -1063,6 +1105,10 @@ const char *Convert_StringFromType(luos_type_t type) return "Pressure"; break; default: + if (Convert_CustomStringFromType(type) != NULL) + { + return Convert_CustomStringFromType(type); + } return "Unknown"; break; } diff --git a/tool_services/gate/TinyJSON/custom-json.h b/tool_services/gate/TinyJSON/custom-json.h new file mode 100644 index 000000000..91c102398 --- /dev/null +++ b/tool_services/gate/TinyJSON/custom-json.h @@ -0,0 +1,13 @@ +/****************************************************************************** + * @file custom-json + * @brief Function allowing users to add custom data management to Luos Json conversion + * @author Luos + * @version 0.0.0 + ******************************************************************************/ + +#include "tiny-json.h" +#include "luos_engine.h" + +void Convert_CustomJsonToMsg(service_t *service, uint16_t target_id, char *property, const json_t *jobj, char *json_str); +void Convert_CustomMsgToJson(msg_t *msg, char *data); +const char *Convert_CustomStringFromType(luos_type_t type); diff --git a/tool_services/gate/convert.h b/tool_services/gate/convert.h index 46ad2cfeb..600bf53a1 100644 --- a/tool_services/gate/convert.h +++ b/tool_services/gate/convert.h @@ -26,7 +26,7 @@ typedef struct } servo_parameters_t; // Luos data to Luos messages convertion -void Convert_DataToLuos(service_t *service, char *data); +void Convert_DataToMsg(service_t *service, char *data); // Luos service information to Data convertion uint16_t Convert_StartData(char *data); diff --git a/tool_services/gate/data_manager.c b/tool_services/gate/data_manager.c index 23d75aeee..6c1e74875 100644 --- a/tool_services/gate/data_manager.c +++ b/tool_services/gate/data_manager.c @@ -87,7 +87,7 @@ void DataManager_RunPipeOnly(service_t *service) if (Luos_ReceiveData(service, &data_msg, data_cmd) > 0) { // We finish to receive this data, execute the received command - Convert_DataToLuos(service, data_cmd); + Convert_DataToMsg(service, data_cmd); } } } @@ -199,7 +199,7 @@ void DataManager_Format(service_t *service) while (size > 0 && *data_ptr == '{') { uint32_t data_consumed = strlen(data_ptr) + 1; - Convert_DataToLuos(service, data_ptr); + Convert_DataToMsg(service, data_ptr); size -= data_consumed; data_ptr += data_consumed; } diff --git a/tool_services/pipe/README.md b/tool_services/pipe/README.md index 691125593..03b6465cb 100644 --- a/tool_services/pipe/README.md +++ b/tool_services/pipe/README.md @@ -1,9 +1,8 @@ Luos logo -[![](https://img.shields.io/github/license/Luos-io/Luos)](https://github.com/Luos-io/luos_engine/blob/master/LICENSE) +[![](https://img.shields.io/github/license/Luos-io/luos_engine)](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)