Newsgroup: it.comp.os.linux.sys
Titolo: ancora linux-rs232

Scusate se ripropongo questa roba noiosa, ma sto andando fuori di 
testa.... dopo un lungo provare e riprovare ci sono quasi, ma non
ci sono.....
Ricordo che devo acquisire dati dalla seriale e mandarli ad un file di
testo che in seguito userò con perl. L'acquisizione con winzoz funziona
bene, con hyper terminal a 19200/8/N/1 e selezionando 'send line ends'.
Ho provato
setserial /dev/ttyS0 divisor 1 baud_base 115200 autoconfig spol_cust   
                                                     session_lockout
cat /dev/ttyS0
e visualizzo correttamente i dati però si sovrascrivono su una sola riga
ora, se ridirigo il tutto in un file tramite
setserial...... >> file
poi nel file mi ritrovo solo una riga.
Analogamente se utilizzo il programma logserial tramite
logserial -t /dev/ttyS0 -s 19200 >> file
Analogamente se uso il minicom.
E' sbagliato usare >> ???? Come faccio a dirgli di andare a capo dopo
ogni riga inserita?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ogni riga inserita?
Evidentemente l'uotput non va a capo, o non va a capo come ci si
aspetterebbe (ipotesi: il dispositivo invia solo LF).
bye G.L.
--
« E' assolutamente evidente che l'arte del cinema
 si ispira alla vita, mentre la vita si ispira alla TV »
(Woody Allen)

 aspetterebbe (ipotesi: il dispositivo invia solo LF).
Certo,il fatto è che quando acquisivo con hyper terminal c'era un
flag 'send line ends with line feeds' che sistemava la cosa,
ma non riesco a fare altrettanto con linux.... devo stare a premere
invio alla velocità della luce per farlo andare a capo il che non è il
massimo della professionalità....già fa ridere la mia faccia :-)
mah...se son fiori fioriranno, se son cachi.....


 mah...se son fiori fioriranno, se son cachi.....
Usare minicom, usare minicom, usare minicom. E` molto piu` comodo al
prezzo della lettura di un pelo di documentazione (10/15 minuti).
Se poi nella tua vita hai usato altri programmi di emulazione terminale
diversi da "hyper-terminal" (che e` storicamente un bocchino), tipo
telix, ti ritrovi praticamente a casa.
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
Debian GNU/Linux: because size DOES matter.

Usare minicom, usare minicom, usare minicom.
Oppure studiare perl o altro linguaggio di scripting, visto quello che vuole 
fare dopo.
Alessandro.

 mah...se son fiori fioriranno, se son cachi.....
eh ma guarda che unix e windows non cvanno molto d'accordo con il
caporiga.
Prova a vedere se smandruppando la configurazione di minicom riesci a farl
oad andare a capo normale.

 wrote in message
news:cKF7b.92762$
sj6.1...@tornado.fastwebnet.it

????? il fatto puň interessare molto... 
c'č un modo di leggere da seriale da perl??
Altrimenti mi potrei buttare su questa strada!!!


 telix, ti ritrovi praticamente a casa.
OK, ma minicom non lo conosco e non ho trovato nessun howto!!!!!
Qualcuno può indicarmi qualche documento??


 Altrimenti mi potrei buttare su questa strada!!!
Con apposito modulo:
http://search.cpan.org/author/COOK/Device-SerialPort-0.22/SerialPort.pm
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
Is your homepage Y2K compliant? Pipe it through "tr 'yY' 'kK'" to make sure.

 Qualcuno può indicarmi qualche documento??
La *documentazione* del programma. cd /usr/share/doc/minicom e man
minicom.
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------


 flag 'send line ends with line feeds' che sistemava la cosa,
[snip]
domanda stupida...
sei sicuro che nel file non ci siano finiti tutti i dati e che il tuo 
sia un problema di visualizzazione?
cat /dev/ttyS0 > testo.txt
dovrebbe copiare tutto quello che gli arriva, fregandosene se ci sono 
LF, CR o quello che vuoi.
Pero' magari quando esamini il file, se ci sono solo LF questi ti 
fregano sovrascrivendo sempre l'ultima riga mostrata. Ok sembra una 
stupidata lo so :-)
Cosi' per curiosita', quanto e' grande il file generato? le sue 
dimensioni tornano con la lunghezza della riga che vedi?
ciao

 
azzzzz..... il file di è grande!! Come se contenesse tutto! E quindi?
ciaociao 


 azzzzz..... il file di è grande!! Come se contenesse tutto! E quindi?
E quindi, se non si fosse ancora capito, e' il fine linea. Cerca utility
di conversione, tipo dos2unix, che forse risolvono il problema. Non e'
comunque detto, perche' da dos/windows a unix, si tratta di eliminare da
0C0A proprio il 0A (line feed), e lasciare solo 0C (carriage return), che
in unix fa la vece sia di line feed che carriage return (stampanti a
parte, preciserei, anche se la maggior parte di esse si possono
configurare ad hoc per interpretare correttamente qualunque EOL...).
Comunque, se 0C e' l'eol di unix, e 0C0A e' l'eol di dos/windows, 0A e'
l'eol del mac...    :-)


 l'eol del mac...    :-)
Beh, quasi. La versione "precisa" e` questa:
unix: linefeed (0x0A) (LF)
dos : carriagereturn-linefeed (0x0D,0x0A) (CR/LF)
linefeed viene anche chiamato "Newline". Detto questo, dipende molto da
che editor viene utilizzato e su quale piattaforma.
ridetto questo, e facendosi aiutare dal nostro amico perl, si puo`
utilizzare questo oneliner, per fare conversioni, sapendo che:
LF => \n
CR => \r
quindi, dos2unix e` cosi`:
perl -pi'.orig' -e 's/\r\n/\n/' nomefile
e unix2dos cos':
perl -pi'.orig' -e 's/\n/\r\n/' nomefile
(viene generato un backup di che termina in .orig).
Ps:
di solito edito file con vim, e li esiste il comodo :set fileformat=unix
oppure :set fileformat=dos.
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
If you're not part of the solution, be part of the problem!

 dos : carriagereturn-linefeed (0x0D,0x0A) (CR/LF)
Azz... 0d, non 0c...
Giuro che e' un refuso, giuro di aver lavorato con hexdump, giurin giurella giuro
di aver scritto anni fa un editor che faceva anche da convertitore fine
linea...     :-)


 azzzzz..... il file di è grande!! Come se contenesse tutto! E quindi?
quindi sei a posto (+o-),
se vuoi avere un file "leggibile" con un normale cat
puoi provare a convertire i LF in CR ad esempio con:
	tr \\r \\n
ma non ne hai bisogno se devi in ogni caso aprire questo file con un
qualsiasi programma.
Quando ti scriverai il tuo programmillo (bash/per/python quello che e')
per analizzare il file e creare il grafico dei dati basta che ti ricordi 
  che le tue righe finiscono con un LF invece che con un CR.
P.S.
Sulle mie linux box, un file che ha solo LF si vede benissimo su stdout 
dando un semplicissimo cat, il fatto che l'OP non veda tutte le linee 
puo' dipendere dalle impostazioni del suo terminale?
byez

 che faceva anche da convertitore fine linea...     :-)
Rotfl. Ci mancherebbe dai. io faccio prima a ricordarmeli come \r e \n
apposta. :)
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
Windows, another fine product from the folks who gave us edlin.