[WIN] Aggiornam. compilatore IDE 0022-0023-1.0 all'ULTIMA VERSIONE ATMEL

astrobeed: [quote author=Michele Menniti link=topic=96976.msg740327#msg740327 date=1332914209] a questo punto forse basterebbe fare il passaggio opposto: cioè rinominare ArduinoISP.pde (quello della 0022) in .ino,

A parte il fatto che non serve rinominare da .pde a .ino perché la 1.0 apre anche i .pde, comunque lo sketch isp contenuto nella 1.0 è lo stesso della 0022-0023.

[/quote] Ah :~ quindi le famose xx righe in più a cui ti riferivi ieri riguardano la nuova versione che ora dovrebbe funzionare. Ho i neuroni saturi, finché non finisco questa tremenda sessione d'esami riesco solo a fare figure da deficiente :blush:

[quote author=Michele Menniti link=topic=96976.msg740341#msg740341 date=1332916217] quindi le famose xx righe in più a cui ti riferivi ieri riguardano la nuova versione che ora dovrebbe funzionare. [/quote]

Si, ed la versione fornita la 1.0.1 rc1 che ti ho allegato qualche post più sopra.

astrobeed: Ho detto e ridetto che il compilatore allegato alla 1.0, e anche alla 1.0.1 RC, e con questa vale pure per Linux, è la vecchia 4.3.2.

Astro, quel che dici non è del tutto corretto relativamente a Linux. Con Linux fino alla versione 1.0 compresa non c'è nessuna toolchain allegata all'IDE, quindi il compilatore gcc e tutta la toolchain è quella presente nel sistema. :P Solo con l'IDE 1.0.1 hanno allegato la toolchain, che è poi quella vecchia che già era fornita nelle versioni Windows.

Diciamo che sulla distribuzione più diffusa, Ubuntu, fino alla 11.04 avr-gcc era alla versione 4.3.5, dalla 11.10 mi pare sia la 4.5.x. Però non è funzionante al 100%, scazza proprio la compilazione dell'ArduinoISP.

@Menniti io mi riferivo al fatto che se guardi l'inizio dello sketch vedrai che alcune variabili (quelle che ho citato) sono dichiarate ingiustificatamente come int, quando invece saranno associate a valori che non avranno mai bisogno del segno e quindi sarebbe meglio passarle a uint e dargli la dimensione appropriata, specialmente quelle descrittive delle aree di memoria del micro, che potrebbero sforare.

Sono su Linux quindi la cosa potrebbe valere solo per me, comunque vi informo perché stamattina ho avuto 10 minuti per fare qualche prova con lo sketch ArduinoISP, la nuova toolchain Avr che ho installato ieri (quella con le patch Atmel) e l’IDE 0022.

In allegato trovate lo sketch ArduinoISP 1.0.1 che ho patchato con il fix consigliato per non mandare in overflow il buffer di ricezione (come da fix #860) con in più la velocità di trasferimento a 19200. A me ha perfettamente funzionato compilandolo con la nuova toolchain sotto IDE 0022 per programmare un Attiny85.

ArduinoISP2.pde.zip (3.85 KB)

leo72: Astro, quel che dici non è del tutto corretto relativamente a Linux. Con Linux fino alla versione 1.0 compresa non c'è nessuna toolchain allegata all'IDE, quindi il compilatore gcc e tutta la toolchain è quella presente nel sistema. :P

Scusa ma forse è meglio che rileggi quello che ho scritto:

il compilatore allegato alla 1.0, e anche alla 1.0.1 RC, e con questa vale pure per Linux, è la vecchia 4.3.2.

Mi pare di aver specificato che solo con la 1.0.1 il compilatore è la 4.3.2 anche per Linux, e da quanto ho letto pure per MAC.

BrainBooster: @Menniti io mi riferivo al fatto che se guardi l'inizio dello sketch vedrai che alcune variabili (quelle che ho citato) sono dichiarate ingiustificatamente come int, quando invece saranno associate a valori che non avranno mai bisogno del segno e quindi sarebbe meglio passarle a uint e dargli la dimensione appropriata, specialmente quelle descrittive delle aree di memoria del micro, che potrebbero sforare.

Ma sì, era solo per confessare la mia ignoranza, comunque ora sei stato chiarissmo for dummies :~

@ Leo: devo considerare il tuo file come una versione migliore di quella del link? cioè stasera posso provare questa invece di quella che Astro mi ha preparato stamattina? PS: comunque effettivamente ti è sfuggito cosa diceva Astro a proposito del compilatore, c'è perfino un cazziatone a me sull'argomento :blush: trattato mentre dormivi beatamente :)

leo72: In allegato trovate lo sketch ArduinoISP 1.0.1 che ho patchato con il fix consigliato per non mandare in overflow il buffer di ricezione (come da fix #860) con in più la velocità di trasferimento a 19200. A me ha perfettamente funzionato compilandolo con la nuova toolchain sotto IDE 0022 per programmare un Attiny85.

Confermo che il nuovo sketch isp allegato alla 1.0.1 funziona perfettamente anche con la 0022-0023, però è necessario settare la seriale a 19200 perché questa è la velocità prevista dall'IDE per questa funzionalità, se lo lasciate a 9600 funziona esclusivamente con la 1.0.1. Ovviamente l'ho compilato sia per la 0023 che la 1.0.1 con la toolchain Atmel :D , non ho provato con la 1.0 ma non credo che funziona con questa, problema relativo perché la 1.0.1 prenderà il posto della 1.0 a breve.

astrobeed:

leo72: In allegato trovate lo sketch ArduinoISP 1.0.1 che ho patchato con il fix consigliato per non mandare in overflow il buffer di ricezione (come da fix #860) con in più la velocità di trasferimento a 19200. A me ha perfettamente funzionato compilandolo con la nuova toolchain sotto IDE 0022 per programmare un Attiny85.

Confermo che il nuovo sketch isp allegato alla 1.0.1 funziona perfettamente anche con la 0022-0023, però è necessario settare la seriale a 19200 perché questa è la velocità prevista dall'IDE per questa funzionalità, se lo lasciate a 9600 funziona esclusivamente con la 1.0.1. Ovviamente l'ho compilato sia per la 0023 che la 1.0.1 con la toolchain Atmel :D , non ho provato con la 1.0 ma non credo che funziona con questa, problema relativo perché la 1.0.1 prenderà il posto della 1.0 a breve.

«cumu disse lu surice alla nuci: "dammi tiampu ca ti cupu"» :grin: Traduco per i più lontani: il topo disse alla noce: "prima o poi riuscirò a bucarti, stanne certa!" Dalle nostre parti è il detto che si usa per indicare la tenacia di chi vuole risolvere un problema e, se non ce la fa da solo, fracassa i cabasisi agli altri fino a raggiungere il suo scopo. Lo dedico a me stesso quale scassatore di cabasisi, ed a voi quali risolutori reali del problema, grandi!

[quote author=Michele Menniti link=topic=96976.msg740452#msg740452 date=1332927786] Lo dedico a me stesso quale scassatore di cabasisi, ed a voi quali risolutori reali del problema, grandi! [/quote]

Ho fatto la prova anche con la 1.0, come previsto non funziona col vecchio sketch isp indipendentemente dal compilatore usato, con il nuovo sketch ISP compilato sia con la toolchain Atmel che quella originale, velocità a 19200, non funziona lo stesso, parte lavora un pochino poi si pianta. Ho provato anche a programmare degli sketch con la 1.0.1, sempre toolchain Atmel, tramite Arduino isp e funziona bene pure questa.

leo72: n allegato trovate lo sketch ArduinoISP 1.0.1 che ho patchato con il fix consigliato per non mandare in overflow il buffer di ricezione (come da fix #860) con in più la velocità di trasferimento a 19200. A me ha perfettamente funzionato compilandolo con la nuova toolchain sotto IDE 0022 per programmare un

Provato anche questo, funziona pure con l'IDE 1.0

Quindi funziona con 0022/23 e con 1.0.1 ma NON con 1.0; come ha detto tu il problema è assolutamente relativo, visto che chi è passato alla 1.0 certamente passerà alla 1.0.1. Riguardo la velocità la patch quindi propone 9600 come diceva Leo ed invece va reimpostata a 19200, come quella originale della 0022?

Leggo il tuo nuovo test e quindi possiamo adottare la versione di Leo come definitiva, almeno per ora?

La versione patchata proposta da Leo funziona anche con la 1.0, quella originale no.
La questione velocità dipende esclusivamente dall’IDE, se questo comunica a 19200, ovvero fino alla versione 1.0, la velocità dello sketch deve essere settata a questo valore, se comunica 9600, la 1.0.1, lo sketch deve lavorare a 9600.
Da notare che lo sketch ISP originale compilato con la nuova toolchain non funziona nemmeno con la 0022-0023, in tutti i casi ormai sappiamo che il problema è lui e non il compilatore.

x menny,

la modifica dello sketch arduinoisp della mia guida non e' solo l'estensione, l'autore ha detto che nemmeno lui si ricorda quante modifiche ha dovuto fare per sistemarlo. quindi e' del tutto diverso dall'originale, pero' funziona.

lo si potrebbe guardare dentro, per voi programmatori, magari si scoprono cose interessanti. Non ultimo il discorso velocita' di esecuzione.

@testato Io ho dato un'occhiatina di sfuggita allo sketch allegato alla tua guida, e devo dire che oltre allo stile totalmente differente, ci sono anche cose effettivamente interessanti, come il generatore di clock per i micro con i fuse settati per un quarzo esterno erroneamente :) ed altre tecniche interessanti. Se non ho capito male fà anche una calibrazione del clock all'inizio. Ma nel pomeriggio avrò più tempo per guardarlo meglio...

astrobeed: [quote author=Michele Menniti link=topic=96976.msg740474#msg740474 date=1332929228] Leggo il tuo nuovo test e quindi possiamo adottare la versione di Leo come definitiva, almeno per ora?

La versione patchata proposta da Leo funziona anche con la 1.0, quella originale no. La questione velocità dipende esclusivamente dall'IDE, se questo comunica a 19200, ovvero fino alla versione 1.0, la velocità dello sketch deve essere settata a questo valore, se comunica 9600, la 1.0.1, lo sketch deve lavorare a 9600. Da notare che lo sketch ISP originale compilato con la nuova toolchain non funziona nemmeno con la 0022-0023, in tutti i casi ormai sappiamo che il problema è lui e non il compilatore.

[/quote] ecco, ora ho la sensazione di leggere l'opposto di ciò che ho letto prima, ecco perché poi boccio ]:D e dirò loro che è colpa vostra, qualcuno ha già fatto il biglietto per Roma :stuck_out_tongue_closed_eyes:. Qui ci vuole una bella tabella con versione ISP, versione IDE, versione Compiler, bps, funziona sì/no altrimenti mi tocca rileggere gli ultimi 20 interventi e ricominciare con le domande scassanoci

@ testato: sì, questa cosa è stata chiara quando Astro mi ha detto che l'ArduinoISP era uguale per 0022 e 1.0, ma avevo detto di non averla seguita quella tua guida perché non uso la 1.0.

[quote author=Michele Menniti link=topic=96976.msg740512#msg740512 date=1332931312] Qui ci vuole una bella tabella con versione ISP, versione IDE, versione Compiler, bps, funziona sì/no altrimenti mi tocca rileggere gli ultimi 20 interventi e ricominciare con le domande scassanoci [/quote]

La cosa è semplicissima, lo sketch ISP da usare è quello ufficiale allegato al'IDE 1.0.1, che è quello che ti avevo allegato, se parliamo di articoli/guide da pubblicare, se non altro per non creare confusione alle persone con versioni non ufficialmente supportate dall'Arduino Team.

IDE 0022 velocità sketch ISP 19200 IDE 0023 velocità sketch ISP 19200 IDE 1.0 non funziona indipendentemente dalla toolchain, eventualmente usare la versione patchata proposta da Leo a 19200. IDE 1.0.1 velocità sketch ISP 9600

astrobeed: [quote author=Michele Menniti link=topic=96976.msg740512#msg740512 date=1332931312] Qui ci vuole una bella tabella con versione ISP, versione IDE, versione Compiler, bps, funziona sì/no altrimenti mi tocca rileggere gli ultimi 20 interventi e ricominciare con le domande scassanoci

La cosa è semplicissima, lo sketch ISP da usare è quello ufficiale allegato al'IDE 1.0.1, che è quello che ti avevo allegato, se parliamo di articoli/guide da pubblicare, se non altro per non creare confusione alle persone con versioni non ufficialmente supportate dall'Arduino Team.

IDE 0022 velocità sketch ISP 19200 IDE 0023 velocità sketch ISP 19200 IDE 1.0 non funziona indipendentemente dalla toolchain, eventualmente usare la versione patchata proposta da Leo a 19200. IDE 1.0.1 velocità sketch ISP 9600 [/quote] Perfetto, questo sì che è un quadretto chiaro :* :grin:

@astro: ho letto male, sottigliezze grammaticali che ti sfuggono quando leggi di corsa

@tutti: adesso che ho un po' di tempo spiego con calma (stamani ero di fretta, dovevo accompagnare mia moglie a fare un esame, siamo stati via diverse ore). Vorrei dire la mia sulla questione sketch ArduinoISP. Non pensiate che stia dando contro ad astrobeed, d'altronde questo thread parla di WINDOWS mentre io opero su LINUX, quindi ci sta che ci sia qualcosa di differente fra i 2 mondi. Stamattina, con la toolchain Atmel nuova nuova (toolchain Atmel, quindi avr-gcc 4.5.1 Gnu con patch Atmel) ho provato a compilare lo sketch ArduinoISP allegato all'IDE 0022. Risultato: NON FUNZIONA. A 19200 bps, cioè la velocità di serie, dà errori di "protocol error, failed to write to flash ecc..". A 9600 non va, è fuori sincronia.

Con lo sketch che ho allegato, che ho chiamato ArduinoISP2, va perfettamente a 19200.

Quindi con la nuova toolchain Atmel, almeno su Linux, lo sketch ArduinoISP non si compila correttamente mentre lo sketch ArduinoISP2 compila e lavora perfettamente. Quindi io metterei una discriminante anche sulla versione della toolchain che si usa: con la 4.3.x l'ArduinoISP va, con la 4.5 no.

PS: @mike: ArduinoISP2: che cos'è? E' lo sketch ArduinoISP dell'IDE 1.0.1 con il bugfix #860 (che era per l'ArduinoISP distribuito con la 1.0)

leo72: Stamattina, con la toolchain Atmel nuova nuova (toolchain Atmel, quindi avr-gcc 4.5.1 Gnu con patch Atmel) ho provato a compilare lo sketch ArduinoISP allegato all'IDE 0022. Risultato: NON FUNZIONA.

Forse non sono stato chiaro, anche sotto Windows il vecchio sketch isp non funziona se compilato con una release del compilatore più recente.

A 9600 non va, è fuori sincronia.

A 9600, con IDE precedente alla 1.0.1, non può funzionare perché l'IDE dialoga a 19200 ed ovviamente se lo sketch dialoga a 9600 non si capiscono :)

mentre lo sketch ArduinoISP2 compila e lavora perfettamente. Quindi io metterei una discriminante anche sulla versione della toolchain che si usa: con

Ci tengo a sottolineare che lo sketch ISP allegato alla 1.0.1 funziona perfettamente sia con la 00022-23 (19200) che la 1.0.1 (9600), mentre non funziona con la 1.0, ma con questa sicuramente il problema è nel buffer overflow della seriale che si risolve con la patch che hai applicato alla ISP2. Speriamo che con la 1.0.1 definitiva diano la ISP patchata riportando la velocità a 19200.