Aiuto Resettare Arduino Leonardo

Un saluto a tutti gli amici del forum.
Possiedo una scheda Arduino Leonardo e ho caricato questo firmware EMCLite0932.hex ed ora viene vista come periferica HID e non USB.
Il firm non và bene per me e vorrei tornare al firmware che avevo caricato precedentemente FFBWheel.0.16.leonardo.hex mà non riesco a farlo perchè X-Loader non rileva la porta USB.
Non posso "resettare" la scheda dall'IDE di Arduino con questo "comando" perchè Arduino non viene visto come USB e mi dà errore.

void setup() {
Serial.begin(9600);
Serial.println("setup...");
}

int c = 0;

void loop() {
if (c == 5){
Serial.println("reset!");
delay(1000);
//pausa di 62 nanosecondi (la più breve possibile!)
asm volatile (" nop ");
//reset!
asm volatile (" jmp 0 ");
}
c++;
delay(1000);
}

Qualche consiglio o link ad una guida per resettare la scheda?
Grazie a tutti.

@zebmck : In conformità al REGOLAMENTO, fosse anche per una sola riga, il codice va racchiuso negli appositi tag ... :roll_eyes:

... cortesemente, quindi, edita il tuo post più sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice.

Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac all'intero del IDE). Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà sistemato il codice come da regolamento, nel rispetto del citato regolamento nessuno ti risponderà (eventuali risposte verrebbero cancellate), quindi ti consiglio di fare il tutto al più presto. :wink:

Mi scuso per la mia ignoranza spero di aver risolto il problema.

assicurati di averlo correttamente indentato nell'IDE prima di inserirlo

L'ho usato un paio di volte facendo il copia incolla --> verifica --> infine carica ed ha sempre funzionato, il problema è che ora mi dà errore perchè non "vede" più la scheda come usb.

p.s. non sono esperto.

Grazie gpb01.

Vorrei aggiungere alcune informazioni.
Purtroppo questo firmware non và bene perché il mio encoder ottico non
funziona con questo firm ( l’ho saputo dopo ).
Vorrei tornare indietro all’FFBWheel.0.16.leonardo.hex perché ho un secondo
Arduino Leonardo e vorrei gestire il volante ( di questo si tratta ) e la pedaliera
separatamente.
Nella scheda collegata sono accesi due led ON e TX.
Certo ricomprarne un altro non sarebbe un grosso esborso di denaro però mi
piacerebbe capire come fare.
Grazie.
Alcuni screen shot per cercare di esporre la mia situazione:
Gestione Periferiche con Arduino Leonardo collegato.

L’IDE Arduino vede la scheda.

La porta com di default è la 1 ( manca la 2 )

Verifica dello sketch di reset

Errore nel caricamento

X-Loader fallisce ( manca la porta com 2 )

Gestione periferiche di gioco riconosciuto

Proprietà

Intanto, per una MCU, il concetto di "reset" è semplicemente lo stesso di "riavvio nelle condizioni iniziali" ... non viene ripristinato nessun programma, viene semplicemente messo in esecuzione l'ultimo presente in flash.

Nel tuo caso devi caricare un nuivo programma, ma ... a quanto sembra quello esistente in flash sta usando la USB iin modo tale che non rieci a fare il caricamento ...

Potresti provare a fare una cosa velocissima, ovvero tenere premuto il pulsante di reset, lanciare il caricamento, e subito rilasciare il pulsante di reset ... è una manova che, a volte, può funzionare.

L'altra soluzione, purtroppo, prevede la programmazione ISP, ovvero non più via USB e bootloader, come si fa sempre, ma attraverso un programmatore (che può anche essere un'altro Arduino) ed il collegamento con il connettore ISP (quello a 6 pin posto sul lato opposto a quello della USB).

Leonardo

Prova la strada del "reset" + "caricamento", se nenache quella va ... dovrai o attrezzarti con un vero programmatore ISP (tipo QUESTO) o con un "programmatore di fortuna" fatto con un altro Arduino.

Guglielmo

Purtroppo dopo decine e decine di tentativi la scheda non ne vuol sapere di "resettarsi".
Per quanto riguarda il secondo metodo ( programmatore ) la spesa è maggiore rispetto
ad un "clone" ( l'altra che ho è originale ) e non essendo del settore non mi conviene
per usarlo una sola volta.
Per qualche giorno chiederò ad amici "smanettoni" se possono aiutarmi.
Ora due domande da profano:
E' possibile clonare due Arduino Leonardo? Una cosa del tipo clona disco per i
computer.
Girovagando sul forum ho notato questa discussione e nel post di dmjlambert sembra
possibile collegare due Arduino Leonardo, potrebbe risolver il mio problema?
Grazie mille .... per l'aiuto.

Un saluto a tutti gli amici del forum.
Ho recuperato la mia scheda Arduino Leonardo seguendo il post di dmjlambert in questo link.
Sono riuscito a collegare due Arduino Leonardo in "cascata" poi con l'opzione Strumenti--> Scrivi Booloader la scheda è tornata ad essere vista come usb e rimettere un nuovo firmware.
Ho preparato un pdf traducendo il post con google translate, ben venga se può essere utile a qualcuno.
Grazie a tutti.
Arduino as ISP Reset Bootloader .pdf (450.2 KB)

Guarda che hai fatto semplicemente quello che ti dicevo più su ...

e, per fare quello, basta un qualsiasi altro Arduino e seguire QUESTA ottima guida in Italiano che il Prof. Menniti (... vecchio utente di questo forum) ha scritto un bel po' di anni fa :smiling_imp:

Guglielmo

Grazie mille gpb01, non voglio di certo prendermi meriti per i quali non ho conoscenze e competenze, ho soltanto cercato di rendere semplice ciò che per noi profani non lo è partendo dal tuo aiuto e quello di dmjlambert che come lui stesso scrive:
"Ho cercato su Google per un po' e non vedo davvero alcun buon diagramma che mostri l'ISP che programma un Leonardo da un altro Leonardo, quindi posso capire che tu abbia questo problema".
Ancora Grazie a Tutti senza il vostro aiuto non avrei risolto il mio problema.

... perché lui probabilmente ha cercato qualche cosa in Inglese e si è intestardito su Leonardo <-> Leonardo, che è cosa del tutto inutile dato che va bene qualsiasi Arduino AVR :grin:

Inoltre quella guida, come hai visto, è in Italiano e ... non so se ne esiste una altrettano completa in Inglese ... :smiling_imp:

Guglielmo