Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[arduino] confltti sulla porta seriale
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4787
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Wed Nov 27, 2013 6:04 am    Post subject: [arduino] confltti sulla porta seriale Reply with quote

sto cominciando a giocare con arduino.
ho sistemato le cose per lavorare da terminale con scons.

quando voglio leggere la porta seriale, uso miniterm.py (dev-python/pyserial).
a volte però, ho bisogno di effettuare un semplice cat /dev/arduino o di redirigere il flusso di miniterm.py verso una pipe di bash.

in questi casi, incontro degli inceppi non facilmente riproducibili.
a volte le cose funzionano benissimo, altre volte l'ouput langue, altre ancora il cat restituisce un ouput vuoto.
resettare arduino ricaricando lo sketch non sempre giova.

sospetto che la cosa dipenda da demoni non identificati che si affollano sulla porta seriale di arduino a mia insaputa.
come posso fare a controllare il fenomeno e arginarlo?
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 522

PostPosted: Thu Nov 28, 2013 6:30 pm    Post subject: Re: [arduino] confltti sulla porta seriale Reply with quote

Quando ci giocavo io (poi ho comprato raspberry e beaglebone e ho lasciato perdere) ho notato che usare una porta USB3 o un hub ogni tanto crea casini, quindi prova ad attaccarlo direttamente a una porta USB2.
Altra cosa importante, /dev/ttyUSB* (o era ttyACM?) non è detto che abbia settato il baudrate corretto e quindi potrebbe non stamparti nulla, mi pare si possa sistemare con stty. Per il tuo programma in pipe invece non ne ho proprio idea.

Per quanto riguarda eventuali altri demoni la cosa mi risulterebbe strana, perché se ci fosse già qualcun altro sulla porta seriale dovresti ottenere un bel "device busy" o qualcosa di simile. Se la apri e chiudi ogni lettura, invece potrebbe essere plausibile. Però a parte il servizio del modem di NetworkManager non so chi potrebbe andarla a toccare.
_________________
Linux registered user 461710
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4787
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Fri Nov 29, 2013 4:28 pm    Post subject: Re: [arduino] confltti sulla porta seriale Reply with quote

pierino_89 wrote:
mi pare si possa sistemare con stty

si. qualche volta riesco a riprendere il controllo con stty, ma non è un workaround sicuro.

a volte non c'è proprio verso. addirittura devo ributtare la macchina che sembra windows.
non ricevo mai, però, dei "device busy".
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 522

PostPosted: Fri Nov 29, 2013 5:01 pm    Post subject: Reply with quote

In un progetto ho un lettore RFID usb, che mi crea una seriale ttyACM0 a 9600 baud/s, che se non ricordo male è lo stesso settaggio di Arduino.
A me interessa solo leggere i codici che stampa, riga per riga, quindi ho un programmino che legge un pugno di caratteri e lo sputa su stdout (e fa un flush del buffer subito dopo). In pipe ti giuro che funziona. Vedi se può fare al caso tuo.

https://github.com/pierinz/citofonoweb/blob/rewriteC/serial_read.c

(è l'ultimo arrivato del progetto quindi è fatto abbastanza al volo, ma dovrebbe garantire le funzionalità minime)
_________________
Linux registered user 461710
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4787
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Thu Dec 05, 2013 8:50 pm    Post subject: Reply with quote

alla fine, credo di avere risolto che, nel mio caso, serve questa riga di stty:
Code:

stty -F /dev/arduino 1:0:1cb2:80:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0


molte delle soluzioni che si trovano in internet, funzionano solo in certi casi.
se si accede alla seriale con programmi diversi, infatti, può accadere che uno di essi lasci la seriale in uno stato non utilizzabile agli altri programmi e non ripristinabile con una riga di stty imperfetta.

quella che ho postato sopra sembra piuttosto efficace.
la faccio attivare con una regola di udev e ho aggiunto nel sistema un comando apposito per ripristinare la configurazione all'occorrenza.
non ne sono certo del tutto, ma adesso ho la sensazione di avere trovato una configurazione stabile.
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum