Software — Beta

Free DeveloperTool

Semplifica lo sviluppo STM32!

Semplifica lo sviluppo STM32!

Sei uno sviluppatore software o hardware alla ricerca di un modo semplice per vendere i tuoi prodotti garantendo la sicurezza della tua proprietà intellettuale e una gestione post-vendita senza problemi? Non cercare oltre! BeingRobotic offre una soluzione unica che ti permette di concentrarti esclusivamente sullo sviluppo software e hardware, lasciando a noi il percorso standard e le complessità.

Il nostro percorso standard:

  • Formazione dell'idea
  • Sviluppo dell'idea
  • Sviluppo hardware
  • Test hardware
  • Sviluppo e test software
  • Distribuzione software
  • Protezione della proprietà intellettuale
  • Distribuzione sicura degli aggiornamenti
  • Gestione delle richieste dei clienti

Funzionalità principali:

Aggiornamenti software sicuri:
Esegui aggiornamenti software senza sforzo tramite schede SD, Wi-Fi o USB, garantendo che il tuo software rimanga crittografato. Solo il microcontrollore può decifrarlo durante la fase di scrittura.

Protezione della memoria:
L'accesso alla memoria del microcontrollore è impossibile, garantendo la sicurezza dei tuoi segreti.

Gestione diretta e personalizzazione:
Il nostro servizio di modifica software permette ai tuoi clienti di personalizzare il proprio software senza richiedere il tuo intervento per la manutenzione.

BeingRobotic's system empowers you to concentrate solely on the creative aspects of your project, whether it's software, hardware, or both. We handle the production of the board and the distribution of your software. Your software remains hidden from both us and your customers, thanks to our encryption system designed to safeguard your intellectual property.

Descrizione del sistema:

FileManager

Questa interfaccia dispone di un pulsante 'Nuovo progetto' che, quando cliccato, consente di caricare un progetto. L'unico requisito è che il progetto sia generato con STM32CubeIDE.

  1. The multi-selection allows you to choose the target of your project. If you don't have our boards, you can create a custom board project by clicking on Custom.
  2. Here, it's possible to update the project. You have to zip the entire project folder (.zip is required) and then upload it using the 'Choose file' button.
  3. The project name helps to identify your project; it must be unique and without spaces.
  4. A project description is strongly recommended as it significantly enhances the understanding of the project.
  5. After filling in all the required fields, proceed by clicking the upload button, and the magic will unfold. Your project will undergo a check and compilation process. (Make sure to verify if the project is compilable before uploading; otherwise, a terminal displaying errors will open).
  6. If the project is compilable, and optionally, the generated tags are placed with the correct syntax, you will see a tab containing your project information at the bottom of the page.
  7. If you want to modify your project, you'll need to press the 'Delete' button and upload the project again. Keep in mind that once the 'Delete' button is pressed, all the information will be permanently removed from the server, and recovery will be impossible, even for us.
FileManager interface

Pannello dispositivi

Questa interfaccia consente di scegliere un dispositivo da utilizzare. Se non hai ancora acquistato alcun dispositivo, puoi selezionare un dispositivo personalizzato. Fornisce un modo semplice per organizzare i tuoi progetti.

  1. Search bar that allows you to filter devices by hardware Id or product Id.
  2. At the bottom of the page, you can find a list of all available devices. The Custom device is always preset, providing access to Custom projects.
  3. The first number indicates the hardware specification, while the other pieces of information are used to identify the device.
  4. Click on 'Manage' to choose your preferred device. If the device is online, the label changes to 'Control' and the background turns green.
  5. Clear pending button allows resetting wifi updates, in the case of failure.
  6. After selecting a device, it will appear in the top-right corner. To choose another device, simply navigate away from this page and make a new selection.
Device dashboard

Categoria software

Questa pagina consente di distinguere tra il proprio software e quello distribuito da noi.

  1. In the lower part of the page, you can choose the software category.
  2. Clicking 'Select' allows you to choose the category. The first one in the top-left is always the user Custom category, where you'll find your uploaded projects.
Software category

Gestione software

Questa sezione è il cuore dell'innovazione! Puoi controllare completamente il tuo progetto: modificarlo, scaricarlo e inviarlo anche in modalità wireless al dispositivo selezionato in alto a destra.
Per avviare un nuovo progetto, clicca su "Nuovo Software" e seleziona un progetto disponibile (sono sottoinsiemi dei tuoi progetti aggiornati, divisi per tipo di hardware).

  1. This drop-down selection allows you to choose from your updated projects.
  2. The Generate button will take you to the project configurator, but it will be discussed in detail in the section Edit and Create Project.
  3. Each generated project is categorized by name and chronological order. Every project version comes with various labels aiding in project identification, with the most crucial information located next to the project name.
  4. These symbols serve to distinguish project features and will be discussed in the section Project Features.
  5. The 'Select' button opens a new interface that provides the option to download, send the project to the target using WiFi, or delete the project version. This will be discussed in the section Manage Project.
Software management

Modifica e crea progetto

This is the core of our system!
The possibility to change firmware variables' values with a very intuitive and fully customizable graphical interface. This interface is available when the user creates a new project or edits an existing project.
The interface is automatically generated starting from software tags added by project developers (explained in the next session). Users can change the variable values of the project directly from this interface. For users with more demanding requirements, it's possible to merge custom .c code and .h library into the final project or insert custom configuration files like .dbc for CanBus systems, directly from this interface, making the customization possibilities endless.

Below the explanation of principal graphical elements:

  1. The interface is divided into different groups, which are created directly by users. In each group, it is possible to add different variables. Interaction is possible using standard graphical elements such as slicer, number input, or text input.
  2. Slicer allows the insertion of numerical values, with the option to set minimum and maximum values, as well as step values. This ensures input validation and matches the variable type in C.
  3. File .dbc updater permits the update of the .dbc library for your specific application. Therefore, if your CanBus traffic changes, you only need to modify this file.
  4. The numerical input allows the insertion of numerical values. It is possible to set minimum and maximum values, as well as a step, to ensure input validation and match C variable types.
  5. The text input feature allows the insertion of characters or strings. You can specify minimum and maximum lengths to ensure input validity and match the C variable type.
  6. In this section, it is possible to change project information.
  7. This option permits locking the possibility to download the project source code*.
  8. This button allows you to download the source code with the files/parameters selected in this interface. This option is particularly useful for debugging purposes.
  9. This button permits generating a new project with the selected files/parameters. Each time a project is generated, it is possible to find the project in the Software Managmenent.

*To lock the project source code, it is necessary to lock each project instance. In the software interface, all projects with the same name should display a red padlock. A locked project allows the generation of only locked instances.

Edit and create project

Come viene generata l'interfaccia?

The interface, as explained earlier, is generated from special tags inserted within the code by developer. These tags are easily generated using TagGenerator. The meaning of the fields is explained below:

  1. Tags are divided into categories, the most important is the group tag.
  2. The group tag must have a unique name because this name serves as the reference for other tags belonging to the same group and inserted in the same file.
  3. Primary and Secondary color of the tag background.
  4. Label text color.
  5. Useful to explain to the final user the meaning of the group.
  6. When all the fields are filled, the tag is automatically calculated.
  7. Button to copy the tag easily.
  8. Input tag used to generate input elements.
  9. Element name: used to identify the tag inside the Edit interface.
  10. Info: used to describe the tag meaning.
  11. Min value: lower saturation of the input, it is impossible to insert less than min. Useful for unsigned numbers.
  12. Max value: upper saturation of the input, it is impossible to insert more than max. Useful to avoid number overflow.
  13. Step value: the number can assume a value that is a multiple of the step, it is impossible to insert a value different from a multiple of the step. Useful for inserting int numbers, using step = 1.
  14. Default value: the starting value displayed when the edit interface is loaded.
  15. Group name: an important parameter that assigns this element to a specific group defined with the same name.
  16. When all fields are filled, the tag is calculated automatically
  17. Button to copy the tag easily.
  18. The name of the CanBus tag will be the name of the converted CanBus library. Ex: name=test -> test.h test.c became the name of .dbc converted.
  19. Min len: in the case of text tag, it is the minimum number of characters allowed.
  20. Max len: in the case of text tag, it is the maximum number of characters allowed.
  21. Default string: the starting string displayed when the edit interface is loaded. Check that the length is inside the correct min, max length boundaries.
TagGenerator

Utilizzo dei tag

In questa sezione è spiegato come utilizzare i tag all'interno del progetto STM32CubeIDE:

  1. STM32CubeIDE project tree.
  2. It is possible to insert a tag in a file inside the "Src" folder. Our system automatically scans all the folders to find tags.
  3. In this example, we use main.c file.
  4. Group tag copied from TagGenerator must be pasted within the same file, where tags that belong to this group are used.
  5. This is an example of a text tag that belongs to WIFI group. The tag string is generated inside TagGenerator and must be pasted next to the variable to be changed, like in the example.
  6. This is an example of a value tag that belongs to WIFI group. The tag value is generated inside TagGenerator must be pasted next to the variable to be changed, like in the example.

Each tag group must be pasted only one time inside the file and also the input tag must have a unique name.

Tag uses in STM32CubeIDE

Funzionalità del progetto

In questa sezione verranno analizzate le funzionalità del progetto dipendenti dal tipo di progetto e software.

  1. Encryption property is enabled only for our boards and permits performing software-encrypted updates (the firmware is decrypted only during the flash writing phase, and the flash is permanently not accessible). This feature is designed to protect the intellectual property of developers who want to deploy updates at a later time.
  2. Firmware downloadable indicates that it is possible to download the source code of the project. It is configurable by the user and permits protecting intellectual property once the project is debugged and distributed.
  3. Global firmware indicates who is the owner of the project. The green circle means that the owner is the user, red that the project is distributed by us and is available for each user.
  4. We offer a powerful licensing feature to safeguard your projects: software protected by a license can only run on our designated hardware. This feature helps stop counterfeiting and piracy of your software. If the shield is green, the license protection feature is always active and is available only with software distributed by us. If the shield is yellow, you can use the license protection feature, but you have to put a specific function inside your custom code (license protection features are available only with our boards or for specific projects). If the shield is red, the license protection feature is not active. When creating a new project instance, licenses are generated only for the boards currently in the dashboard. To extend capabilities to a new board, regenerate your custom software.
Project features

Gestisci progetto

Quando premi seleziona sul progetto desiderato, appare un nuovo menu con diverse azioni disponibili; tali azioni dipendono dalle funzionalità del progetto.

  1. All encrypted projects permit only downloading and sending with encryption and are not possible to download directly as .bin files, but .enc files will be downloaded instead. This file is compatible with our board, guaranteeing firmware encryption and safeguarding intellectual property. It can be flashed using USB or uSD. When the 'Send' button is clicked, the selected firmware is sent to the device selected in the top-right corner. If the device is disconnected, nothing happens; otherwise, a progress indicator appears!
  2. Not encrypted projects permit only project edit and file download in the standard .bin extension, and the file could be written directly using STM32CubeProgrammer.
  3. The intellectual property of Local projects belongs only to the user, so the user has full control over edit, delete, download, and send.
  4. The user has no possibility to delete or edit Global projects because they are distributed by BeingRobotic, but the user can use the projects.
Manage project

Terminale di debug

Il nostro sistema analizza il tuo progetto e i tag. In caso di errori, può mostrare come risolverli.

  1. The terminal is automatically opened when an error occurs.
  2. Permits to close the terminal.
  3. Debug information. If you cannot solve problems, please write us.

Leggi il disclaimer

Debug terminal

Vuoi collaborare?

Scopri le possibili modalità di lavoro con il nostro prodotto o sotto la nostra consulenza.

Scrivici