No, non spedirmi nulla. Tanto se ci lavori sopra tu è inutile che mi metta a smanettare anch'io. Sicuramente il tuo lavoro sarà eccellente senz'altro ![]()
leo72:
Ho provato a compilare i sorgenti, ma ottengo questi errori:avrdudequi.cpp: In constructor ‘AvrDudeQui::AvrDudeQui(QWidget*)’:
avrdudequi.cpp:32:5: error: class ‘AvrDudeQui’ does not have any field named ‘currentPath’
avrdudequi.cpp: In member function ‘void AvrDudeQui::loadHex()’:
avrdudequi.cpp:91:31: error: ‘currentPath’ was not declared in this scope
avrdudequi.cpp: In member function ‘void AvrDudeQui::writeData()’:
avrdudequi.cpp:204:9: warning: unused variable ‘result’ [-Wunused-variable]
make: *** [avrdudequi.o] Errore 1
Ho prelevato la versione attualmente online.
Che brutta figura, avevi ragione la variabile currentPath non esiste in avrdudequi.h. :*
Sul disco ho un dir che doveva essere in sincro con ciò che c'è nel repo, evidentemente non è così, infatti
clonando il repo in locale ho ricevuto gli stessi errori di compilazione.
Scusa ho toppato miseramente. :~
Ok però non scaricare nulla o clonare nulla perchè ci sto lavorando per creare un ramo stable, uno devel, ecc.
Quando ho il ramo stable con dentro il codice funzionante ti avviso e visto che hai già installato i pacchetti di sviluppo
mi fai il test di compatibilità con Arch linux.
Ciao. ![]()
MauroTec:
Scusa ho toppato miseramente. :~
E di che ti devi scusare? Sei in fase di sviluppo, oltretutto stai creando qualcosa per la comunità. Ben vengano persone come te ![]()
Ok però non scaricare nulla o clonare nulla perchè ci sto lavorando per creare un ramo stable, uno devel, ecc.
Quando ho il ramo stable con dentro il codice funzionante ti avviso e visto che hai già installato i pacchetti di sviluppo
mi fai il test di compatibilità con Arch linux.Ciao.
Attendo paziente ![]()
x iscrizione
Ho sistemato alcune cose importanti, ora il codice usa udev e cerca i device tramite idVendor e idProduct ecc, quindi Arduino 2009, arduino uno (16u2) e gli altri arduino che usano il 16u2 vengono riconosciuti e se selezionato si aggancia il monitor device, così se scollego arduino, il programma se ne accorge. Io ho ad disposizione solo il programmatore avrisp mkii e con questo lavora, c'è invece da provare con arduino ISP cosa accade.
La lista dei device riconosciuta è contenuta nella directory avrdudequi/Hardware/Programmer:
arduino.xml avrisp.xml programmer.xml.template usbtiny.xml
usbtiny.xml:
Nota che potrebbe non essere riconosciuto anche se il device è connesso al pc.
Il contenuto è abbastanza esplicito e modificarlo è semplice:
<?xml version="1.0" encoding="UTF-8"?>
<avrdude version="5.10">
<id term ="usbtiny">
<name>USBTiny ladyada</name>
<dudeid>usbtiny</dudeid>
<desc>Lady ada USBTiny ISP programmer</desc>
<info_product>USBtiny</info_product>
<icon></icon>
<device>
<SUBSYSTEM>usb</SUBSYSTEM>
<DEVTYPE>usb_device</DEVTYPE>
<ID_VENDOR_ID>1781</ID_VENDOR_ID>
<ID_MODEL_ID>0c9f</ID_MODEL_ID>
<DEVICE_FILE>usb+serial</DEVICE_FILE>
</device>
</id>
</avrdude>
usb_device Si presume sia un "usb_device" e non un "usb_interface", non è "generic" perchè non lavora con il modulo cdc_acm o simili.
<DEVICE_FILE>usb+serial</DEVICE_FILE> Avrdude usa nominare i device che non hanno device file (avrisp mkii, usbtiny) componendo il nome a partire dagli ultimi 4 caratteri della proprietà "serial", es "ID_SERIAL_SHORT:" "000200064003", deve essere modificato per ottenere usb:40:03.
Questo permette ad avrdude e ad avrdudequi di lavorare con uno o più device dello stesso tipo connessi al pc ad esempio due avrisp mkii.
Ho dato per scontato che anche usbtiny abbia la proprietà ID_SERIAL_SHORT e che quindi debba essere nominato allo stesso modo di avrisp, se così
non fosse si tratta di una eccezione che non viene gestita e si deve modificare il codice per gestirla.
idVendor e idProduct li presi da ladyada.
Leonardo board:
Dovrebbero essere questi i dati giusti
<?xml version="1.0" encoding="UTF-8"?>
<avrdude version="5.10">
<id term ="leonardo">
<name>Arduino Leonardo ISP</name>
<dudeid>arduino</dudeid>
<desc>Arduino Leonardo board STK500.x</desc>
<icon></icon>
<device>
<SUBSYSTEM>tty</SUBSYSTEM>
<ID_TYPE>generic</ID_TYPE>
<ID_USB_DRIVER>cdc_acm</ID_USB_DRIVER>
<ID_VENDOR_ID>2341</ID_VENDOR_ID>
<ID_MODEL_ID>0036</ID_MODEL_ID>
<baudrate>115200</baudrate>
</device>
</id>
... continua
Compilazione del codice:
Qt5 è cambiato profondamente e quindi forse non compila ma è facilmente agirabile perchè c'è compatibilità
libudev-devel (api di udev) devono essere installate sul sistema, ma cosa installare dipende dalla distrò.
Qt4:
usare qmake-qt4.
clona il repo:
git clone git://gitorious.org/avrdudequi/avrdudequi.git
cd avrdudequi
git checkout devel
Ora sei sul ramo devel
qmake-qt4
make
./avrdudequi
Il programma dovrebbe partire.
L'unico microcontroller configurato è ATmega644, gli altri sono da definire.
Chi ha la bonta di testare?
Funzionamento:
Selezionare il device programmatore e assicurarsi che non appaia "Device not found"
Selezionare la MCU ATmega644 (non importa se P o PA ecc)
Cliccare su "Operative Mode" (in basso a sinistra)
Marcare le checkbox "operates on fuse" e "operates on lockbit" (forse sarebbe meglio cambiare la dicitura in "work on fuse ecc"
Cliccare sul pulsante "Read"
Comparirà una dialog monitor che deve concludersi con:
The process avrdude exit with Exit code: 0 Exit status: 0
Chiusa la dialog la gui si aggiorna con i dati letti dal device
PS: manca ancora la lettura e scrittura della EEprom, il codice c'è ma devo fare il backport.
Ciao.
se mi dai un .exe per windows lo testo io ![]()
Testato:
se mi dai un .exe per windows lo testo io
ora capisco il senso del tuo nickname ![]()
@mauro:
ho provato con una Arduino UNO R1.
Ho compilato con qt4, ho lanciato il programma. Il programmatore non me lo ha trovato, mi dice "device not found",, mentre l'IDE di Arduino me lo vede ed utilizza correttamente.
Ho scelto il microcontrollore. E poi ho cliccato su "Operative mode". Però poi i checkbox non sono selezionabili, immagino per il problema di prima.
Ah, sul terminale ricevo questi messaggi:
(avrdudequi:2590): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
binPath "/home/leo/Desktop/Avrdude_fe/avrdudequi"
dataPath "/home/leo/Desktop/Avrdude_fe/avrdudequi"
delete uiLoader e mcuWidget
gBoxLFuse QGroupBox(0xdf4d10, name = "gBoxLFuse")
delete uiLoader e mcuWidget
gBoxLFuse QGroupBox(0x11eb9e0, name = "gBoxLFuse")
dtor LockBit
dtor LockBit
Pango appartiene a gtk (gnome) probabilmente c'è il pacchetto installato per unificare la GUI, indifferentemente dal toolkit. Cioè hanno trovato un modo di far apparire le gui tutte con lo stesso stile, sia che il programma usi Qt, wxWidget, gtk. Nel tuo caso avrai come desktop gnome e il pacchetto per unificare lo stile non è in grado di fare il lavoro correttamente.
Si tratta comunque di un errore comune, e può capitare con qualunque programma persino con firefox, ma non dovrebbe pregiudicare il funzionamento del programma.
Ho compilato con qt4, ho lanciato il programma. Il programmatore non me lo ha trovato, mi dice "device not found",, mentre l'IDE di Arduino me lo vede ed utilizza correttamente.
Tu hai la UNO prima versione con il chip 8U2 che molto probabilmente ha il vendor id di atmel, questo ID_VENDOR_ID=03eb. Mentre la Uno con il 16u2
dovrebbe avere il vendor ID_VENDOR_ID=2341.
Apri un terminale e dai questo comando
udevadm monitor --property
Inserisci il tuo arduino e incolla in un post cosa appare, fai la stessa cosa con usbtiny.
Io non ho un board UNO ma ho la board usbserial light che monta il 16u2 e quello che visualizza nella bash è il seguente:
KERNEL[1363898344.231050] add /devices/pci0000:00/0000:00:12.1/usb4/4-3 (usb)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:12.1/usb4/4-3
SUBSYSTEM=usb
DEVNAME=bus/usb/004/019
DEVTYPE=usb_device
DEVICE=/proc/bus/usb/004/019
PRODUCT=2341/3b/1
TYPE=2/0/0
BUSNUM=004
DEVNUM=019
SEQNUM=1885
MAJOR=189
MINOR=402
KERNEL[1363898344.232924] add /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0 (usb)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/019
PRODUCT=2341/3b/1
TYPE=2/0/0
INTERFACE=2/2/1
MODALIAS=usb:v2341p003Bd0001dc02dsc00dp00ic02isc02ip01
SEQNUM=1886
KERNEL[1363898344.237045] add /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0/tty/ttyACM0 (tty)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0/tty/ttyACM0
SUBSYSTEM=tty
DEVNAME=ttyACM0
SEQNUM=1887
MAJOR=166
MINOR=0
KERNEL[1363898344.237165] add /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.1 (usb)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.1
SUBSYSTEM=usb
DEVTYPE=usb_interface
DRIVER=cdc_acm
DEVICE=/proc/bus/usb/004/019
PRODUCT=2341/3b/1
TYPE=2/0/0
INTERFACE=10/0/0
MODALIAS=usb:v2341p003Bd0001dc02dsc00dp00ic0Aisc00ip00
SEQNUM=1888
UDEV [1363898344.243711] add /devices/pci0000:00/0000:00:12.1/usb4/4-3 (usb)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:12.1/usb4/4-3
SUBSYSTEM=usb
DEVNAME=/dev/bus/usb/004/019
DEVTYPE=usb_device
DEVICE=/proc/bus/usb/004/019
PRODUCT=2341/3b/1
TYPE=2/0/0
BUSNUM=004
DEVNUM=019
SEQNUM=1885
ID_VENDOR=Arduino__www.arduino.cc_
ID_VENDOR_ENC=Arduino\x20\x28www.arduino.cc\x29
ID_VENDOR_ID=2341
ID_MODEL=Arduino_Uno
ID_MODEL_ENC=Arduino\x20Uno
ID_MODEL_ID=003b
ID_REVISION=0001
ID_SERIAL=Arduino__www.arduino.cc__Arduino_Uno_74133353537351F0B1A0
ID_SERIAL_SHORT=74133353537351F0B1A0
ID_BUS=usb
ID_USB_INTERFACES=:020201:0a0000:
MAJOR=189
MINOR=402
DEVLINKS=/dev/char/189:402
UDEV [1363898344.253013] add /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.1 (usb)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.1
SUBSYSTEM=usb
DEVTYPE=usb_interface
DRIVER=cdc_acm
DEVICE=/proc/bus/usb/004/019
PRODUCT=2341/3b/1
TYPE=2/0/0
INTERFACE=10/0/0
MODALIAS=usb:v2341p003Bd0001dc02dsc00dp00ic0Aisc00ip00
SEQNUM=1888
UDEV [1363898344.253138] add /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0 (usb)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0
SUBSYSTEM=usb
DEVTYPE=usb_interface
DEVICE=/proc/bus/usb/004/019
PRODUCT=2341/3b/1
TYPE=2/0/0
INTERFACE=2/2/1
MODALIAS=usb:v2341p003Bd0001dc02dsc00dp00ic02isc02ip01
SEQNUM=1886
UDEV [1363898344.262612] add /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0/tty/ttyACM0 (tty)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0/tty/ttyACM0
SUBSYSTEM=tty
DEVNAME=/dev/ttyACM0
SEQNUM=1887
ID_VENDOR=Arduino__www.arduino.cc_
ID_VENDOR_ENC=Arduino\x20\x28www.arduino.cc\x29
ID_VENDOR_ID=2341
ID_MODEL=Arduino_Uno
ID_MODEL_ENC=Arduino\x20Uno
ID_MODEL_ID=003b
ID_REVISION=0001
ID_SERIAL=Arduino__www.arduino.cc__Arduino_Uno_74133353537351F0B1A0
ID_SERIAL_SHORT=74133353537351F0B1A0
ID_TYPE=generic
ID_BUS=usb
ID_USB_INTERFACES=:020201:0a0000:
ID_USB_INTERFACE_NUM=00
ID_USB_DRIVER=cdc_acm
ID_IFACE=00
MAJOR=166
MINOR=0
DEVLINKS=/dev/char/166:0 /dev/serial/by-id/usb-Arduino__www.arduino.cc__Arduino_Uno_74133353537351F0B1A0-if00
Nota che quando rimuovi il device questa riga:
UDEV [1363898344.253138] add /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0 (usb)
risulta così:
UDEV [1363898344.253138] remove /devices/pci0000:00/0000:00:12.1/usb4/4-3/4-3:1.0 (usb)
Gli altri messaggi sono normali in quanto si tratta di debug che dovrò rimuovere dopo che tutto si è stabilizzato.
Ho scelto il microcontrollore. E poi ho cliccato su "Operative mode". Però poi i checkbox non sono selezionabili, immagino per il problema di prima.
Si infatti e normale che non ti permetta di fare nessuna azione se il programmatore non viene trovato e se non risulta selezionata una MCU, tanto che i pulsanti "write" e "read" sono disabled, come pure le checkbox. Alla fine puoi giocare solo con la gui della MCU per vedere se tutto lavora correttamente.
Comunque prova anche a compilare con qt5, usando questa volta qmake-qt5, o meglio scrivi qmake- e premi un paio di volte il tasto tab, per vedere se sul sistema c'è il file qmake-qt5.
@Testato
Mandami un PC con windows che provvedo a fare il port del programma 8)
Su windows non c'è udev, e per enumerare i device non ho idea di cosa si usi.
Ciao.
-
ti allego un archivio contenente l'output del comando con Arduino UNO/Leonardo/DUE/USBtinyISP (tutto quello che avevo
); -
qmake-qt5 non ce l'ho, ho qmake e basta perché sul mio sistema con la comparsa delle Qt5, le vecchie Qt sono state ridenominate Qt4 e tutti i comandi che le usavano ora hanno il suffisso -qt4. Compilando con qmake, non ho warning sul terminale.
-
con la Leonardo ho dei problemi. Ho provato a connetterla, la prima volta me l'ha riconosciuta dandomi la porta a cui era agganciata e la velocità. Poi stavo per cliccare su "operative mode" ed ho notato che è venuta fuori la scritta "Device not found". Ricollegandolo non me lo riconosce più.
-
su schermi con rapporto 16:9 come quelli dei portatili il tuo programma sborda perché è troppo "grosso"

prompt.tar.gz (1.95 KB)
- ti allego un archivio contenente l'output del comando con Arduino UNO/Leonardo/DUE/USBtinyISP (tutto quello che avevo smiley-wink );
Bello, peccato che non funonzia. L'apertura da questo errore:
gzip: stdin: unexpected end of file
/bin/gtar: Child returned status 1
/bin/gtar: Exiting with failure status due to previous errors
- qmake-qt5 non ce l'ho, ho qmake e basta perché sul mio sistema con la comparsa delle Qt5, le vecchie Qt sono state ridenominate Qt4 e tutti i comandi che le usavano ora hanno il suffisso -qt4. Compilando con qmake, non ho warning sul terminale.
Visto che le qt da 3 a 5 possono essere installate insieme, e visto che qt5 sarà la versione di default, quelli di arch linux hanno rimoninato qmake di qt4 e qt3, mentre il comando "qmake" avvia il maker di Qt5.
- con la Leonardo ho dei problemi. Ho provato a connetterla, la prima volta me l'ha riconosciuta dandomi la porta a cui era agganciata e la velocità. Poi stavo per cliccare su "operative mode" ed ho notato che è venuta fuori la scritta "Device not found". Ricollegandolo non me lo riconosce più.
Indagherò. Occhio che la velocità non posso ricavarla interrogando il device con "udev" e quindi, ciò che spunta in merito al baudrate è il dato presente nel file ".xml". Tradotto mi serve anche sapere la velocità standard di ogni arduino board. Per la uno (all rev) o usbserial light dovrebbe essere 115200, per la leonardo e Mega (all versione) non ho idea.
- su schermi con rapporto 16:9 come quelli dei portatili il tuo programma sborda perché è troppo "grosso" smiley-wink
Si, lo immaginavo e ho già dedicato tempo per ridurre le dimensioni della finestra, ma ho litigato troppo con Qt e i layout che per adesso ne ho abbastanza. Il mio intento prossimo è quello di rendere la finestra ridimensionabile dall'utente, fino a renderla poco usabile ma usabile scrollando. Nota che lo splitter verticale che divide la finestra permette di collassare il pannello sinistro o destro. Appena mi riprendo faccio a botte con Qt con la convinzione di vincere io.
Per il punto 1, prova nuovamente ad allegare, perchè quei dati mi sono molto utili.
Ciao.
MauroTec:
Bello, peccato che non funonzia. L'apertura da questo errore:
Devo aver fatto un po' di casino, te lo rimando... più tardi. Ora non sono al PC fisso, dove ho fatto i test.
Indagherò. Occhio che la velocità non posso ricavarla interrogando il device con "udev" e quindi, ciò che spunta in merito al baudrate è il dato presente nel file ".xml". Tradotto mi serve anche sapere la velocità standard di ogni arduino board. Per la uno (all rev) o usbserial light dovrebbe essere 115200, per la leonardo e Mega (all versione) non ho idea.
Le velocità sono prefissate nei bootloader e le ritrovi nel file boards.txt (opzione .upload.speed).
Il file è danneggiato online quindi immagino che il forum filtri gli archivi .tar.gz.
Te lo riallego in formato ZIP, dovrebbe essere accettato.
prompt.zip (3.51 KB)
Ho dato per scontato che tutti i device enumerati da udev hanno la proprietà ID_SERIAL_SHORT, purtroppo non è così, infatti Leonardo e UsbTiny non ce l'hanno. Quindi devo rivedere un po di cose.
Mentre per Arduino UNO rev1 è necessario aggiungere una voce nel file arduino.xml, in quanto ID_MODEL_ID è uguale a 0001, mentre la UNO rev3 non lo so, penso sia uguale al convertitore usbserial light, ma è da verificare.
Leo la voce nel file la puoi aggiungere tu manualmente così:
Apri il file xml, Hardware/Programmer/arduino.xml con gedit o altro.
Seleziona dalla riga , fino alla prima occorrenza della riga
rimuovi il selezionato e al suo posto incolli il seguente:
<id term ="unor3">
<name>Arduino Uno rev3 ISP</name>
<dudeid>arduino</dudeid>
<desc>Arduino Uno board STK500.x</desc>
<icon></icon>
<device>
<SUBSYSTEM>tty</SUBSYSTEM>
<ID_TYPE>generic</ID_TYPE>
<ID_USB_DRIVER>cdc_acm</ID_USB_DRIVER>
<ID_VENDOR_ID>2341</ID_VENDOR_ID>
<ID_MODEL_ID>003b</ID_MODEL_ID>
<baudrate>115200</baudrate>
</device>
</id>
<id term ="unor1">
<name>Arduino Uno ISP</name>
<dudeid>arduino</dudeid>
<desc>Arduino Uno board STK500.x</desc>
<icon></icon>
<device>
<SUBSYSTEM>tty</SUBSYSTEM>
<ID_TYPE>generic</ID_TYPE>
<ID_USB_DRIVER>cdc_acm</ID_USB_DRIVER>
<ID_VENDOR_ID>2341</ID_VENDOR_ID>
<ID_MODEL_ID>0001</ID_MODEL_ID>
<baudrate>115200</baudrate>
</device>
</id>
, dentro gli apici si può scrivere qualunque cosa a piacere, l'importante e che non ci sia più di uno che contenga la stessa cosa, quindi per la UNO rev2 se questa dovesse avere ID_MODEL_ID 0002, id sarebbe simile a .
Sospetto che la UNO rev3 ha un ID_MODEL_ID diverso da questo http://arduino.cc/en/Main/USBSerial
Ok, oggi libero, quindi mi metto a lavoro per sistemare le cose, Grazie per la collaboarazione.
Ciao.
MauroTec:
Grazie per la collaboarazione.
Figurati, è un piacere ![]()
Nel repo c'è aggionamento sul ramo master, per cui dovresti fare:
Entrare nella dir del repo locale di avrdudequi:
git checkout master
git pull
cd avrdudequi
make clean
qmake-qt4
make
./avrdudequi
L'usbtiny dovrebbe ora vederelo e anche Leonardo, ma per la unor1 ancora no.
Ciao.
Con la Leonardo ci sono sempre problemi.
Apro Avrdudequi, collego la Leonardo e non la trova in automatico. Apro il menu e la seleziono manualmente.
Mi compaiono per mezzo secondo le voci relative alla scheda, poi sparisce tutto e torna la scritta "Device not found".
Anche l'USBtinyISP non mi viene riconosciuto in automatico. Devo selezionarlo dal menu, dopo di che compaiono le seguenti voci:
Programmer name: USBtiny
Device name: 4-2
Baudrate:
Seleziono come MCU l'Atmega328P, vado in Operative Mode, scelgo "Operates on the fuses" e do Read. Ricevo:
Run: avrdude -q -u -p m328p -c usbtiny -P -U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h
avrdude: no port has been specified on the command line or the config file
Specify a port using the -P option and try again
The process avrdude exit with Exit code: 1 Exit status: 0
Ok e tutto normale tranne per la Leonardo. Se hai aggiornato il repo in mattinata la tua uno dovrebbe funzionare, se è così dovrebbero comparire la Uno rev1 rev2 e rev3, che usano un VID rispettivamente 0001, 0002, 0003, mentre usb2serial light adapter ha VID 003b. La mega VID0010.
Al momento la selezione automatica del device non è prevista, devi selezionare il programmatore, se il programma trova almeno un device adatto ne visualizza alcune info, se ne trova più di uno appare una dialog, preso il device viene attivato il monitor di device per ascoltare la rimozione, difatti rimuovendolo la combobox dovrebbe mostrare "no programmer".
L'usbtiny ora viene riconosciuto, ma manca la gestione personalizzata. Ad es con avrisp mkii c'è la possibilità di gestire il bitclock, per usbtiny non ho idea se ci sono delle opzioni speciali da gestire, di sicuro il baudrate non è previsto perchè avrdude dialoga grazie alla libreria libusb direttamente in "usbese".
Prova la uno, ma seleziona il 644 e l'unico completo, se non c'è l'hai vai con il 328 ma non ho idea se funziona, la gui del 328 è vecchia di 6 mesi forse più.
Per la due, conviene creare la voce? cioè avrdude dialoga con la due tranquillamente?
Per la due c'è arduino ISP?
Ciao.
MauroTec:
Ok e tutto normale tranne per la Leonardo. Se hai aggiornato il repo in mattinata la tua uno dovrebbe funzionare, se è così dovrebbero comparire la Uno rev1 rev2 e rev3, che usano un VID rispettivamente 0001, 0002, 0003, mentre usb2serial light adapter ha VID 003b. La mega VID0010.Al momento la selezione automatica del device non è prevista, devi selezionare il programmatore, se il programma trova almeno un device adatto ne visualizza alcune info, se ne trova più di uno appare una dialog, preso il device viene attivato il monitor di device per ascoltare la rimozione, difatti rimuovendolo la combobox dovrebbe mostrare "no programmer".
L'usbtiny ora viene riconosciuto, ma manca la gestione personalizzata. Ad es con avrisp mkii c'è la possibilità di gestire il bitclock, per usbtiny non ho idea se ci sono delle opzioni speciali da gestire, di sicuro il baudrate non è previsto perchè avrdude dialoga grazie alla libreria libusb direttamente in "usbese".
Avevo aggiornato 2 minuti prima di scriverti, difatti ho nel menu a tendina tutte le voci che hai menzionato.
Ma la Leonardo è un po' rognosa, come scheda, per via del fatto che ha la gestione dell'USB integrata.
Difatti ho notato che appena il bootloader ha terminato l'attesa preimpostata di 8 secondi (scanditi dal lampeggio del led), la scheda si disconnetta e venga riconnessa con un altro ID. E Avrdudequi, a conferma della cosa, immediatamente mi dice "device not found" non appena il led smette di lampeggiare.
Ecco dmesg che mi dice:
[ 1228.719919] usb 4-2: new full-speed USB device number 3 using uhci_hcd
[ 1228.931649] cdc_acm 4-2:1.0: ttyACM0: USB ACM device
[ 1228.934965] usbcore: registered new interface driver cdc_acm
[ 1228.934970] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 1236.649927] usb 4-2: USB disconnect, device number 3
[ 1236.876586] usb 4-2: new full-speed USB device number 4 using uhci_hcd
[ 1237.048571] cdc_acm 4-2:1.0: This device cannot do calls on its own. It is not a modem.
[ 1237.048628] cdc_acm 4-2:1.0: ttyACM0: USB ACM device
[ 1237.056650] input: Arduino LLC Arduino Leonardo as /devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.2/input/input11
[ 1237.057096] hid-generic 0003:2341:8036.0002: input,hidraw1: USB HID v1.01 Mouse [Arduino LLC Arduino Leonardo] on usb-0000:00:1d.3-2/input2
Prova la uno, ma seleziona il 644 e l'unico completo, se non c'è l'hai vai con il 328 ma non ho idea se funziona, la gui del 328 è vecchia di 6 mesi forse più.
Ho selezionato UNO R1 e Atmega644 ma continua a dirmi che non ho specificato la porta:
Run: avrdude -q -u -p m644 -c arduino -P -b 115200 -U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h
avrdude: no port has been specified on the command line or the config file
Specify a port using the -P option and try again
The process avrdude exit with Exit code: 1 Exit status: 0
Per la due, conviene creare la voce? cioè avrdude dialoga con la due tranquillamente?
Per la due c'è arduino ISP?
Che io sappia non c'è. L'attuale ArduinoISP non compila per la DUE per via dei registri che non sono gli stessi.
Il problema sulla uno è stato risolto, a me non capitava perchè avevo due usbserial connessi e il programma mostra la dialog per far scegliere il device, quando c'è ne è solo uno la dialog non si apre e il device file non veniva impostato.
Per usbtiny, c'è da provare se il nome del device composta da avrdude è corretto, mi sembra di si sempre che ho capito le FAQ di avrdude e il codice usbtiny.c.
Se ho capito male il tiny lo vedrà ma dopo -P ci sarà qualcosa che non va bene per avrdude. Avrdude vuole un device name compsto così "usb:busnum:devnum" es "usb:09:02" tradotto sul bus 9 prendi il device numero 2.
Ripeti gli ultimi passi da:
git pull //aggiorni
make clean
ecc....
Appena la UNO e usbtiny lavorano faccio una pausa e passo a creare le MCU gui, 328, tiny ecc. Non devo dimenticare i xxu2, xxu4.
Ciao.