Giocando con l'Attiny85

puoi anche solo compilare con lo shift premuto ed avrai anche lì la compilazione verbosa.
peccato che non funzioni il passaggio :frowning:
e se invece lo passassi come upload options in una stringa?
tipo:
attiny85arduinoisp.upload.options= -U lfuse:w:0x62:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m

Scusate L' O.T.
La fate una bella guida in PDF dopo vero :slight_smile: ?

BrainBooster:
puoi anche solo compilare con lo shift premuto ed avrai anche lì la compilazione verbosa.
peccato che non funzioni il passaggio :frowning:
e se invece lo passassi come upload options in una stringa?
tipo:
attiny85arduinoisp.upload.options= -U lfuse:w:0x62:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m

Provo, ma se non ricordo male, in un altro topic questa cosa si era discussa, in ogni caso devo mettere ul low fuses personalizzato altrimenti come mi accorgo se passa?

ratto93:
Scusate L' O.T.
La fate una bella guida in PDF dopo vero :slight_smile: ?

e certamente! io rompo il fegato al forum fino a che risolvo il problema, dopo restituisco sotto forma di guida, anche se qui si tratterà di 2-3 pagine al massimo, ma è utile comunque, mi pare che tu hai comprato gli attiny, se non ricordo male.

se tieni premuto shift durante l'upload dovresti vederla passare sana così com'è.
io per comodità e leggibilità alla fine dell'upload mi copio tutto l'output della finestra di log su un file di testo e me lo leggo bello grande e comodo. :.

menniti:

BrainBooster:
puoi anche solo compilare con lo shift premuto ed avrai anche lì la compilazione verbosa.
peccato che non funzioni il passaggio :frowning:
e se invece lo passassi come upload options in una stringa?
tipo:
attiny85arduinoisp.upload.options= -U lfuse:w:0x62:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m

Provo, ma se non ricordo male, in un altro topic questa cosa si era discussa, in ogni caso devo mettere ul low fuses personalizzato altrimenti come mi accorgo se passa?

ratto93:
Scusate L' O.T.
La fate una bella guida in PDF dopo vero :slight_smile: ?

e certamente! io rompo il fegato al forum fino a che risolvo il problema, dopo restituisco sotto forma di guida, anche se qui si tratterà di 2-3 pagine al massimo, ma è utile comunque, mi pare che tu hai comprato gli attiny, se non ricordo male.

Si li sto ancora aspettando però :frowning: se li avessi almeno potrei essere d'aiuto....
e comunque anche se corta può sempre aiutare gli ignoranti in materia come me :slight_smile: non si finisce mai d'imparare daltronde

BrainBooster:
se tieni premuto shift durante l'upload dovresti vederla passare sana così com'è.
io per comodità e leggibilità alla fine dell'upload mi copio tutto l'output della finestra di log su un file di testo e me lo leggo bello grande e comodo. :.

Ho capito, avevo fatto anch'io così, purtroppo non c'è, infatti sul PB4 la frequenza dell'oscillatore non c'è.

@ ratto93
no problem, ormai abbiamo finito, resta questo passaggio, che vorrei poter fare in quanto se volessi lavorare a 8 o 16MHz non riuscirei a programmarlo il chip, nello specifico deve lavorare a 1MHz e quindi non serve. BB non ha il chip e non si può sbizzarrire, ma c'è leo72, vedrai che appena fa funzionare il test che gli ho mandato ed è pronto per le prove, qualcosa tira fuori per risolvere. Io intanto traccio le linee della guida :wink:

Il Leo ora come ora si sta rimettendo su il suo bel SO (Arch.... e chi conosce questa distro sa che bisogna un po' smanettare per configurarla per benino). Non so se riuscirò a provare lo sketch prima di domani.

Non abbiamo fretta, attento a non ammazzare il pinguino :smiley:
Ti dò una chicca: ho fatto lavorare il tiny a 1,5V, il microamperometro misura "0"! vuol dire che al minimo siamo sotto i 50nA, cioè non uso manco le 3,6V ma una bella Duracell 1,5 standard; settimana prossima è intensa per lavoro ma la successiva realizzo una micro-millefori e finalmente piazzo il mio sensor in tapparella XD XD, poi valuterò quanto mi "dura" la duracell.... intanto mi cerco il datasheet. felice notte!

Non riesco ad uploadare lo sketch.
Siccome ho un po' di casino con diversi file boards.txt a giro, mi dici per favore che combinazione di IDE, librerie aggiuntive, file extra, schede hai usato?
Io ho provato con Attiny85 del Tiny Core e mi dà errore Java. Con l'Attiny85 creato da me mi dà errore di compilazione....

mmmh, purtroppo è tutto sul pc del lab, ti rispondo domattina che sono libero XD XD
Però intanto vado a memoria, per cui non incavolarti se qualcosa non va :blush:
1 - Sono certo alla fine di NON aver più usato il tuo file boards.
2 - Ho scaricato questa e ho messo le due cartelle in Hardware, accanto alla Arduino, confermando la sovrascrittura della tools (tanto i file sono diversi)
3 - Ho scaricato questa e ho messo le tre cartelle nelle "mie" librerie (ti ricordo che io ho Windows) e cioè nella Libraries appena creata nella stessa cartella in cui ho "Sketch"
4 -nella cartella "tiny" ho rinominato il file boards.xt in boards_originale.txt (giusto per salvare il contenuto), poi ho creato un nuovo file boards.txt con la sola board che mi serviva, questa:

###########################################################################

attiny85at1.name=ATtiny85 @ 1 MHz  (internal oscillator; BOD disabled)
attiny85at1.upload.using=arduino:arduinoisp
attiny85at1.upload.maximum_size=8192
attiny85at1.bootloader.low_fuses=0x62
attiny85at1.bootloader.high_fuses=0xD7
attiny85at1.bootloader.extended_fuses=0xFF
attiny85at1.bootloader.path=empty
attiny85at1.bootloader.file=empty85at1.hex
attiny85at1.bootloader.unlock_bits=0xFF
attiny85at1.bootloader.lock_bits=0xFF
attiny85at1.build.mcu=attiny85
attiny85at1.build.f_cpu=1000000L
attiny85at1.build.core=tiny

Non ricordo sinceramente se ho messo altre righe, perché ho fatto un mare i prove (inutili) per il bootloader.
In tal modo l’IDE (da chiudere e riavviare) trova nelle cartelle Arduino e Tiny i due files boards.txt e li mixa facendo apparire in testa la nuova board Tiny85 1MHz

Lo sketch è quello che ti ho postato, devi ricordarti di attivare la riga digitalWrite…. per la pull-up; la tecnica e la “nostra” solita (ArduinoISP) e gli unici errori che ti dovrebbe dare sono i due del PAGEL, che già avevi riscontrato tu.
Sono ragionevolmente certo di non sbagliarmi, ma potrei, fammi sapere, tanto sto lavorando sodo stasera, devo preparare 20 ore di lezione per mer-gio-ven :sweat_smile:

Uhm.. che buffo. Mi da errore di sincronizzazione...

Durante l'invio dello sketch i pin di attiny85 collegati ad Arduino devono essere "liberi", quindi il chip deve essere solo alimentato, se monti prima resistenze ed altro fornendo un qualche segnale "esterno" ai MISO,MOSI,SCK,RST ti dà errore di sincro, è questo forse?

No, ho un problema diverso. Parte l'upload ma non va a buon fine dandomi errore di sincronizzazione..
Siccome ho cambiato SO ed ho finito di mettere a posto le cose solo oggi, forse non ho messo tutto a posto....

Ho provato con un altro Attiny che aveva dentro uno sketch... ebbene, dopo il "passaggio" con l'ArduinoISP è sparito lo sketch che c'era ma non è stato scritto quello nuovo. Quindi avrdude ha compiuto il lavoro a metà, cancellando la Flash ma non riprogrammandola...

:astonished: mi spiace, non lo la più pallida idea di cosa non vada, certamente hai usato l'IDE 0022, a questo punto l'ultima prova che ti resta da fare è caricare sul tiny il tuo cketch della Guida, senza le librerie aggiuntive, se non va manco lui è il Pinguino che gioca a fare l'Otaria....

Difatti è così perché anche usando l'IDE 0022 con le lib attiny45/85 (non il Tiny Core ma ciò che ho scritto nella mia guida) ottengo gli stessi risultati. Non riesco ad uploadare più nessuno sketch. C'è qualcosa che non va ma non so cosa... uhm... :.

Allora datti da fare e risolvi, ancora non "abbiamo" finito con gli attiny85, c'è da riuscire a caricare il bootloader, senza il tuo apporto questa famigliola andrà incontro alla distruzione totale. =(

a che velocità stai tentando l'upload?

Il problema risiede nel SO.
Nel senso che ho letto che binutils-avr (e pare anche avr-gcc) è affetto da un bug nel codice per cui non funziona il delay(). Questo perché il linker, durante la compilazione, se non trova delle variabili globali ad inizio sketch per cui allocare della memoria, "sbarella" ed alloca la memoria per i puntatori ad indirizzi illegali per cui tutte le funzioni che usano dei contatori, come millis() su cui si basa delay(), non funzionano.

Su Ubuntu non ci sono problemi perché vengono usati dei pacchetti patchati direttamente da Debian ma su altre distro, che non usano queste patch, i pacchetti sono buggati e danno errori. Una è appunto Arch.

Sembra che esista un modo per aggirare questo problema, e cioè quello di dichiarare una variabile globale inutile (tipo "byte a=1;") e poi incrementarla in setup() ("a++;"): in questo modo sembra che il problema venga aggirato, nel senso che il delay() funziona e lo sketch "blink", ad esempio, viene eseguito regolarmente. Ma ciò non è vero perché sotto qualcos'altro resta alterato. Difatti provando ad usare lo sketch ArduinoISP compilato e flashato su Arch ottengo appunto che il programmatore è fuori sincronia ("programmer is out of sinch") mentre se compilo e flash lo sketch ArduinoISP su un altro PC su cui ho Lubuntu (versione con LXDE di Ubuntu) l'Arduino funziona regolarmente come programmatore ISP e riesco a caricare lo sketch su micro standalone....

Maremma m..... :0 :cold_sweat: :~ :astonished: :roll_eyes: :stuck_out_tongue_closed_eyes: :disappointed_relieved: :fearful:

mi sa che devi rimettere il vecchio Pinguino.... non vorrai mica abbandonare il Forum? Già ti vedo inczz in almeno altri due Topic :wink: :wink:

Leo ma che ci fai proprio con arch?