Giocando con l'Attiny85

ciao Leo, tempo fa avevo sentito che avevi risolto i problemi sulla connessione seriale in ricezione per i tiny, ma non l'ho ancora provato :sweat_smile: funziona?
sono stato un po' assente dal forum ultimamente, ho visto che hai messo un link con una cartella con tanta bella roba sui tiny, c'è già dentro la libreria per la seriale aggiornata? grazie! :wink:

Configurazione funzionante su mac:
board: arduino 1
ide: 1.0
programmer: tinyisp

e per velocizzare il flashing ho fatto un bel programmer con una millefori :grin:

er_like_no_other:
ciao Leo, tempo fa avevo sentito che avevi risolto i problemi sulla connessione seriale in ricezione per i tiny, ma non l'ho ancora provato :sweat_smile: funziona?
sono stato un po' assente dal forum ultimamente, ho visto che hai messo un link con una cartella con tanta bella roba sui tiny, c'è già dentro la libreria per la seriale aggiornata? grazie! :wink:

Funziona tutto. Se scarichi l'ultima versione della guida dal mio sito (www.leonardomiliani.com sez. arduino) ci sono tutte le modifiche per far funzionare correttamente I2C e Seriale sui Tiny.

Avete provato se con la nuova toolchain di ATMEL si possono programmare i tiny con ArduinoISP?

PaoloP:
Avete provato se con la nuova toolchain di ATMEL si possono programmare i tiny con ArduinoISP?

Si, provato con attiny85, 84 e 44!

ivan64:

PaoloP:
Avete provato se con la nuova toolchain di ATMEL si possono programmare i tiny con ArduinoISP?

Si, provato con attiny85, 84 e 44!

Quale toolchain hai usato, quella scaricata dal sito Atmel, quella costruita con lo script di Avrfreaks o quella distribuita con l'IDE 1.0.1RC? Su che SO?

leo72:
Quale toolchain hai usato, quella scaricata dal sito Atmel, quella costruita con lo script di Avrfreaks o quella distribuita con l'IDE 1.0.1RC? Su che SO?

Sito Atmel, funziona sia con la 0.22 che 0.23, Windows 7 x64..... provata con la 0.22 anche su un netbook con XP pro, tutto ok con un attimy84.

Ah, ma tu hai Windows. Quindi l'hai sostituita semplicemente a quella contenuta nell'IDE, giusto?

leo72:
Ah, ma tu hai Windows. Quindi l'hai sostituita semplicemente a quella contenuta nell'IDE, giusto?

Esatto!

l1q1d:
Configurazione funzionante su mac:
board: arduino 1
ide: 1.0
programmer: tinyisp

e per velocizzare il flashing ho fatto un bel programmer con una millefori :grin:

Ciao Liquid, hai risolto il problema con un programmatore USBTiny, ho capito bene?
Anche io ho combattuto parecchio con un mac, arduino, IDE 1.0, ed i Tiny85 da programmare, se vai indietro nelle pagine vedi quanto ho tribolato!!
Volevo dirti che ho risolto, utilizzando Arduino as ISP, utilizzando la IDE 0022, quella che viene proposta nella maggior parte delle guide, mentre con la 1.0, non sono mai andato da nessuna parte!
Ciao

leo72:

er_like_no_other:
ciao Leo, tempo fa avevo sentito che avevi risolto i problemi sulla connessione seriale in ricezione per i tiny, ma non l'ho ancora provato :sweat_smile: funziona?
sono stato un po' assente dal forum ultimamente, ho visto che hai messo un link con una cartella con tanta bella roba sui tiny, c'è già dentro la libreria per la seriale aggiornata? grazie! :wink:

Funziona tutto. Se scarichi l'ultima versione della guida dal mio sito (www.leonardomiliani.com sez. arduino) ci sono tutte le modifiche per far funzionare correttamente I2C e Seriale sui Tiny.

ok grazie mille! :wink:

radiojam11:
Ciao Liquid, hai risolto il problema con un programmatore USBTiny, ho capito bene?
Anche io ho combattuto parecchio con un mac, arduino, IDE 1.0, ed i Tiny85 da programmare, se vai indietro nelle pagine vedi quanto ho tribolato!!
Volevo dirti che ho risolto, utilizzando Arduino as ISP, utilizzando la IDE 0022, quella che viene proposta nella maggior parte delle guide, mentre con la 1.0, non sono mai andato da nessuna parte!
Ciao

E' venuto fuori che lo sketch ArduinoISP contenuto nell'IDE 1.0 non funziona come programmatore ISP c'è un thread aperto da Testato per la soluzione. Personalmente non uso questa versione perché a me la 0022 va perfettamente, compreso lo sketch ArdunoISP.

Ciao Leo buon giorno,
e grazie ancora per l'aiuto che mi hai fornito in passato. Si appunto, ho avuto modo di riprovare per conferma in un secondo tempo ed e' chiaro che la IDE 1.0 non va bene per programmare ISP via Arduino, mentre la 0022 funziona senza problemi, ho fatto diverse prove anche con il mega328 ed ha funzionato sempre, confermo.
Ho invece il problema di utilizzare avrdude con il mac, non mi ricordo piu' come avevo fatto per passare l'istruzione da finestra di terminale al tiny85 per settarlo ad 8mhz. la programmazione tramite IDE mi funziona, carico i vari sketch senza problemi, ma il tiny85 mi e' rimasto a 1mhz.

P.S. possibile che la velocita' sia veramente ridotta di 1/8? mi spiego meglio, come mai l'istruzione ** dalay (1000) ** ci impiega 8 secondi ad essere eseguita? che stranezza e'? forse e' perche' ho utlizzato per la programmazione la board AT tiny 85 @ 8 mhx BOD disabled ? dovrei utilizzare la voce @ 1 mhz ??

  • mentre scrivo naturalmente mi rispondo da me : fai una prova e vedi da solo la soluzione, pirla!
    ok ma lo posto ugualmente questo mess, in quanto potrebbe essere utile a qualcuno che fa la stessa cosa che ho tentato di fare io!
    vi postero' cosa ho scoperto cambiando la voce di board!
    saluti a tutti e buon divertimento

Nella mia guida ci sono i parametri da passare ad avrdude per impostare i fuse dell'Attiny85 per mandarlo a 8 MHz.
Se compili uno sketch per un micro ad 8 MHz e lo esegui su un micro a 1 MHz, è normale che poi i tempi non siano corretti: i timing del codice vengono impostati per una frequenza che non corrisponde a quella reale.

Si confermo dopo la prova sperimentale, programmando con la board alla giusta velocita', le istruzioni vengono eseguite nei tempi regolari, cioe' per esempio dalay (1000) dura veramente 1 secondo.
bene, altra cosa che ho imparato!
definito questo, non ho neppurel'esigenza di passare ad 8 mhz, tanto le cose che deve fare per i miei progetti sono molto piu' lente!, nell'ordine di millisecondi, quindi ci sto' dentro anche a 1 mhz.
grazie

Ho provato a programmare Attiny85 con IDE 1.01.-rc1 aggiornato con l'ultimo compilatore Atmel come da post
http://arduino.cc/forum/index.php/topic,96976.0.html
funzionante correttamente nelle prove "normali"
usando il nuovo sketch ArduinoIsp mi ritorna l'errore:
In file included from c:..../arduino/arduino-1.0.1-rc1/hardware/tools/avr/lib/gcc/../../avr/include/util/delay.h:46,
from c:....../arduino/arduino-1.0.1-rc1/hardware/tools/avr/lib/gcc/../../avr/include/avr/delay.h:39,
from C:........\arduino-1.0.1-rc1\hardware\tiny\cores\tiny/wiring_private.h:32,
from C:........\arduino-1.0.1-rc1\hardware\tiny\cores\tiny\WInterrupts.c:37:
c:............/arduino-1.0.1-rc1/hardware/tools/avr/lib/gcc/../../avr/include/math.h:426: error: expected identifier or '(' before 'double'
c:............/arduino-1.0.1-rc1/hardware/tools/avr/lib/gcc/../../avr/include/math.h:426: error: expected ')' before '>=' token

i punti nel path è per semplificare

Per curiosità, ho ripristinato il compilatore originale e la programmazione con ArduinoIsp funziona correttamente, quindi è solo un problema della patch del compilatore.
Importante è il fatto che hanno corretto ArduinoIsp, quindi non c'è bisogno con questa versione di usare TinyIsp.

TinyISP era appunto una versione sistemata per funzionare con la 1.0.
La 1.0.1 riporta nel changelog il fix allo sketch ArduinoISP, quindi non è più necessario usare TinyISP.

leo72:
TinyISP era appunto una versione sistemata per funzionare con la 1.0.
La 1.0.1 riporta nel changelog il fix allo sketch ArduinoISP, quindi non è più necessario usare TinyISP.

Ma TinyISP con 1.0 serviva solo per i Tiny o si poteva usare anche per gli altri micro? Poco fa un utente (a cui ho consigliato di scaricarsi la ArduinoISP101LM ;)) mi ha scritto "Programmo con facilità che definirei "scandalosa" e a diverse frequenze di clock: ATtiny85, ATtiny84, ATMega328, ATMega1284".

Lo stesso utente mi ha dato una notizia che ignoravo: da quanto mi risulta noi no siamo riusciti a variare i fuses dei tiny da IDE, forse a motivo dei bootloader finti del core; lui sostiene che con la 1.0, inviando il bootloader (stessa tecnica ISP del 328P) programma tranquillamente i fuses dei tiny; conferme? qualcuno può aggiungere approfondimenti per favore?

Veramente credo che quello sketch si chiamasse TinyISP per dire che era "ridotto" rispetto all'ArduinoISP, non che fosse destinato a programmare gli Attiny. Difatti Testato lo aveva avuto da un utente del forum internazionale ed era una rielaborazione dell'ArduinoISP per aggirare il problema che la versione allegata alla 1.0 non funzionava.

Poco fa un utente (a cui ho consigliato di scaricarsi la ArduinoISP101LM ;)) mi ha scritto "Programmo con facilità che definirei "scandalosa" e a diverse frequenze di clock: ATtiny85, ATtiny84, ATMega328, ATMega1284".

Ma riferito a quale sketch? TinyISP o ArduinoISP101LM?

Lo stesso utente mi ha dato una notizia che ignoravo: da quanto mi risulta noi no siamo riusciti a variare i fuses dei tiny da IDE, forse a motivo dei bootloader finti del core; lui sostiene che con la 1.0, inviando il bootloader (stessa tecnica ISP del 328P) programma tranquillamente i fuses dei tiny; conferme? qualcuno può aggiungere approfondimenti per favore?

Non confermo e non smentisco (sono ancora mezzo arrocchettato di salute per poter mettermi a spippolare coi micro, oggi) però la cosa ha una sua logica, se pensi che con la 1.0 è cambiato il modo in cui l'IDE interagisce con avrdude.

Riferito a TinyISP

Sarebbe una gran cosa quando confermerai..... forse ciò che mi convincerebbe a cercare di far funzionare l'1.0.1-rc1 :sweat_smile: