Visualizzazione post con etichetta bug. Mostra tutti i post
Visualizzazione post con etichetta bug. Mostra tutti i post

mercoledì 9 febbraio 2011

Un bug che non riesco a risolvere...

Arduinome funziona a meraviglia, a parte il fatto che non ha ancora una cornice appropriata e  un fastidioso bug che non riesco a risolvere. Dopo il video spiegherò meglio i dettagli:



A volte, quando premo un bottone, questo rimane acceso e il software lo interpreta come se lo stessi ancora premendo e fino a quando non lo premo nuovamente, questa situazione non si sblocca.
Premetto che qualsiasi utilizzo io ne stia facendo, il blocco non tarda ad arrivare. Nel caso stia utilizzando il programma On/Off di serialpyio (vedi post precedenti) non mi da nessun fastidio, ma se si blocca mentre sto registrando un pezzo, diventa più fastidioso.
Non riesco a capire in quali cause risieda questo problema, l'unica cosa che credo di poter escludere (spero!) è la componente hardware, in quanto i tasti funzionano bene e soprattutto si verifica in maniera casuale, in qualsiasi posizione della matrice.

L'unico accorgimento che ha diminuito il bug (o almeno così mi è sembrato) è stato l'aumento del baudrate, di default 57600, a 115200. In questo modo arduinome sarà più reattivo e quindi andrà a diminuire anche la latenza. In ogni caso è conveniente aumentare il baudrate e per farlo sono necessari solo questi brevi passaggi:

Aumentare il baudrate di arduinome
Per farlo andremo a modificare sia il firmware (3.2 l'attuale) di arduinome, che il programma al quale si interfaccia, ovvero serialpyio.

Firmware
  1. Aprire il firmware 3.2 attraverso la software di arduino
  2. Posizionarsi sulla riga 488 e cambiare il numero contenuto tra parentesi dopo Serial.begin, da 57600 a 115200.
  3. Verify e Upload
Serial-pyIO
  1. Posizionarsi nella cartella principale di serialpyio e poi src\spyio
  2. Per sicurezza creiamo una copia di backup del file router.py, che andremo ad editare
  3. Aprire router.py. In mancanza di python, per comodità consiglio l'utilizzo di Notepad++, che numera le righe, altrimenti qualsiasi editor di testo andrà benissimo.  
  4. Posizionarsi sulla riga 1194 e modificare il numero finale di questa stringa da 57600 a 115200
                   spyio.gui.dialog.devicedialog.AddSerialDeviceDialog(self, False, 57600)
             

Dopo queste due modifiche, quando interfacceremo il nostro arduinome a serial-pyIO avrà un baurate più elevato.

Baudrate