Foundations


HAL – Hardware Abstraction Layer

Theremino HAL

L’HAL mette in comunicazione l’hardware di InOut con il software ad alto livello attraverso USB e Slots

Se si usano i moduli hardware USB, allora l’HAL è indispensabile e deve rimanere acceso, si può minimizzarlo, ma deve restare in funzione.

Se non si usa hardware USB, allora l’HAL non è necessario, le applicazioni del sistema possono comunicare tra di loro, attraverso gli Slot, anche senza HAL.

Il programma HAL standardizza i dati dei sensori in un range di valori facilmente usabile e fornisce funzioni di test e debugging grafico (oscilloscopio).

    HAL cap keys with velocity - Theremino System

Consigli per iniziare: Il programma “Theremino_HAL.exe”, non richiede installazione e può essere eseguito in qualunque cartella del sistema – Facendo doppio click su una linea si apre la finestra grafica che mostra l’andamento del segnale su quella linea – Con un click singolo su una linea e con un click su un’altra linea è possibile vederle contemporaneamente  - Tutte le caselle numeriche sono editabili con la tastiera, con il mouse su/giù, con la rotella del mouse e con le frecce alto e basso - Infine, durante le prove, è molto comodo cambiare i valori nella colonna “Value” con il mouse (premere il tasto sinistro su un numero della colonna “Value”, tenerlo premuto e muovere il mouse su e giù)
Errori temporanei causati da sovratensioni sui PIN di Input: A volte, toccando i PIN con le dita, il programma HAL smette di comunicare con l’hardware, scrive una riga rossa con il messaggio “disconnesso” e si deve premere “Riconosci”. Questo si verifica se il corpo è carico di elettricità statica e emette una piccola scarica elettrica. Tutti i componenti sono scelti con cura e non si rompono mai, ma anche se non si vede la scintilla, si tratta sempre di tensioni di molte migliaia di Volt, che mandano in tilt temporaneamente la comunicazione seriale e la porta USB. Durante le prove si faccia attenzione a maneggiare i moduli solo da spenti, oppure a toccare prima la massa (ad esempio il connettore USB). Il progetto finale dovrebbe sempre prevedere un contenitore isolante che impedisca agli utenti di toccare parti metalliche sotto tensione.

- – - – - -

Note sulle versioni di Theremino_HAL

Versione 2.0: Abilita i sei pin di InOut dei master. Scaricatela e riprogrammate i Master con il nuovo firmware (V2.0) che si scarica dalla pagina: technical/schematics
Versione 2.2: Contiene la correzione di alcuni difetti e piccoli miglioramenti che rendono più facile testare i sensori di accelerazione.

Versione 2.6: Contiene miglioramenti minori e in caso di disconnessione dell’hardware si riprende immediatamente dagli errori senza caricare la cpu.
Versione 3.3: Help completi in Italiano, Inglese e Giapponese. Menu e toolbar con i principali comandi e accesso agli help. Tasti capacitivi con velocity (molto apprezzata dai musicisti) Miglioramenti nella stabilità. Ora si possono sostituire le configurazioni facilmente. L’HAL si accorge se un Master è già connesso e non cerca di aprirlo.
Versione 3.3: piccole correzioni anche ai file di help
Versione 3.4: piccole correzioni
Versione 3.5: Nelle versioni precedenti la banda passante era limitata a meno di 100 Hz anche con Response Speed al massimo. Ora invece impostando i valori 98, 99 e 100, il parametro “Response speed” esclude progressivamente la sua azione di filtraggio e la banda passante arriva fino a 250Hz (metà della frequenza di campionamento)
Versione 3.6: Aggiunta l’opzione “Remove errors” nelle proprietà del tipo “Usound sensor”. Nelle versioni precedenti il controllo dell’errore era sempre abilitato e ritardava i dati di quasi mezzo secondo. Ora è possibile eliminare il controllo e rendere più reattivo il valore della distanza. Le applicazioni di tipo “Radar a ultrasuoni” sono molto avvantaggiate da questa novità.
Versione 3.8 (sperimentale): Su alcuni computer, specialmente notebooks, con Windows7 e Windows8, alcuni utenti non riuscivano a superare i 300 FPS. Stiamo quindi tentando varie soluzioni per aumentare la massima frequenza di scambio. Questa versione dovrebbe raggiungere almeno 450 – 500 FPS su computer più lenti e oltre 800 – 900 FPS sui migliori. Questa versione, impostando manualmente la proprietà “Esegui come amministratore” al file “ThereminoHAL.exe” (solo Windows7 e 8) , acquista anche la priorità “Real Time”. Con la priorità “Real Time” non si sono visti miglioramenti, ma su alcuni computer potrebbe servire. Fateci sapere le vostre esperienze!
Versione 3.9: Questa versione supporta anche i nuovi CapSensorHS con l’algoritmo “Dynamic Resolution” che permette una latenza incredibilmente bassa di 0.8mS  e nel contempo una grande risoluzione di campionamento per le applicazioni che la richiedono.
Versione 4.0: Le versioni precedenti contengono un errore che (molto raramente) provoca un crash della applicazione. Le condizioni per il verificarsi di questo errore erano di tenere aperta molto a lungo la finestra dell’oscilloscopio. Nella versione questo errore è corretto e ora l’HAL è robustissimo. Si consiglia a tutti di sostituire le versioni precedenti con questa.
Versione 4.1: I Pin di tipo Cap8 e Cap16 possono leggere sensori a capacità variabile, ad esempio i sensori di umidità senza alcun circuito adattatore. I dettagli dei Pin selezionati vengono ripristinati dopo un “Recognize”. Le scale dell’oscilloscopio sono più funzionali e il pulsante “Reset zero” agisce anche sui dati normali (non RAW). Le calibrazioni automatica e manuale ora agiscono anche sui Pin Cap8 e Cap16. L’interfaccia utente è migliorata e i controlli sono più visibili.
Versione 4.2: Eliminati i lampeggiamenti della lista principale. Riordinati i menu. I fumetti di spiegazione dei comandi sono migliorati e tradotti nelle lingue. Il lavoro della CPU per disegnare la lista è ridotto a un terzo. Il metodo “Lock masters” è completamente implementato. Aggiunto il pulsante “Disconnetti master”. Migliorata la sicurezza nel riconoscimento di Master “in uso”. Dando un nuovo nome a un Master non si perde la sua configurazione.
Versione 4.3: Anche la finestra di visualizzazione dei grafici è ottimizzata per il minimo consumo di CPU. I comandi del menu e dalla barra vengono eseguiti al primo click, anche se la finestra non era selezionata. I piccoli difetti di allineamento dei controlli su Windows7 e Windows8, sono stati corretti. Il menu e la toolbar hanno un nuovo colore sfumato che li rende più leggibili.
Versione 4.4: 
Nella versione 4.3, su Windows XP, il grafico non veniva scrollato verso sinistra. La versione 4.4 funziona bene anche su Windows XP.
Versione 4.5: Modifiche per il funzionamento con Mono in Linux. E presto anche sul Raspberry Pi !!!
Versione 4.6: Notevole riduzione del consumo di CPU, per facilitare il funzionamento su Raspberry Pi.

- – - – - -

Downloads di Theremino HAL – Versione 4.6
Versione unica, per sistemi Windows a 32 e 64 bit, Raspberry Pi, Linux, Android e OSX.
Leggere le note di installazione.

Theremino_HAL_V4.6
Theremino_HAL_V4.6_WithSources (per programmatori)
Theremino_HAL_CSharp_V4.6_WithSources (per programmatori C#)

La versione in C# facilita il “porting” verso Android e Mac che preferiscono le sintassi C-Like. Questa versione funziona esattamente come quella originale. Per l’uso normale si consiglia però di non usarla dato che è meno testata e leggermente meno efficiente a causa della più difficile gestione delle stringhe nei liguaggi C-Like.

- – - – - -

     Download della documentazione in formato ODT
Chi conosce bene queste lingue, potrebbe aprire i file con Open Office, correggerli e inviarceli. Per le altre lingue potete prendere il file inglese e farlo tradurre da: onlinedoctranslator che è ottimo, velocissimo e rispetta la formattazione.
ThereminoHAL_Documentation_ENG_ITA_ESP_JPN


Modularità delle applicazioni

La modularità del software del sistema Theremino si ottiene, in modo non convenzionale, con la esecuzione contemporanea di molte applicazioni. Ogni applicazione si occupa dei soli compiti per cui è stata progettata e li esegue nel modo migliore possibile. In questo modo le applicazioni possono essere semplici, efficienti e con meno difetti. Nel sistema Theremino molte applicazioni semplici comunicano tra loro e cooperano per eseguire compiti complessi.

A seconda delle esigenze si possono usare due metodi diversi:
- Applicazioni isolate
- Gruppi di applicazioni isolate

Questo non vuol dire che le applicazioni isolate non possano comunicare con le altre. La comunicazione modulare è sempre possibile e avviene attraverso gli Slot, che sono in comune per tutte le applicazioni.

Per evitare di usare gli stessi slot per compiti diversi abbiamo definito uno schema di massima.

Experimental 100 slots     000 - 099
- - -
Theremino_Theremin         100 - 199
Theremino_SlotsToMidi      200 - 299
Theremino_MusicKeys        300 - 329
- - -
469 free slots             330 - 799
- - -
Theremino_OilMeter         800 - 809
Theremino_EEG              810 - 819
Theremino_Meteo            820 - 839
Theremino_Arm              840 - 849
10 free slots              850 - 859
10 free slots              860 - 869
10 free slots              870 - 879
Theremino_EmotionMeter     880 - 889
Theremino_Geiger           900 - 909
Theremino_Bridge           900 - 909
Theremino_GEO              910 - 919
Theremino_GeoPreampTester  920 - 929
Theremino_Radar            930 - 939
10 free slots              940 - 949
10 free slots              950 - 959
10 free slots              960 - 969
10 free slots              970 - 979
10 free slots              980 - 989
10 free slots              990 - 999
Questo schema è solo indicativo. Si possono usare gli Slot a piacere, basta che nello stesso PC non si usi contemporaneamente lo stesso slot, per due compiti diversi. Se si sbaglia non si rompe nulla, ma i dati si sovrappongono con risultati indefiniti.


Applicazioni isolate con HAL privato

Alcune applicazioni del sistema Theremino lanciano una copia privata dell’HAL, situata nella stessa cartella delle applicazione. Questi HAL hanno impostazioni e configurazioni private e, generalmente, sono bloccati con il tasto “Blocca Master” in modo da collegarsi solo ai propri moduli hardware. Per maggiori informazioni leggere le istruzioni dell’HAL.

Le applicazioni più adatte a questa configurazione sono le applicazioni con un compito preciso, come ad esempio: Theremino_Geiger, Theremino_OilMeter, Theremino_Meteo, Theremino_Theremin, Theremino_Arm, Theremino_Geo e Theremino_EmotionMeter.


Gruppi di applicazioni con Theremino Starter

Il Theremino Starter avvia tutte le applicazioni con nome “Theremino_xxx.exe” presenti nella sua cartella e nelle sottocartelle.

Per costruire un “gruppo di applicazioni” si comincia con una cartella principale (con il nome del progetto che si sta creando) All’interno della cartella principale, ciascuna applicazione deve avere la sua cartella specifica con all’interno l’eseguibile, i file di appoggio e le sottocartelle. Se si usano più copie della stessa applicazione è bene aggiungere un numero finale ai nomi delle cartelle. Come illustrato nell’esempio seguente:

Cartella: "MultiPlayer"

      Cartella: "ThereminoSoundPlayer_1"
            Cartella: "Media"
            Applicazione: "Theremino_SoundPlayer.exe"

      Cartella: "ThereminoSoundPlayer_2"
            Cartella: "Media"
            Applicazione: "Theremino_SoundPlayer.exe"

      Cartella: "ThereminoVideoPlayer_1"
            Cartella: "Media"
            Cartella: "Media2"
            Applicazione: "Theremino_VideoPlayer.exe"

      Cartella: "Theremino_HAL"
            Applicazione: "Theremino_Hal.exe"
            File: "Theremino_HAL_ConfigDatabase.txt"
            File: "Theremino_HAL_INI.txt"

      Cartella: "Theremino_Helper"
            File: "CustomControlsLib.dll"
            Applicazione: "Theremino_Helper.exe"

      File: "Start_ALL_Theremino_Apps.vbs"

Gruppi di applicazioni come questo possono contenere anche decine di applicazioni. Quando disposte in cartelle separate, ogni applicazione del sistema conserva le proprie impostazioni, e anche le posizioni delle finestre in modo indipendente. Si possono addirittura creare più gruppi di applicazioni ed eseguirli tutti contemporaneamente, mantenendo una separazione adeguata tra le applicazioni e facendo in modo che ogni applicazione comunichi solo con i suoi sensori e i suoi attuatori. Ma nel contempo è anche possibile farle comunicare tutte, o a gruppi, tra di loro. Per comunicare si usano gli Slot, imparare a usare bene gli Slot è fondamentale.

Il piccolo script “Start_ALL_Theremino_Apps” si occupa di lanciare tutte le applicazioni di un gruppo con un solo click. Si consiglia di creare sul desktop un collegamento a questo “Starter”.

Theremino Starter
In questo file ZIP troverete il programma Theremino_Starter
Start_ALL_Theremino_Apps (versione per Windows)


Theremino SlotViewer

Theremino SlotViewer a simple and handy slot explorer and editor.

Gli slot sono il cuore dalla modularità del sistema Theremino. Spesso è comodo tenere d’occhio il loro valore o modificarlo manualmente. Questo piccolo “esploratore di slot” è molto flessibile, può visualizzare gli slot in vari modi e dimensioni, in verticale o in orizzontale e con lo schema di colori che si preferisce.

Theremino SlotViewer a simple and handy slot explorer and editor.    Theremino SlotViewer a simple and handy slot explorer and editor.

Theremino SlotViewer a simple and handy slot explorer and editor.  Theremino SlotViewer a simple and handy slot explorer and editor.  Theremino SlotViewer a simple and handy slot explorer and editor.

Si possono visualizzare gruppi composti da qualunque numero di slot, anche selezionandoli da zone diverse. Si possono editare i valori con il mouse, i tasti freccia, PageUp, PageDown. I tasti CTRL e SHIFT permettono di variare i valori più velocemente e si può usare anche la rotella del mouse.

Note per le versioni
Versione 1.6:
Nelle versioni precedenti la regolazione degli slot con le frecce della tastiera non funzionava bene, ora è a posto.
Versione 1.7: Cambiando “Num slots” a volte appariva un piccolo riquadro bianco, ora non succede più.
Versione 1.8: Corretti piccoli difetti nati durante il passaggio da XP a Windows7.
Versione 1.9: Modifiche per il funzionamento con Mono in Linux.
Versione 2.0: Notevole riduzione del consumo di CPU per facilitare il funzionamento su Raspberry Pi.
Versione 2.1: Modifiche per un miglior funzionamento con istanze multiple.

- – - – - -

Downloads di Theremino SlotViewer – Versione 2.1
Versione unica, per sistemi Windows a 32 e 64 bit, Raspberry Pi, Linux, Android e OSX.
Leggere le note di installazione.

Theremino_SlotViewer_V2.1
Theremino_SlotViewer_V2.1_WithSources


Uu semplice accesso agli slot con: “WriteSlot” e “ReadSlot”

Per comunicare con gli Slots si chiamano le funzioni: “WriteSlot” e “ReadSlot” e le loro funzioni di inizializzazione.

Download: Module_MemoryMappedFiles_VbNet_CSharp_Python_Pascal_VB6.zip
Questo file contiene i moduli per VbNet, CSharp, Python, Pascal e VB6, per il C++ riferirsi agli esempi di MemoryMappedFiles della prossima sezione. Se servono esempi pratici, quasi tutte le applicazioni del sistema Theremino usano le funzioni WriteSlot e ReadSlot.


Interprocess Communications e
MemoryMappedFiles

La comunicazione via SLOT è basata sui MemoryMappedFiles (Windows) e sulla SharedMemory (Linux). Questi esempi spiegano il loro funzionamento con dati di ogni tipo.

Per la semplice comunicazione con gli SLOT del sistema Theremino, non usate questi esempi, ma i più pratici WriteSlot e ReadSlot, del capitolo precedente.

Questi esempi mostrano anche come usare stringhe, numeri interi, float a 64 bit e arrays che non servono per comunicare con il sistema Theremino, ma potrebbero essere utili per far comunicare in modo efficiente (pochi microsecondi per ogni trasferimento) diversi programmi creati dagli utenti, anche in linguaggi diversi tra loro.

I sorgenti in C++, CSharp, VbNet e VB6, possono essere utili agli esperti di sistemi non-Windows per fare traduzioni ed esperimenti nelle varie versioni di Linux e Mac.

Si consiglia di cominciare le prove lanciando più versioni di questi programmi in linguaggi diversi, o anche tutte nello stesso linguaggio, e fare esperimenti di comunicazione scrivendo stringhe e numeri, inviandoli con SET e ricevendoli con GET

Le comunicazioni nel sistema Theremino, usano solo numeri “Single” (floating point a 32 bit), nelle posizioni da 0 a 1000 (offset da 0 a 4000), del MemoryMappedFile con nome Theremino1. Le comunicazioni tra applicazioni, potrebbero anche usare file con nomi diversi da Theremino1 e non impegnare gli slot del sistema Theremino.

Download
Theremino_MemoryMappedFiles_V1.2  (versione per Windows)


Software per comunicare con Max/MSP

Questi sono esempi di comunicazione bidirezionale tra gli slot del sistema Theremino e l’ambiente Max/MSP

Help interattivo per Max/MSP versione 4.x


Help interattivo per Max/MSP versione 5.x

Per mezzo di un MXE (modulo External per MAX) si ottiene una comunicazione estremamente veloce (chiamate dirette ad una DLL – pochi microsecondi per ogni trasferimento) 
 
Da notare che attraverso gli Slot del sistema Theremino più Patch di Max/MSP possono comunicare tra di loro in modo molto efficiente Questa possibilità potrebbe essere utile ai creatori di sistemi complessi che, attualmente, per la comunicazione tra Patch hanno a disposizione solo metodi decisamente più lenti. (non siamo grandi esperti di Max per cui se qualcuno conosce altri metodi efficienti ce lo comunichi e correggeremo queste note)


Max Install
In questo file tutto il necessario per far comunicare Max/MSP con gli Slot e i MemoryMappedFiles del sistema Theremino.
Theremino_Max_Installer_V1.0 (versione per Windows)

Sorgenti
In questo file troverete i sorgenti dell’ extension “Theremino.mxe”
Theremino_Max_Sources_V1.0 (versione per Windows)

Usando questi sorgenti è possibile ricompilare la patch Theremino.mxe. Con le necessarie variazioni, dovrebbe essere possibile anche interfacciarsi con PureData  e programmi simili (vvvv, Processing, EyesWeb, etc…)

Per Linux e per MAC  questo progetto dovrebbe essere modificato sia nella parte MemoryMappedFiles che nelle modalità di installazione dei files nelle cartelle di Max/MSP.


Software per comunicare via UDP con messaggi OSC

Questo è un esempio di comunicazione bidirezionale tra gli slot del sistema Theremino e l’ambiente Max/MSP con il protocollo Open Sound Control

Help interattivo di comunicazione UDP – OSC per Max/MSP versione 5.x
 
 

Questo esempio mostra una Patch di Max/MSP che invia sulla porta UDP 7401 la richiesta dei valori degli slot 0 e 56, li riceve dalla porta UDP 7400 e li mostra con due VU-Meters.

L’applicazione Theremino_OSC riceve le richieste dalla porta UDP 7401 e invia i valori degli slot sulla porta UDP 7400

 
 
 
Applicazione che realizza l’accesso agli Slot del sistema Theremino via UDP con messaggi OSC

-
-
Il lato destro della Patch di esempio mostra, con un procedimento simile, come scrivere valori numerici negli Slot del sistema Theremino.

Theremino OSC e Patch di esempio per Max/MSP
In questo file tutto il Software per comunicare via UDP con messaggi OSC
Theremino_OSC_V1.3  - Versione per tutti i sistemi Windows (Linux e OSX, con Wine)

Sorgenti
In questo file troverete i sorgenti del programma Theremino_OSC
Theremino_OSC_V1.3_WithSources  - Versione per tutti i sistemi Windows (Linux e OSX, con Wine)

Possibilità di comunicazione via UDP
Il protocollo OSC via UDP è più lento rispetto al metodo precedente (con la DLL “External” di  MAX, chiamata MXE) ma permette una comunicazione molto più flessibile, sia sulla rete locale che attraverso Internet

Attraverso i nostri Slot, ThereminoOSC, Max/MSP, Processing e PureData è possibile mettere in comunicazione sistemi operativi e hardware apparentemente incompatibili in modo facile e immediato. Senza scrivere una sola riga di codice.

Con un minimo di esperienza nella programmazione è anche possibile modificare i nostri esempi (tutti freeware e con sorgenti completi) Il nostro software è tutto scritto in modo estremamente semplice e modulare in modo da poter essere una comoda base per lo sviluppo di applicativi con esigenze particolari.


Theremino Script


Theremino Script permette di scrivere piccoli programmi in VbNet o in CSharp senza installare VisualStudio.

Le funzioni di comunicazione e i MemoryMappedFiles (Interprocess Communication) sono implementate a livello di sistema, per cui basta scrivere WriteSlot e ReadSlot per comunicare in modo efficiente (pochi micro secondi) con gli slot del sistema Theremino.

Il linguaggio è compilato e si appoggia a DotNet per cui l’esecuzione è velocissima (dalle nostre prove VbNet è più veloce di CSharp e di C++), inoltre VbNet dispone di un set di funzioni matematiche e grafiche assolutamente completo.

I programmi compilati sono usabili anche senza Theremino_Script e possono essere distribuiti come normali file “EXE”.

Il Theremino_Script è un po’ il figlio minore del Visual Studio Express di Microsoft ma non va altrettanto bene, è più lento, contiene sicuramente più bug e difetti e non ha l’editor visuale dei Form, per cui il programma si scrive tutto in testo. Gli unici vantaggi sono che non si deve installare Visual Studio Express e che scrivere programmi di poche righe sembra, all’inizio, più semplice.

Noi consigliamo di usare il vero Visual Studio che si scarica da qui: downloads/notes-on-software#instruments. Il Visual Studio permette di proseguire facilmente anche quando i programmi diventano grandi. Ma molti utenti hanno chiesto un metodo semplice di accedere agli slot, del Sistema Theremino, per scrivere cose come “Accendo un led – Attendo 10 secondi – Spengo il led”. Quindi abbiamo cercato di semplificare e nascondere al massimo ogni complicazione. Non è detto che questa strada sia valida, provatela e fateci sapere come vi trovate.

Se non vi trovate bene con Theremino Script e non volete usare Visual Studio, allora un’altra buona soluzione, potrebbero essere gli ambienti Max/Msp, PureData e Processing.

Tradurre gli esempi da VbNet a C#
  – Partire da uno degli esempi C# funzionante
  – Dargli un nuovo nome e salvarlo
  – Prendere (con copia e incolla) le funzioni VbNet cui si è interessati
      (anche più funzioni, ma fare attenzione a controlli e eventi, che vengono tradotti male)
  – Tradurre con questa utility: http://www.carlosag.net/Tools/CodeTranslator
  – Oppure con questa: http://www.developerfusion.com/tools/convert/vb-to-csharp
  – E infine incollare il codice tradotto nella applicazione C#

Note per le versioni
Versione 2.1:
 Prima versione di Theremino_Script con l’accesso agli SLOT integrato.

Versione 2.2: Migliorati i suggerimenti (Intellisense) che ora presentano più scelte.- I suggerimenti si scelgono cliccando sulla lista con un doppio click del mouse.- Editare è più facile e più veloce.- Non succede più di scegliere per sbaglio funzioni dalla lista dei suggerimenti.- Aggiunto un esempio che simula i click di un Geiger con frequenza variabile, utile per provare il programma Theremino_Geiger.
Versione 2.3La rotella del mouse ora scrolla in modo decente, veloce e progressiva.- Aggiunto un esempio che fa lampeggiare un LED connesso allo “Slot 1″, utile per chi fa i primi passi con gli Slot, i Master e il programma Hal.
Versione 2.4:
- Completato l’accesso agli slot sia in VB che in C#
Le funzioni da chiamare per accedere agli slot sono:
— WriteSlot(Slot, Value)
— ReadSlot(Slot)
— ReadSlot_WithNans(Slot)
- In VB la chiamata MemoryMappedFile_Init non serve più (se la si chiama non dà errore).-
- In C# tutta
la inizializzazione dei MemoryMappedFile non serve più. Si devono eliminare tutte le righe del blocco di inizializzazione, altrimenti danno errori.
- In C# la classe principale non deve più chiamarsi “class Script” ma “partial class Script”
- Per gli amanti del CSharp e per coloro che erano abituati ad Arduino, abbiamo aggiunto gli esempi: Example1, Example2, Example3 e Example4. Questi esempi spiegano come aggiungere pulsanti e caselle di testo e come usare le loro proprietà e i loro eventi.
Versione 2.5Aggiunto l’esempio “Temp Meter” nella cartella “Theremino SLOT Examples”. Qui lo si vede in funzione: https://www.youtube.com/watch?v=0erUqTAiixs
Versione 2.6: Corretti molti piccoli difetti nati durante il passaggio da XP a Windows-7/8.
Versione 2.7:
Aggiunto il menu “Files”  ”Open application folder”
La finestra di dialogo FileOpen oltre ad aprire i Vb e i C# può anche lanciare i file eseguibili.
Nella finestra di dialogo FileOpen sono permesse anche le selezioni multiple, comode per spostare e copiare i file.
La finestra di dialogo FileOpen non crea più problemi in caso di ThereminoScript multipli in cartelle diverse.
Il menu File Open ora contiene anche la lista MRU, con gli ultimi file usati.
Aggiunto il linguaggio attuale nelle ricerche su Google, Bing e MSDN
Nel pannello SaveAs il path completo rendeva difficile cambiare il nome, ora appare il nome del file senza path.
Le parole chiave del basic vengono automaticamente convertite, con le lettere maiuscole e minuscole.

- – - – - -

Downloads di Theremino Script – Versione 2.7
Versione unica, per sistemi Windows a 32 e 64 bit, Raspberry Pi, Linux, Android e OSX.
Leggere le note di installazione.

Theremino_Script_V2.7
Theremino_Script_V2.7_WithSources (versione per i programmatori)


Theremino SimpleLogger (with Theremino Script)

Questo semplice “Logger” è semplificato al massimo. Anche i meno esperti di programmazione possono usarlo e adattarlo alle loro esigenze. Il file LOG.csv viene creato nella stessa cartella che contiene i programmi “exe”. Modificando le prime quattro righe del file “ThereminoLogger.vb” si possono variare l’intervallo di acquisizione e i canali da acquisire. Una volta modificato a proprio piacere, si può lanciare direttamente la versione compilata “ThereminoLogger.exe”, senza più passare dal “ThereminoScript”.

- Note per la nuova versione -
Sono presenti alcuni esempi di visualizzazione interattiva con KST. Per usare KST prima di tutto si deve installarlo da WEB e poi procedere come spiegato nel file “ReadMe – KST Install Notes.rtf” 

Abbiamo aggiunto anche le versioni compilate (exe), così non si deve nemmeno aprire Theremino Script per compilarle. Le tre versioni precompilate loggano ogni secondo, dieci volte al secondo e cento volte al secondo.
I file di KST permettono di visualizzare i LOG in vari modi, mentre si sta loggando. Sono solo esempi. Con pazienza e informandosi sul WEB si può far fare a KST ogni genere di visualizzazione e filtraggio. Probabilmente è anche possibile usare KST per inviare file MySql su WEB. Usare KST non è per niente facile, è un software grandioso e i grandi risultati si devono pagare con molta pazienza.
- Correzione -
Abbiamo spostato i file KST nella stessa cartella del file LOG.csv. Sembra che KST abbia un difetto che gli impedisce di leggere il LOG se si trova in un altra cartella. Se non avete scaricato quest’ultima versione spostateli manualmente vicino al LOG.csv.

- – - – - -

Downloads di Theremino SimpleLogger – Versione 2.0
Versione unica, per sistemi Windows a 32 e 64 bit, Raspberry Pi, Linux, Android e OSX.
Leggere le note di installazione.

Theremino_SimpleLogger_With_KST_Examples_V2.0


Ottenere i moduli del sistema

Il team del sistema Theremino si occupa solo di ricerca e non vende hardware. Il sistema è completamente “Freeware”, “Open Source”, “No Profit” e “DIY”, ma esistono produttori che possono fornire i moduli assemblati e collaudati a un ottimo prezzo. Difficilmente si potrebbe auto-costruirli spendendo meno. Un elenco dei produttori in questa pagina: www.theremino.com/contacts/producers


Donazioni
 

Il codice sorgente dei nostri programmi non contiene note sul copyright, nomi degli autori e link al nostro sito, per cui potete farne ogni uso, senza limitazioni di alcun genere. Non chiediamo di specificare la fonte originale o il nostro sito ma se sarete contenti del nostro software ricordatevi di noi e fate conoscere questo sito ai vostri amici. Eventuali donazioni, anche piccole, sono molto gradite e possono aiutarci a mantenere il software “free” ed a produrne sempre di nuovo.


Note legali
 

ITALIANO – HARDWARE: NEI LIMITI PREVISTI DALLA LEGGE il sistema Theremino VIENE FORNITO “COSÌ COM’È”, E NON RILASCIA GARANZIA ESPLICITA O IMPLICITA, RISPETTO ALLA SUA FUNZIONALITA’, OPERATIVITA’, O USO, INCLUSE, SENZA LIMITAZIONE, LE GARANZIE IMPLICITE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE O VIOLAZIONE. SI DECLINANO ESPRESSAMENTE OGNI RESPONSABILITÀ PER DANNI DIRETTI, INDIRETTI, CONSEQUENZIALI, INCIDENTALI O SPECIALI, INCLUSI, SENZA LIMITAZIONI, MANCATI GUADAGNI, PERDITE DI PROFITTI, PERDITE DERIVANTI DA INTERRUZIONE DI ATTIVITA’ O PERDITE DI DATI, INDIPENDENTEMENTE DALLA FORMA DI AZIONE O TEORIA LEGALE SOTTO CUI LA RESPONSABILITA’ VIENE ASSERITA, ANCHE SE NON INFORMATI DELLA POSSIBILITA’ O RISCHIO DI TALI DANNI.
ITALIANO – SOFTWARE: IL SOFTWARE del sistema Theremino E’ UN SOFTWARE LIBERO: E’ POSSIBILE RIDISTRIBUIRLO E/O MODIFICARLO SECONDO I TERMINI DELLA LICENZA “GNU General Public License” COME PUBBLICATA DALLA “Free Software Foundation”, NELLA VERSIONE 3, O QUALSIASI VERSIONE SUCCESSIVA. È POSSIBILE OTTENERE UNA COPIA DELLA LICENZA “GNU General Public License” DA: http://www.gnu.org/licenses
ENGLISH – HARDWARE: THE PRODUCT Theremino System IS PROVIDED TO YOU “AS IT IS”, AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUNCTIONALITY, OPERABILITY, OR USE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR INFRINGEMENT. WE EXPRESSLY DISCLAIM ANY LIABILITY WHATSOEVER FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, LOSSES RESULTING FROM BUSINESS INTERRUPTION OR LOSS OF DATA, REGARDLESS OF THE FORM OF ACTION OR LEGAL THEORY UNDER WHICH THE LIABILITY MAY BE ASSERTED, EVEN IF NOT ADVISED OF THE POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES.
ENGLISH – SOFTWARE: THE Theremino System SOFTWARE IS FREE SOFTWARE: YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE “GNU General Public License” AS PUBLISHED BY THE “Free Software Foundation”, EITHER VERSION 3 OF THE LICENSE, OR ANY LATER VERSION. YOU CAN GET A COPY OF THE “GNU General Public License” FROM: http://www.gnu.org/licenses

Comments are closed.