Sostieni il forum con una donazione! Il tuo contributo ci aiuterà a rimanere online!
Immagine

Re:MIDI Switcher - Progetto

Tutto ciò che riguarda l'elettronica digitale, dalla porta not al protocollo midi... e oltre!
Avatar utente
davidefender
Garzone di Roger Mayer
Garzone di Roger Mayer
Messaggi: 1437
Iscritto il: 11/02/2008, 23:51
Località: Roma
Contatta:

Re: Re:MIDI Switcher - Progetto

Messaggio da davidefender » 08/08/2010, 21:04

Ciao Dimitree!

si certo, in allegato trovi la libreria Eagle: l'ho fatta io ma è stata appena testata quindi tutto ok!
Per quanto riguarda il fatto dei controlli, considera che interrupt+timer sicuramente è un'ottima soluzione; ma se vuoi, puoi anche realizzarla in maniera più semplice (io l'avevo implementata a suo tempo prima di utilizzare gli interrupt).
Te la faccio semplice semplice, poi ovviamente potrai complicarla a piacere per funzioni migliori:
immagino tu abbia già una sequenza di polling che chiede di continuo: "c'è un nuovo comando?"
Bhè, tu fai questo, quando un pulsante viene premuto restituisci il comando "pulsante premuto" ma in più, ti salvi da una parte il timestamp. Quando ti viene di nuovo chiesto "c'è un nuovo comando?" se il pulsante è stato rilasciato invii il comando "pulsante rilasciato" e azzeri il timestamp. Se invece il pulsante è ancora premuto, e sono passati due secondi (tempoDiOra - timestamp > 2s) restituisce un comando "pulsante tenuto per 2s"

Spero di essere stato sufficientemente chiaro, almeno spero di averti reso l'idea; poi l'implementazione ovviamente dipende molto dalle tue esigenze :)
:ciao:
Allegati
jack-audio-amphenol.zip
(2.41 KiB) Scaricato 270 volte

Avatar utente
Dimitree
Diyer Esperto
Diyer Esperto
Messaggi: 425
Iscritto il: 01/09/2006, 23:56

Re: Re:MIDI Switcher - Progetto

Messaggio da Dimitree » 08/08/2010, 21:27

grazie per la libreria Davide!

se ho capito bene, in teoria è come fare un controllo al tempo 0 e uno al tempo 2 (in secondi). Se uno fosse talmente preciso come un processore, potrebbe premere al tempo 0 e poi ripremere al tempo 2 e sarebbe lo stesso? :lol1:

Avatar utente
davidefender
Garzone di Roger Mayer
Garzone di Roger Mayer
Messaggi: 1437
Iscritto il: 11/02/2008, 23:51
Località: Roma
Contatta:

Re: Re:MIDI Switcher - Progetto

Messaggio da davidefender » 08/08/2010, 21:43

Dimitree ha scritto:Se uno fosse talmente preciso come un processore, potrebbe premere al tempo 0 e poi ripremere al tempo 2 e sarebbe lo stesso? :lol1:
no, questo è proprio da evitare. Come fare? ti tieni una variabile tipo "stillPressed": quando premi il pulsante la poni a true, e quando lo rilasci a false. A questo punto nel controllo dei 2 secondi consideri anche questa nuova variabile, se sono passati due secondi E stillPressed = true, allora vuol dire che il pulsante non è stato mai rilasciato da ben 2 secondi, e puoi inviare il comando... in effetti questi sono i dettagli tecnici dei quali parlavo :face_green:
:ciao:

Avatar utente
jackson
Diyer Esperto
Diyer Esperto
Messaggi: 402
Iscritto il: 24/01/2010, 12:44
Località: Curno (BG)

Re: Re:MIDI Switcher - Progetto

Messaggio da jackson » 10/08/2010, 10:26

davidefender ha scritto:Ciao Dimitree!

si certo, in allegato trovi la libreria Eagle: l'ho fatta io ma è stata appena testata quindi tutto ok!
...
:ciao:
Approfitto anche io di questo doppio jack e della libreria Eagle da usare nel mio switcher, per evitare una parata di jack! Grazie Davide :pardon1:

:salu:
Jack!
Immagine
Immagine

Avatar utente
davidefender
Garzone di Roger Mayer
Garzone di Roger Mayer
Messaggi: 1437
Iscritto il: 11/02/2008, 23:51
Località: Roma
Contatta:

Re: Re:MIDI Switcher - Progetto

Messaggio da davidefender » 11/08/2010, 11:21

Salve Gente!

questo è il post più bello e felice che faccio dall'inizio dell'epopea! :ok_1: FUNZIONATUTTO! :coppa: :coppa:
Prima di blaterare ecco alcune foto:

Immagine

Immagine

Ma passiamo ai fatti. Ho testato tutto l'apparato Output, che significa: registri seriali LED, registri seriali Relay, uscite di espressione (i potenziometri digitali) e LCD.. tutto alla perfezione! La notizia è fantastica, vuol dire che il layout è quasi del tutto testato; mi manca da verificare (ma sono molto fiducioso :face_green: ) la sezione di Input e ovviamente la piccola PCB per la connessione USB, ma per ora di quella mi frega piuttosto poco! :lol1:

non mi sembra vero riguardando i primi post.. tutto questo tempo... eheheh :love_1:

Allego inoltre il codice necessario per gestire questa parte:
-
digital_io.h
(5.58 KiB) Scaricato 343 volte
è un file header con delle MACRO create con uno script che mi servono per ottimizzare la gestione dell'i/o. Le funzioni standard dell'arduino sono molto elastiche e sono ottime per progettare, ma sono molto inefficienti rispetto a delle semplici macro (ma NON usatele nei vostri progetti in generale, potreste avere risultati che non vi tornano! :lol1: )

-
output.c
(2.44 KiB) Scaricato 266 volte
qui ci sono invece tutte le funzioni per gestire al meglio l'output!
:ciao:

Avatar utente
fr3d
Diyer Eroe
Diyer Eroe
Messaggi: 582
Iscritto il: 05/12/2006, 22:49

Re: Re:MIDI Switcher - Progetto

Messaggio da fr3d » 11/08/2010, 12:27

:ohhh: :ohhh: :ohhh:
...WOW!
:pardon1: :pardon1:
...ora, hai anche pensato a come usare tutte le funzionalità di cotanta diavoleria? :face_green: :mart:

Avatar utente
davidefender
Garzone di Roger Mayer
Garzone di Roger Mayer
Messaggi: 1437
Iscritto il: 11/02/2008, 23:51
Località: Roma
Contatta:

Re: Re:MIDI Switcher - Progetto

Messaggio da davidefender » 11/08/2010, 12:30

fr3d ha scritto: ...ora, hai anche pensato a come usare tutte le funzionalità di cotanta diavoleria? :face_green: :mart:
in effetti... questo è il punto più oscuro! :lol1:

Avatar utente
davidefender
Garzone di Roger Mayer
Garzone di Roger Mayer
Messaggi: 1437
Iscritto il: 11/02/2008, 23:51
Località: Roma
Contatta:

Re: Re:MIDI Switcher - Progetto

Messaggio da davidefender » 12/08/2010, 13:08

se qualcuno gradisce un'assaggino della nuova interfaccia grafica :face_green:

Immagine

molto meglio di quella vecchia :dance_1: Dovrò riproggettarla da capo purtroppo perchè alla fine, come vedete, ho optato per un encoder rotativo (in quanto ad usabilità molto ma molto migliore dei pulsantini per svariati motivi) quindi le pagine del menu vanno completamente ripensate.. poco male, lo trovo molto divertente! :face_green:

Ho testato anche l'encoder e, come sperato, funziona anch'esso alla perfezione! :lol1:
:ciao:

Avatar utente
Hades
Roger Mayer Jr.
Roger Mayer Jr.
Messaggi: 2615
Iscritto il: 10/09/2008, 11:56
Località: Carpi (MO)

Re: Re:MIDI Switcher - Progetto

Messaggio da Hades » 13/08/2010, 1:42

Davide, cos'hai usato come IDE di sviluppo per il SW? Eclipse?
Live another day, climb a little higher, find another reason to stay...

Avatar utente
davidefender
Garzone di Roger Mayer
Garzone di Roger Mayer
Messaggi: 1437
Iscritto il: 11/02/2008, 23:51
Località: Roma
Contatta:

Re: Re:MIDI Switcher - Progetto

Messaggio da davidefender » 13/08/2010, 2:30

Ciao hades!

considera che come IDE (se così lo vogliamo chiamare...) ho usato Geany, che in realtà è un editor con riconoscitore di sintassi. Per compilare ho poi usato l'IDE di Arduino perchè lo trovo più facile. Ma praticamente lo sjetch ha solo un #include, tutto il mio codice è dentro file .c e .h

Ma invece ho trovato una terribile sorpresa... la libreria di cui sopra, RXTX NON supporta baud rate non standard... tipo 31250 che è proprio il baud rate MIDI.. che @@
cmq, per ora non me ne preoccupo, tutto a suo tempo! Per ora uso un baudrate standard per funzioni di debug, poi cercherò qualcosa!
:ciao:

Avatar utente
Hades
Roger Mayer Jr.
Roger Mayer Jr.
Messaggi: 2615
Iscritto il: 10/09/2008, 11:56
Località: Carpi (MO)

Re: Re:MIDI Switcher - Progetto

Messaggio da Hades » 13/08/2010, 15:29

Bhe io e' 2 giorni che sto impazzendo per poter usare Eclipse C++ con AVR (compilatore per architetture embedded) ma anche qui ho diversi problemi con Eclipse/RXTX sotto OSX poiche' il plugin di Eclipse per AVR non fa l'override del baudrate standard (9600) a quello di Arduino Duemilanove (57600) e RXTX non lo fa impostare come parametro.
Quindi piu' o meno e' uguale, devo caricare a mano il codice in .hex Intel da riga di comando...

Comunque il vantaggio e' non indifferente fra un editor e un IDE... Prova, ti semplifica molto lavoro!
Live another day, climb a little higher, find another reason to stay...

Avatar utente
davidefender
Garzone di Roger Mayer
Garzone di Roger Mayer
Messaggi: 1437
Iscritto il: 11/02/2008, 23:51
Località: Roma
Contatta:

Re: Re:MIDI Switcher - Progetto

Messaggio da davidefender » 13/08/2010, 18:08

eclipse in realtà lo uso da anni per la programmazione java e concordo con te: è fantastico!
Ho scelto di non utilizzarlo per il mio progetto poichè, prima di tutto il codice che sviluppo è molto semplice e lineare quindi non mi servono le grandi potenzialità dell'editor; secondo poi, volevo proprio evitare di dover perdere tempo nella configurazione dei vari plugin.. :face_green:

Considera che ora non sto più usando le librerie standard di Arduino, le ho riscritte una per una per farle calzare alla perfezione secondo le mie esigenze (il che vuol dire grande efficienza / assolutamente inutilizzabile per applicazioni che non siano il MidiMind :lol1: ). In questo modo sono riuscito prima di tutto a quasi dimezzare la lunghezza dell'hex, e poi ad usare in maniera molto ma molto veloce il uC... considera che ho cancellato tutti i file in harduino-0018\hardware\arduino\cores\arduino, ci sono rimasti solo WProgram.h e main.cpp che sono file VUOTI (non possono essere eliminati altrimenti il compilatore di Arduino lancia un errore nel linker) :ciao:

Avatar utente
davidefender
Garzone di Roger Mayer
Garzone di Roger Mayer
Messaggi: 1437
Iscritto il: 11/02/2008, 23:51
Località: Roma
Contatta:

Re: Re:MIDI Switcher - Progetto

Messaggio da davidefender » 13/08/2010, 20:06

credo di aver risolto per il discorso baudrate da 31250 :face_green:
http://www.sinneb.com/2010/06/arduino-midi-monitor/
ahhhh quanto ha da offrire internet ai volenterosi? :lol1: comunque, funziona benissimo.. e cosa più importante sembra che la libreria JavaComm (di Java per l'appunto) abbia le stesse funzionalità... tempo permettendo riuscirò a mettere tutto insieme! :numb1:

Avatar utente
jackson
Diyer Esperto
Diyer Esperto
Messaggi: 402
Iscritto il: 24/01/2010, 12:44
Località: Curno (BG)

Re: Re:MIDI Switcher - Progetto

Messaggio da jackson » 14/08/2010, 2:03

ma che lingua state parlando ??? :lol1: non ho capito una mazza degli ultimi 5-6 post. :muro:

:salu:
Jack!
Immagine
Immagine

Avatar utente
Hades
Roger Mayer Jr.
Roger Mayer Jr.
Messaggi: 2615
Iscritto il: 10/09/2008, 11:56
Località: Carpi (MO)

Re: Re:MIDI Switcher - Progetto

Messaggio da Hades » 15/08/2010, 3:17

jackson ha scritto:ma che lingua state parlando ??? :lol1: non ho capito una mazza degli ultimi 5-6 post. :muro:

:salu:
Jack!
Programmatorese / Lingua dei Nerd :lol1: :lol1: :lol1: :lol1:

Java.comm funziona bene, ma non ho idea se permetta o meno di utilizzare baudrate non-standard.
Comunque secondo me una soluzione piu' semplice secondo me c'e':

Serial.begin(31250);

Non va bene? :numb1:

PS: sono riuscito a configurare Eclipse CDT (C++) con RXTX a 64bit su OSX... Evviva la nuova release di Eclipse! Ora carico l'hex direttamente dall'IDE!
Live another day, climb a little higher, find another reason to stay...

Rispondi