Modifica bootloader

Salve a tutti.

Vorrei modificare il bootloader del Fio V3 per lasciare spenti i led RX e TX, per consumare meno la batteria.

Mi potete dire come posso fare, senza andare a tentativi.

Vi allego i sorgenti. Grazie in anticipo.

Caterina.c (24.3 KB)

Caterina.h (3.05 KB)

Descriptors.c (9 KB)

Descriptors.h (5.33 KB)

Ho visto sul sito Sparkfun che hanno sostituito la Fio V3 con una identica scheda con un firmware differente:

Tu hai questa qui sopra oppure il vecchio modello?

Per capire appunto che firmware c'è sopra, perché sul primo modello Sparkfun usa un firmware modificato, non so se nel modello precedente usa il bootloader originale Leonardo oppure no.

Io ho la nuova, la 11520

Io ti ho modificato il file Caterina.c che ho trovato su GitHub di Sparkfun per la Fio V3 nuovo modello. Lo trovi in allegato.
Ricompila, flasha e prova. Non so se funziona, però :stuck_out_tongue:

Caterina.c (24.3 KB)

leo72:
Io ti ho modificato il file Caterina.c che ho trovato su GitHub di Sparkfun per la Fio V3 nuovo modello. Lo trovi in allegato.
Ricompila, flasha e prova. Non so se funziona, però :stuck_out_tongue:

Grazie mille, appena ho 5 minuti lo provo e ti dico come va.

L'ho appena provato e si accendono sempre entrambi RX e TX

I led sono collegati fisicamente ai pin dei segnali, non credo possa modificarne il funzionamento via software.
--> http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/Fio-v30.pdf
Dissaldali.

PaoloP:
I led sono collegati fisicamente ai pin dei segnali, non credo possa modificarne il funzionamento via software.
--> http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/Fio-v30.pdf
Dissaldali.

bastano due colpetti di taglierino, tra la R ed il rispettivo LED; un domani due gocce di stagno e si ripristina tutto. :wink:

Il famigerato sistema "macellaio" :grin:

astrobeed:

[quote author=Michele Menniti link=topic=176216.msg1307775#msg1307775 date=1373280125]
bastano due colpetti di taglierino, tra la R ed il rispettivo LED; un domani due gocce di stagno e si ripristina tutto. :wink:

Il famigerato sistema "macellaio" :grin:
[/quote]
ma va.. al massimo "barbiere" :D; scusate, io penso che se fosse un hwista avrebbe già levato le R, vuol dire che non lo è e forse ha anche difficoltà di attrezzatura, un taglierino esiste in qualsiasi casa, mica gli ho detto di usare la motosega di "Non aprite quella porta" ]:smiley:

Se è per questo posso decidere se dissaldare le resistenze con lo stilo o l'aria calda.

Comunque io cercavo un modo "pulito" di risolvere l'eccessivo consumo, visto che avere i led RX e TX sempre accesi non serve a neinte se non ad illuminare meglio la scheda :). Non credo che sia una cosa impossibile non farli accendere tramite bootlooder, perchè col vecchio bootloader rimanevano spenti, col nuovo rimangono sempre accesi.

vectorel:
Non credo che sia una cosa impossibile non farli accendere tramite bootlooder, perchè col vecchio bootloader rimanevano spenti, col nuovo rimangono sempre accesi.

Ovvio che è possibile, però devi "divertirti" ad analizzare la nuova versione del bootloader e trovare quali sono le righe di codice che tengono accesi i led, in alternativa rimetti la vecchia versione.

Vectorel: ovviamente non intendevo dire che non sei attrezzato, ho solo dato una possibile interpretazione alla tua richiesta.

Astro: se Paolo non ha scritto caxxate

I led sono collegati fisicamente ai pin dei segnali, non credo possa modificarne il funzionamento via software.
--> http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/Fio-v30.pdf
Dissaldali.

nessuna modifica al bootloader risolverà il problema, mi pare sia chiaro, io però non ho guardato lo schema....

PaoloP:
I led sono collegati fisicamente ai pin dei segnali, non credo possa modificarne il funzionamento via software.

Sono collegati a PB0 e PD5, due normalissimi GPIO, non vedo per quale "arcano" motivo non sia possibile farli funzionare a proprio piacere da software.

astrobeed:

PaoloP:
I led sono collegati fisicamente ai pin dei segnali, non credo possa modificarne il funzionamento via software.

Sono collegati a PB0 e PD5, due normalissimi GPIO, non vedo per quale "arcano" motivo non sia possibile farli funzionare a proprio piacere da software.

allora Paolo ha scritto una caxxata ]:D, i pin dei segnali sono tx e rx, ovvio che i led da qualche parte devono essere collegati, mica lavorano wireless :sweat_smile:

OK il mio problema principale e che il normale Arduino Fio, collegato alla touch schield e all'mp3 shield, consuma 26mAh.
Ho dissaldato le resistenze corrispondenti ai led per sbrigarmi e ho provato le stesse schede con Il Fio V3 della Sparkfun e consuma addirittura 40mAh.

Eppure ho misurato il consumo con entrambi i Fio collegati ad una lipo e con un solo led acceso.

Questa differenza di consumo è dovuta alla differenza dei microcontrollori atmega32u4 (fio v3) e atmega328p (arduino fio)?
Entrambe le schede lavorano a 3.3v

:sweat_smile:
Non mi ero accorto che i pin a cui sono collegati i led non sono quelli TX e RX, come sul 16U2 della UNO.
Mea culpa.

p.s. Ma chi è il progettista che si inventa queste cose. ]:smiley:

PaoloP:
p.s. Ma chi è il progettista che si inventa queste cose. ]:smiley:

Volevo solo provare a fare qualcosa di carino :), per un lettore mp3 il consumo è importante

Ma c'è qualche libreria per diminuire il consumo di arduino, pur mantenendolo funzionante?

No, Vect, la battuta non era per te, ma per il progettista del FIO che non ha collegato i led direttamente ai segnali TX e RX ma ad altri 2 pin che vengono accesi via software.

PaoloP:
ma per il progettista del FIO che non ha collegato i led direttamente ai segnali TX e RX ma ad altri 2 pin che vengono accesi via software.

Oggi te le cerchi proprio con il lanternino :grin:
I pin Tx e Rx del 32u4, ma anche del 16u2, rispettivamente PD3 e PD2, sono il Tx e l’Rx dell’UART quindi non ha alcun senso logico usarli per collegarci dei led a meno che non ti serve l’UART.