Go Down

Topic: Problemi Baudrate 115200 su Windows7 (Read 2 times) previous topic - next topic

Madwriter


Quote
no. i bug eclatanti sono quelli che fanno esplodere i missili in volo...


sì, che però rende inutilizzabile un baud-rate diverso da 9600 (è passato un pò da quando ho proposto la soluzione, ma mi pare che l'errore fosse anche nell'inglese, visto che anche l'inglese è una intenazionalizzazione, in pratica traduci da inglese ad inglese. In effetti di solito si usano dei numeri)

Far esplodere un razzo in volo è eclatante se hai esperienza nei razzi. Far crashare un server è eclatante se hai esperienza nei server. Un bug che ti blocca ad usare una sola velocità baudrate è eclatante per un software che ha esperienza (siamo alla 25° versione se non erro). IMHO era da rilasciare immediatamente una 1.0.2 col bug risolto e far sparire la 1.0.1 (Madwriter è questo che intendi per blocking urgent?)

d'altronde è un sistema per principianti no? e un principiante on ci arriva che cambiare il baudrate non funziona perchè è l'IDE sbagliato e non il suo codice. Mai provato a studiare su un libro di testo sbagliato?

Esattamente questo è uno di quei bug che in produzione va risolto immediatamente e il rilascio deve avvennire nelle 24 ore successive dalla scoperta del bug.
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Massimo Banzi

Come ho detto, non si può sempre rilasciare nuove versioni perchè abbiamo notato che più frequenti sono e meno la gente aggiorna.

In ogni caso il problema principale è la difficoltà di fare update incrementali automatici con l'ide corrente.

se qualcuno sa come implementarlo in un'applicazione java multi piattaforma (tipo come fa sparkle su mac os x)
me lo faccia sapere

m

Madwriter

#17
Aug 30, 2012, 04:43 pm Last Edit: Aug 30, 2012, 04:50 pm by Madwriter Reason: 1

Come ho detto, non si può sempre rilasciare nuove versioni perchè abbiamo notato che più frequenti sono e meno la gente aggiorna.

In ogni caso il problema principale è la difficoltà di fare update incrementali automatici con l'ide corrente.

se qualcuno sa come implementarlo in un'applicazione java multi piattaforma (tipo come fa sparkle su mac os x)
me lo faccia sapere

m


sarebbe effettivamente un ottima idea implementare un autoupdate.
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

lesto

il sistema più di base è un programma esterno che viene lanciato, se rileva una nuova veriosne sul server CANCELLARE completamente il contenuto della cartella arduino (tranne se stesso che non può) e sostituirlo con la versione successiva. Le modifiche utente dovrebbero rimanere immutate in quanto in un'altra cartella (il preferencies.txt e lo sketcbook, per intenderci).
nel caso il preferencies.txt fosse aggiornato, è compito dell'ide al primo avvio riconoscerne la versione e riscriverlo nella versione aggiornata
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Madwriter


il sistema più di base è un programma esterno che viene lanciato, se rileva una nuova veriosne sul server CANCELLARE completamente il contenuto della cartella arduino (tranne se stesso che non può) e sostituirlo con la versione successiva. Le modifiche utente dovrebbero rimanere immutate in quanto in un'altra cartella (il preferencies.txt e lo sketcbook, per intenderci).
nel caso il preferencies.txt fosse aggiornato, è compito dell'ide al primo avvio riconoscerne la versione e riscriverlo nella versione aggiornata

ma questo è facile si fa un check su db o su file si vede se la versione del software è inferiore a quella su server, se si ,si apre una popup con una proposta di aggiornamento,se clicchi su yes un software indipendente viene lanciato e cancella tutto quello che c'è nella cartella di arduino scarica il nuovo zip e lo estrae.
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

leo72

Quoto questo modus operandi. A suo tempo lo feci anch'io per unmio gestionale in VB6.
Lanciavo un programma esterno che controllava un semplice file txt presente su un server remoto. Se la versione scritta in quel file era maggiore di quella del programma in locale, cancellava quest'ultimo e scaricava il nuovo.

lesto

esatto. fondamentalmente è una boiata.
il programma indipendente invece viene aggiornato dall'IDE stesso prima di lanciarlo (quindi in maniera trasparente all'utente e solo se preme sì). In questo modo non dovrebbero mai aversi problemi anche in caso di aggiornamenti particolari
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Madwriter

diciamo che in 20 minuti si implementa il tutto per i vari OS.
Anche se io farei anche una lista con tutti i file da cancellare,cosi se un arduiniano ci nasconde i porno nella cartella di arduino non rischia di perderli per sempre  :smiley-yell:
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

lesto

tra l'altro non serve nemmeno una scrittura di codice differente per i vari OS, se si fa tutto in java.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

PaoloP

#24
Aug 30, 2012, 06:02 pm Last Edit: Aug 30, 2012, 06:08 pm by PaoloP Reason: 1
Workaround --> Imposta la lingua Inglese e riavvia l'IDE 1.0.1  :smiley-mr-green: :smiley-mr-green: :smiley-mr-green:


Questa è una cavolata dovuta all'internazionalizzazione.

In effetti mettendo l'interfaccia in Inglese, il bug non c'è.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

leo72

Sì, aggiri il problema ma non lo risolvi. Il bug c'è.

PaoloP


Sì, aggiri il problema ma non lo risolvi. Il bug c'è.

Certo, ma se ti serve giusto testare un programma su Windows 7, almeno ci metti una pezza aspettando la 1.0.2 a fine settembre.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

superlol

comunque il sistema migliore per l'update è quello (dopo il check di versione) di scaricare un archivio zippato o come su vuole nella cartella ed al riavvio dell'ide lo si estrae (un qualcosa di simile lo fa mozilla adesso se non erro)
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

cyclone

#28
Aug 30, 2012, 10:46 pm Last Edit: Aug 30, 2012, 11:10 pm by cyclone Reason: 1

Nel codice uso Serial.print per visualizzare avanzamento dei cicli ma aprendo la finestra ho dei caratteri "speciali".
Ho provato a usare 9600 e funziona...ma purtroppo devo usare 115200 per comunicare con lo shield...


il problema dovrebbe essere legato a questo:
con un clock di 16Mhz esatti e settando un baudrate di 115200 si ha un errore in percentuale di 7.84% sul baudrate.
NB. per avere un errore dello 0% il quarzo dovrebbe essere di 14745600Hz o atri valori speciali ma non 16Mhz.

Alcuni PC, con usart particolari, non hanno una accettanza così ampia e quindi il terminale settato su 115200 interpreta in modo errato i caratteri in ingresso dalla seriale, cosa che non accade in senso inverso cioè dal PC verso l'arduino. Già a 57600 l'errore si riduce ad appena 2.08% per passare a 0.16% se il baudrate viene settato a 38400.

......Non dipende dall' OS Win7 ma bensì dal quarzo installato su arduino.... prova a cambiarlo con uno da 14745600, ricompila con il nuovo baudrate e vedrai che si aggiusta tutto.
Il firmware girerà appena più lento ma risolverai i prb sulla seriale a 115200.


Ciao

PaoloP



Nel codice uso Serial.print per visualizzare avanzamento dei cicli ma aprendo la finestra ho dei caratteri "speciali".
Ho provato a usare 9600 e funziona...ma purtroppo devo usare 115200 per comunicare con lo shield...


il problema dovrebbe essere legato a questo:
con un clock di 16Mhz esatti e settando un baudrate di 115200 si ha un errore in percentuale di 7.84% sul baudrate.
NB. per avere un errore dello 0% il quarzo dovrebbe essere di 14745600Hz o atri valori speciali ma non 16Mhz.

Alcuni PC, con usart particolari, non hanno una accettanza così ampia e quindi il terminale settato su 115200 interpreta in modo errato i caratteri in ingresso dalla seriale, cosa che non accade in senso inverso cioè dal PC verso l'arduino. Già a 57600 l'errore si riduce ad appena 2.08% per passare a 0.16% se il baudrate viene settato a 38400.

......Non dipende dall' OS Win7 ma bensì dal quarzo installato su arduino.... prova a cambiarlo con uno da 14745600, ricompila con il nuovo baudrate e vedrai che si aggiusta tutto.
Il firmware girerà appena più lento ma risolverai i prb sulla seriale a 115200.


Ciao


Sbagliato.
Il bug di cui stiamo parlando è legato ad un " " che si sono dimenticati nella versione internazionale.
Quello di cui parli tu è un'altra cosa.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Go Up