The Gate in a Luos environment is something tremendously important and used to check or control a Luos network, and (teaser...) it will be even more important for the next revision! 😉
On the previous version of the Gate example, you needed to modify the code to adapt it to your project's specificities, and it was an arduous task. Then we decided to make it simple and portable for you.
We split it into 2 parts, the main Gate App and a Driver:
Now the Gate is an App. Meaning it doesn't have any code related to hardware. It's a basic ANSI C that you can compile directly for any MCU or CPU without any additional configuration! This way, you can easily add it to your setup.
We also added a build option allowing you to select the output format managed by the Gate or create your own easily. For now, we have 2 JSON options, the one we use on the previous version (cJSON), and a new one (TinyJSON) that doesn't make any dynamic allocation.
The Pipe is the driver part: This Driver allows sending or receiving data from the outer world and converting those data to the Luos side. A Pipe can be USB, serial, Wifi, Bluetooth, an SD card, or anything allowing to send and receive information to/from another machine.
This new type of driver can be used for different purposes, and the Gate App needs it to exchange information and share its output format.
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 section of our documentation.