-
Notifications
You must be signed in to change notification settings - Fork 1
Description
(Questa issue è un promemoria nonchè una lista di appunti)
Nel mondo dei sistemi embedded dove le esigenze di sviluppo spesso impongono limiti di spazio e risorse o dove spesso l'introduzione di runtime engine addizionali (magari solo per lo sviluppo) può non portare benefici, abbiamo la possibilità di usare Mush, dato che esso non impone runtime engine (tutto scritto in bash e funziona senza dipendenze di alcun tipo)
Ecco una lista di casi d'uso potenziali
Preprocessore per elaborare i file sorgenti prima che arduino li compili.
Spesso può essere necessario pre-elaborare un file *.ino o *.h o *.c prima che esso venga processato dal compilatore arduino
questa tecnica può essere usata ad esempio per inserire un file di testo dentro le costanti o per serializzare dati binari in casi in cui non è possibile fare altrimenti o popolare delle constati con dei dati di sviluppo presi da un .env
file. Per capire meglio Vedere questo tool: https://github.com/fulminati/arduino-web-inject
Fare il setup dell'ambiente di sviluppo
Il setup dell'ambiente di sviluppo spesso richiede delle dipendenze, installare i tool per fare il flash di una board, installare librerie, aggiungere tool di sviluppo. Tutto questo potrebbe essere dichiarato con un file manifest e installato tramine un tool unico, Mush potrebbe farlo. Esempio di un file di questo tipo e questo (con lo scopo di definire tutte le caratteristiche dell'ambite di sviluppo da preparare): https://github.com/fulminati/esp8266/blob/master/sketches.yml
Tool di vario genere
- Si possono creare tool per il monitoraggio dell'ouput e dell'input seriale verso una board rendendo più semplice il setup
- Si possono creare wrapper per comandi verso sismtemi esterni come Android o RaspberryOS
- Si possono creare client per la domotica per integrare applicationi tipo IFTTT o MacroDroid