La applicazione HAL


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:


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

  1. vincenzo says:

    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.

    • Livio says:

      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.

  2. piero says:

    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

    • Livio says:

      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.

  3. giorgio says:

    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

    • Livio says:

      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.

  4. Hans says:

    Please help
    I have installed HAL V4.6
    I connect Master DIL V5.
    There is only the blue line MSTER 1
    I connected 3 LEDs to Pin 1, 2 and 3
    On HAL program the PIN information i NOT shown
    I use Win 11
    What is wrong, Thanks for your help in advance

  5. theremino says:

    First of all you should use a recent version of HAL

    The latest is currently 8.9 and you can find it HERE
    https://www.theremino.com/en/downloads/foundations#hal

    If it still doesn’t work, check that you are using a real USB cable, not the white ones that are usually made only for charging phone batteries.

    If it still doesn’t work, write to me again.

    Bye
    Livio

  6. Hans says:

    Hi Livio
    Thank you for your fast answer.
    Molto grazie
    Hans

  7. Hans says:

    Hi Livio
    The program is now correctly running with the newest version of HAL. I use SNB20 GMs. As I started the measuremet I had around 40 uSv/h with my source (Cerberus Bulb). I stopped a few times and than I had less than 10 uSv/h. I don’t know why.
    I measured the HV across the SNB20 with a multimeter (20 MOhm input) and I had 285V. The Mater DIL V5 is connected to 400V.
    How many SNB20 can one connect to the master DIL?
    Saluti Hans

    • Livio says:

      You use an SBM20 tube with our GeigerAdapter ?
      Our GeigerAdapter consumes very little current so a single Master can power many of them (up to 10 if you use all the Master inputs that can be configured as counter)
      To measure the voltage with a 20 Megaohm multimeter you should measure in the test point present in our GeigerAdapter, before the output resistor that goes to the geiger tube.
      And the voltage should be about 350..370 volt.

  8. Geofaber says:

    Buongiorno Livio.
    Chiedevo se si possomo aprire in simultanea 2 Theremino startall. Vedo che tutte le applicazioni, hall , graph e logger possono essere aperte in simultanea, ad esempio 2 logger insieme, uno che mi campiona a 10 sec e 1 a 5 minuti.
    L’utilizzo per me è proprio quello, registrare e visualizzare sullo stesso PC due (o piu) file log e grafici in simultanea di dati diversi (ovvero hall che partono in tempi di versi e intervalli di acquisiizone diversi). Riesco a farlo se faccio partire le applicazioni uno ad uno, ma se uso startall una volta avviato poi non posso far partire un altro startall. Non so se sono stato chiaro

  9. geofaber says:

    ciao Livio
    sto usando in simultanea applicazioni di theremino diverse (hall, 2 logger, 2 graph) in quanto registro sullo stesso pc 2 file provenienti da 2 sensori diversi che partono in tempi molto diversi ed è diverso anche il tempo di campionamento. Tutto funziona perfettamente. In genere per comodità uso l’applicazione theremino startall. Ho visto però che non possono girare 2 startall insieme. Se va il primo (che mi fa partire la registrazione e il grafico del primo sensore) non posso far partire l’altro startall che mi fa partire l’altra acquisizione. E’ corretto ?, o c’è il sistema per farlo. Non so se mi sono spiegato.

    • Livio says:

      Se usi due cartelle separate ci riesci.
      Nella prima metti uno startall con tutte le applicazioni che deve lanciare e nall’altra un altro con tutte le sue applicazioni.

      Ma attenzione che tutti i programmi che usi devono essere impostati con slot diversi (che non si scontrino)
      Cioè se ad esempio i programmi della prima cartella usano gli slot da 1 a 12 devi impostare quelli della ltra cartella con slot, ad esempio, da 101 a 112

      • geofaber says:

        erano già in due cartelle separate. Per semplificare ho fatto questa prova:
        cartella start1
        (Theremino_startALL_1+Theremino_Logger_1)
        cartella start2
        (Theremino_startALL_2+Theremino_Logger_2)

        La differenza tra logger1 e 2 è che 1 acquissce 1 sec attivolo solo slot10, 2 acquisce a 2 sec attivo solo slot 20
        Se faccio partire i due logger tutto OK, ma se li faccio partire da startALL il primo che avvio mi parte ma poi se schiaccio l’altro startAll non fa nulla.
        Ho provato anche su 2 pc diversi (PS scusa per la ripetizioe dei messaggi scorsi ma c’era un ritardo sulla pubblicazione nel blog e non capivo se i messaggi arrivavano)

  10. geofaber says:

    ciao Livio, non sono riuscito a trovarti con Teams, ma forse sono imbranato io. Ti metto intanto un filmato di quello che succede: in pratica 2 cartelle separate, se faccio partire i 2 logger partono, ma se cerco di farli partire da startall parte solo il primo https://drive.google.com/file/d/1kM0ne1zzB1az9NAeL4a51_e1DsEJe40l/view?usp=sharing

    • theremino says:

      Ma vista la situazione che ti serve StartAll ?
      Elimina gli startall e fai partire direttamente i logger.

      Oltre ai logger devi far partire anche altro ?

      In tal caso sostituisci l’exe dello startall con quello che c’è qui dentro:
      https://www.theremino.com/uploads/Theremino_StartALL.zip

      • geofaber says:

        è perfetto ! con il file che mi hai inviato funziona perfettamente.
        Si oltre ai logger ho messo thereminograph e hall e sto valutando se inserire anche automation.
        Le finestre che avevo fatto nel video con solo i logger era per capire il problema.
        Grazie mille, siete davvero una realtà unica.

Leave a Reply

Your email address will not be published.