HAL, il collegamento col mondo esterno
Senza l’HAL (Hardware Abstraction Layer) comunicare con i sensori e gli attuatori sarebbe difficile. Per ogni tipo di sensore si dovrebbe scrivere un pezzo di firmware (come si fa con Arduino) e ad ogni nuova variazione dei sensori, si dovrebbe riscrivere il firmware.
E sarebbe anche molto difficile, raggiungere le prestazioni, che si raggiungono con il nostro firmware, e il nostro HAL (ci lavoriamo da 3 anni, dieci ore al giorno, festivi compresi – fanno oltre diecimila ore, mica noccioline!)
Ci hanno chiesto “Come mai si deve per forza usare l’HAL ?”
L’HAL deve essere usato se si deve accedere all’hardware via USB. In teoria non è assolutamente necessario, ma noi non abbiamo trovato un sistema migliore. Per chi volesse provarci, ecco le informazioni che servono:
- Questo è il protocollo per comunicare con il firmware:
https://www.theremino.com/technical/protocol
- Qui è spiegato come si convertono i valori da e verso l’hardware:
https://www.theremino.com/technical/pin-types#values
- E naturalmente una grande comodità è il progetto stesso dell’HAL da cui copiare
https://www.theremino.com/downloads/foundations#hal
Perché non esporre dei meccanismi per guidare l’HAL dall’esterno?
Per quante funzioni si esponessero, mancherebbe sempre qualcosa (ad esempio i grafici dell’oscilloscopio, le configurazioni, la riconnessione automatica, la calibrazione…). Ma supponiamo che qualcuno, con un lavoro faraonico, arrivasse a controllare tutte le funzioni dell’HAL. Il risultato sarebbe soltanto, di aver ricreato un clone dell’HAL, in una altra applicazione.
Come già scritto nel precedente paragrafo, se qualcuno vuole provarci, si accomodi.
Come usare l’HAL
L’HAL può aprirsi e chiudersi da solo in modo invisibile. Tutti le applicazioni che ne hanno bisogno, lo aprono e chiudono loro stesse. Normalmente l’HAL si apre minimizzato e non da fastidio. Ma quando serve, si può aprire la sua finestra che è molto utile, per effettuare comode regolazioni, e provare i sensori. Poi lo si minimizza di nuovo, così la prossima volta si aprirà minimizzato.
Come aprire e chiudere l’HAL da dentro a una applicazione è spiegato qui:
https://www.theremino.com/wp-content/uploads/files/ThereminoHAL_Start-Stop.rtf
E se una applicazione non è in grado di aprire e chiudere l’HAL?
In questo caso si prepara una cartella con la propria applicazione, l’HAL e un file “Start All”, come spiegato qui:
https://www.theremino.com/downloads/foundations#starter
interessante soluzione.
recupero i video ufficiali e proseguo per un confronto con i dati rilevati con i piezo.
una rilevazione microfonica sarebbe ricca di tante onde spurie a causa del caos generale.
ma provo comunque.
In ogni caso penso di aver trovato la soluzione.
In signalscope dopo aver avviato RUN invece di ripremere run per lo stop, si può cliccare direttamente su “save buffer” sembra funzionare bene.
cosa ne pensi?
saluti.
Si, se è qualcosa di importante, il “save buffer” è l’operazione da fare prima di ogni altra cosa. E poi ci starebbe bene anche un backup del file salvato (metti che per sbaglio ci scrivi sopra…). Comunque se non perdi l’audio originale il buffer lo rifai tutte le volte che vuoi.
Se il microfono lo posizioni vicino a dove sparano, la leggibilità degli spari sarà perfetta.
E’ già ottima quella di youtube, se ci fai attenzione il pubblico non disturba per niente.
L’unico che disturba è lo speaker, perché probabilmente era collegato allo stesso mixer che usavano per registrare.
salve Livio
voglio chiederti una cosina che riguarda il LOGGER; attualmente ci sono 8 canali che si possano registrare; come faccio per aggiungere altri canali nell’applicazione Logger? attualmente sto lavorando con due master che tramite un pc, mi fanno vedere due blocchi di 10 slot in totale (visibile in HAL tramite una tabella unica (slot 1-6 e 11-14), pero’ il LOGGER acquisisce solo 8 slot. come faccio per poter registrare più di 8 canali e memorizzarle in un unico file *.csv. esiste un “logger.exe” con 10 slot?
ti ringrazio in anticipo
Piero
Con dieci canali non c’è e noi ora non abbiamo tempo di modificarlo.
Potresti chiedere a Marco Russiani che ha scritto il logger, trovi il suo indirizzo in questa pagina:
https://www.theremino.com/downloads/foundations#logger
Oppure potresti trovare qualche tuo amico che possa farlo, è abbastanza facile basta copiare e e aggiungere, ma comunque ci vuole un minimo di esperienza nella programmazione.
HEY, ho un problema
io posseggo una fresa 3 assi comandata dal vostro software, forse è un problema di hardware ma finora non ne ho trovati, nella quale non si muove la Z (comandata da uno stepper) e il mandrino.
sapreste dirmi le proprietà di tutti e due i pin?
grazie
L’asse Z va sicuramente impostato come Stepper
e quindi il pin successivo diventa Stepper_Dir e i loro due Slot devono essere 5 e 6
Se X e Y ti funzionano è molto strano che Z non si muova, forse manca l’abilitazione al driver dello Z ?
Il mandrino è controllabile in vari modi per cui non c’è una risposta semplice, devi leggere quello che abbiamo scritto nell’HELP di Theremino CNC
Se non riesci chiamami su Skype come: livio_enrico e ti aiuterò a farlo andare.