Skip to content

Commit

Permalink
Revert "Fix broken links in the last test"
Browse files Browse the repository at this point in the history
This reverts commit 10e3e7c.
  • Loading branch information
K0rdan committed Aug 11, 2022
1 parent 10e3e7c commit ab300a9
Show file tree
Hide file tree
Showing 54 changed files with 113 additions and 119 deletions.
24 changes: 9 additions & 15 deletions apps/documentation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,31 +8,25 @@
[![](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Unleash%20electronic%20devices%20as%20microservices%20thanks%20to%20Luos&https://luos.io&via=Luos_io&hashtags=embeddedsystems,electronics,microservices,api)

# Documentation

## The most for the developer​

Luos provides a simple way to think your hardware products as a group of independant features. You can easily manage and share your hardware products' features with your team, external developers, or with the community. Luos is an open-source lightweight library that can be used on any MCU, leading to free and fast multi-electronic-boards products development. Choosing Luos to design a product will help you to develop, debug, validate, monitor, and manage it from the cloud.

- → Go to the [Luos Documentation](https://docs.luos.io)
* → Go to the [Luos Documentation](https://docs.luos.io)

## The most for the community​

Most of the embedded developments are made from scratch. By using Luos, you will be able to capitalize on the development you, your company, or the Luos community already did. The re-usability of features encapsulated in Luos services will fasten the time your products reach the market and reassure the robustness and the universality of your applications.

- → Join the [Luos Discord Community](https://discord.gg/luos)
- → Join the [Luos Reddit Community](http://bit.ly/JoinLuosReddit)
* → Join the [Luos Discord Community](https://discord.gg/luos)
* → Join the [Luos Reddit Community](http://bit.ly/JoinLuosReddit)

## Good practices with Luos​

Luos proposes organized and effective development practices, guaranteeing development flexibility and evolutivity of your hardware product, from the idea to the maintenance of the industrialized product fleet.

## Let's do this​

This section details the features of Luos technology as an embedded development platform, following these subjects:

- Let's test through the [Luos get started](https://docs.luos.io/get-started/get-started/), to build, flash, run, and control your very first Luos code.
- The [Basics of Luos](https://docs.luos.io/docs/test/luos-technology/basics/basics), explaining the general concepts and the project organization.
- Definition of [Nodes](https://docs.luos.io/docs/test/luos-technology/node/node), and the relation between Luos and the physical world.
- Definition of [Packages](https://docs.luos.io/docs/test/luos-technology/package/package), and how to make a portable and reusable development.
- Definition of [Services](https://docs.luos.io/docs/test/luos-technology/services/services), how to create and declare features in your product.
- Definition of [Messages](https://docs.luos.io/docs/test/luos-technology/message/message), when, why, and how to handle them, explaining the more advanced features of Luos.
* Let's test through the [Luos get started](https://docs.luos.io/get-started/get-started/), to build, flash, run, and control your very first Luos code.
* The [Basics of Luos](https://docs.luos.io/docs/luos-technology/basics/basics), explaining the general concepts and the project organization.
* Definition of [Nodes](https://docs.luos.io/docs/luos-technology/node/node), and the relation between Luos and the physical world.
* Definition of [Packages](https://docs.luos.io/docs/luos-technology/package/package), and how to make a portable and reusable development.
* Definition of [Services](https://docs.luos.io/docs/luos-technology/services/services), how to create and declare features in your product.
* Definition of [Messages](https://docs.luos.io/docs/luos-technology/message/message), when, why, and how to handle them, explaining the more advanced features of Luos.
2 changes: 1 addition & 1 deletion apps/documentation/blog/2020-01-13-lift-banana-motors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ The choice is obvious.

Additionally, famous and cheap tools (like electronic boards Arduino, Raspberry Pi, _etc._) allow people who are not professional to gain accessible robotics by controlling many kinds of motors, including servo motors.

[Our tutorials](/docs/test/luos-technology/services/profile) help you discover how to control your servo motor with Luos.
[Our tutorials](/docs/luos-technology/services/profile) help you discover how to control your servo motor with Luos.

By the way, we developed a little video showing a few command lines to make a servo motor work:

Expand Down
8 changes: 4 additions & 4 deletions apps/documentation/blog/2021-08-13-release-v130.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ This new type of driver can be used for different purposes, and the gate App nee

As a gate user, you will only have to adapt this Pipe driver to your needs. The gate will deal with it.

More details about this can be found in the [Gate](/docs/test/tools/gate) section of our documentation.
More details about this can be found in the [Gate](/docs/tools/gate) section of our documentation.

<h3> 🆕 Feature: Add access management to container </h3>

Expand Down Expand Up @@ -81,11 +81,11 @@ More details in our documentation.

When it comes to developing the behavior of your machine, you will have to access some drivers.

With Luos, all the resources of your system are resumed into a [routing_table structure](/docs/test/luos-technology/services/routing-table). This structure allows you to find the resources you need to make your application work. We are constantly updating and optimizing the functions allowing you to easily find the resources you need.
With Luos, all the resources of your system are resumed into a [routing_table structure](/docs/luos-technology/services/routing-table). This structure allows you to find the resources you need to make your application work. We are constantly updating and optimizing the functions allowing you to easily find the resources you need.

In this revision 1.3.0 of Luos, we added index research, giving you the most optimized way of getting resource information.

More details about this are on the [routing_table](/docs/test/luos-technology/services/routing-table) section of our documentation.
More details about this are on the [routing_table](/docs/luos-technology/services/routing-table) section of our documentation.

<h3> 🆕 Feature: Localhost verbose management </h3>

Expand All @@ -97,7 +97,7 @@ This is a huge deal to improve your Luos system performances, and you should tak

If you need to get all the data into the network, for example for debugging purposes, you can use the **VERBOSE_LOCALHOST** build flag that disables this feature!

More details about this subject in the [messages handling](/docs/test/luos-technology/message/handling-message) section of our documentation.
More details about this subject in the [messages handling](/docs/luos-technology/message/handling-message) section of our documentation.

<h3> 🛠️ Fix: Streaming better management for DMA transmission </h3>

Expand Down
6 changes: 3 additions & 3 deletions apps/documentation/blog/2021-09-13-release-v200.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@ This is the seventh release of Luos. We described below the various features and

<h3> 🆕 Feature: Profiles to simplify user API </h3>

Profiles are predefined structures representing a service type. Since Luos 2.0.0 you can comply services to a specific profile allowing anyone to know how your feature work. For example, any kind of motor (stepper, brushless, Dynamixel, ...) can use the servo-motor profile, then you can control any of them exactly the same way. Profiles also simplify your motor driver development. Instead of dealing with messages, profiles give you input and output variables to interact with anything else (other services, cloud app, ...). You can easily create your own profiles and share them with the community or with your team as a feature API definition. [More information on our documentation](/docs/test/luos-technology/services/profile)
Profiles are predefined structures representing a service type. Since Luos 2.0.0 you can comply services to a specific profile allowing anyone to know how your feature work. For example, any kind of motor (stepper, brushless, Dynamixel, ...) can use the servo-motor profile, then you can control any of them exactly the same way. Profiles also simplify your motor driver development. Instead of dealing with messages, profiles give you input and output variables to interact with anything else (other services, cloud app, ...). You can easily create your own profiles and share them with the community or with your team as a feature API definition. [More information on our documentation](/docs/luos-technology/services/profile)

<h3> 🆕 Feature: Packages to simplify portability </h3>

Packages allow you to store your embedded code features on sharable folders. So you can move those easily from one project to another and share it with the community. We have big plans for this feature so keep in touch... [more information about packages](/docs/test/luos-technology/package)
Packages allow you to store your embedded code features on sharable folders. So you can move those easily from one project to another and share it with the community. We have big plans for this feature so keep in touch... [more information about packages](/docs/luos-technology/package)

<h3> 🆕 Feature: Bootloader </h3>

This feature is the big new one everyone has asked us for years. Now, you can compile luos in bootloader mode. By compiling it this way you can flash it to your board then use the Luos network through a gate to update your board firmware. This allows you to update any board anywhere on your device without having physical access to it. [More information about bootloader](/docs/test/tools/boot)
This feature is the big new one everyone has asked us for years. Now, you can compile luos in bootloader mode. By compiling it this way you can flash it to your board then use the Luos network through a gate to update your board firmware. This allows you to update any board anywhere on your device without having physical access to it. [More information about bootloader](/docs/tools/boot)

🛠️ Fix: ATSAMD21 register typography

Expand Down
2 changes: 1 addition & 1 deletion apps/documentation/blog/2021-10-13-profiles.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ For example, any motor (stepper, brushless, Dynamixel, ...) can use the servo-mo

You can easily create your own profiles and share them with the community or your team as a feature API definition. Luos is **open-source**.

[Check the Luos documentation dedicated to profiles](/docs/test/luos-technology/services/profile)
[Check the Luos documentation dedicated to profiles](/docs/luos-technology/services/profile)

[Get Started with Luos](/tutorials/get-started)
2 changes: 1 addition & 1 deletion apps/documentation/blog/2021-11-13-embedded-packages.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ date: 2021-11-13T10:00

Packages allow you to store your embedded code features on sharable folders. So you can move those easily from one project to another and share them with the community.

We have big plans for this feature so keep in touch... [more information about packages](/docs/test/luos-technology/package)
We have big plans for this feature so keep in touch... [more information about packages](/docs/luos-technology/package)

[Get Started with Luos](/tutorials/get-started)
2 changes: 1 addition & 1 deletion apps/documentation/blog/2021-12-13-bootloader.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ This feature is the big new one everyone has asked us for years. Now, you can co

This allows you to update any board/firmware anywhere on your device without having physical access to it.

[More information about bootloader](/docs/test/tools/boot)
[More information about bootloader](/docs/tools/boot)

[Get Started with Luos](/tutorials/get-started)
2 changes: 1 addition & 1 deletion apps/documentation/blog/2022-01-13-gate-discovering.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ New feature: "Gate discovering"

Some of you struggle to find a device gate over USB or IP. We add a feature to gate that allows you to list all the gates available on your embedded system, directly from the opensource Luos Python library Pyluos.

[Discover our documentation](/docs/test/tools/gate)
[Discover our documentation](/docs/tools/gate)

[Get Started with Luos](/tutorials/get-started)
6 changes: 3 additions & 3 deletions apps/documentation/blog/2022-04-15-web-app-alpha-version.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ With our first try to connect embedded systems with a Javascript app, we based o

This normative-like document is near the _Web Bluetooth API_ and _Web USB API_, among other things. This promises us great compatibility if it works fine!

On the other side, we developed an application service called [Gate](/docs/test/tools/gate), which was intended to convert the Luos “generic software representation” into a JSON format.
On the other side, we developed an application service called [Gate](/docs/tools/gate), which was intended to convert the Luos “generic software representation” into a JSON format.

The main advantages of the Gate were:

Expand All @@ -51,7 +51,7 @@ But it came with drawbacks. Here are some of them:

In the second iteration of our connectivity between a Javascript app and an embedded system, we worked on the way to gather all the messages emitted into a Luos network and then transmit them to our app.

To do that, we created a tool called [Sniffer](/docs/test/tools/monitoring#sniffer). The Sniffer tool came with a new communication protocol closer to the embedded one but also with drawbacks, and one of them was the design itself; a Sniffer can’t act on the embedded system!
To do that, we created a tool called [Sniffer](/docs/tools/monitoring#sniffer). The Sniffer tool came with a new communication protocol closer to the embedded one but also with drawbacks, and one of them was the design itself; a Sniffer can’t act on the embedded system!

<h2> The solution 📐 </h2>

Expand Down Expand Up @@ -89,7 +89,7 @@ As you can see in figure 1, the data is encapsulated in a “Luos Frame” descr

Now that we have set up this new way to communicate with the embedded world, the next step will be to give our users all the features implemented all over the years in <a rel="external nofollow" href="https://github.com/Luos-io/luos_engine" target="_blank">Luos engine</a> from a web perspective.

The first feature we decided to implement is the network topology. This feature is a graphical representation of the Luos [routing table](/docs/test/luos-technology/services/routing-table).
The first feature we decided to implement is the network topology. This feature is a graphical representation of the Luos [routing table](/docs/luos-technology/services/routing-table).

We first get the list of the nodes and services in our network. Then we query each service of each node to get their properties like their type (Motor, Led, Gate, ...), their firmware revision, and their memory statistics.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ With smart pyramidal modeling (or rather rocket-ideal here), we can obtain a rep

One example of a CPS is Tesla Inc.'s autonomous car, the Tesla Model S. The Tesla Model S is a car that uses sensors and computers to autonomously drive itself. They are integrated with the internet and can be controlled remotely.

Another example is a power grid. The physical system is the grid itself, and the cyber one is the computer that monitors and controls the grid. The two devices are connected through a [network](/docs/test/luos-technology/node/topology), which in this case is the wired or wireless connection between the grid and the computer.
Another example is a power grid. The physical system is the grid itself, and the cyber one is the computer that monitors and controls the grid. The two devices are connected through a [network](/docs/luos-technology/node/topology), which in this case is the wired or wireless connection between the grid and the computer.

When you're using software, CPS is all around you. Every time you use a GPS in your car or your smartphone, you interact with cyber-physical systems.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ You can play, pause, stop or record a stream flux with the standard **CONTROL**

## How to use it

**A streaming channel is always created by the strict real-time service.** The other service (the non-real-time one) will just send or receive its data chunks using [large data messages](/docs/test/luos-technology/message/advanced-message#large-data).
**A streaming channel is always created by the strict real-time service.** The other service (the non-real-time one) will just send or receive its data chunks using [large data messages](/docs/luos-technology/message/advanced-message#large-data).

### Streaming channel creation

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import IconExternalLink from '@theme/Icon/ExternalLink';

Each message includes a command value that defines the content's type of the message's data.

Another feature included in Luos engine is the [Object Dictionary (OD)](/docs/test/luos-technology/message/object-dictionary), which aims to maintain interoperability of data format and command's type between <Tooltip def={customFields.service_def}>services</Tooltip>.
Another feature included in Luos engine is the [Object Dictionary (OD)](/docs/luos-technology/message/object-dictionary), which aims to maintain interoperability of data format and command's type between <Tooltip def={customFields.service_def}>services</Tooltip>.

## Commands

Expand Down
2 changes: 1 addition & 1 deletion apps/documentation/docs/luos-technology/node/luos-hal.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ custom_edit_url: null

Luos engine can work on a single node using localhost communication or it can create a network for communication between services located on different nodes. This communication should be defined and hardware-configured to fit with the chosen MCU. The files _luos_hal.c_ and _luos_hal.h_ define all the functions needed by Luos engine. Then, there is a HAL depending on the network layer you use to send messages through the physical bus.

The file _luos_hal_config.h_ contains a default configuration for an MCU family and can be redefined in a configuration file to fit your design. The configuration of Luos engine HAL is described [here](/docs/test/hardware-consideration/mcu).
The file _luos_hal_config.h_ contains a default configuration for an MCU family and can be redefined in a configuration file to fit your design. The configuration of Luos engine HAL is described [here](/docs/hardware-consideration/mcu).

## Luos engine's HAL

Expand Down
8 changes: 4 additions & 4 deletions apps/documentation/docs/luos-technology/node/topology.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ The nodes can access the position of every other node in the network at any time

This routing table allows any service to find, locate, and use any other service on the entire network.

## [Routing Table](/docs/test/luos-technology/services/routing-table)
## [Routing Table](/docs/luos-technology/services/routing-table)

The [Routing Table](/docs/test/luos-technology/services/routing-table) is a feature of Luos allowing every <Tooltip def={customFields.node_def}>node</Tooltip> to own a "map" (or topology) of the entire network of your device. This map allows nodes to know their physical position and different functionalities, as well as to easily search and interact with the other nodes.
The [Routing Table](/docs/luos-technology/services/routing-table) is a feature of Luos allowing every <Tooltip def={customFields.node_def}>node</Tooltip> to own a "map" (or topology) of the entire network of your device. This map allows nodes to know their physical position and different functionalities, as well as to easily search and interact with the other nodes.

The [Routing Table](/docs/test/luos-technology/services/routing-table) is designed and shared among all the nodes after a process that is called [detection](/docs/test/luos-technology/services/routing-table).
The [Routing Table](/docs/luos-technology/services/routing-table) is designed and shared among all the nodes after a process that is called [detection](/docs/luos-technology/services/routing-table).

:::info
More details about routing table on the [dedicated page](/docs/test/luos-technology/services/routing-table).
More details about routing table on the [dedicated page](/docs/luos-technology/services/routing-table).
:::

## PTP Network
Expand Down
Loading

0 comments on commit ab300a9

Please sign in to comment.