per programmare direttamente Arduino da FlowCode ho usato queste info ma non va su arduinoUNO.
Gestiscono il problema del reset della UNO con un batch file, se qualcuno ci da' uno sguardo e gli venisse qualche idea sarebbe bello, forse devo solo cambiare la durata della pausa, ma non capisco dove farlo. http://www.matrixmultimedia.com/mmforums/viewtopic.php?f=26&t=7846
Allego immagine
p.s. questo blink l'ho inventato io, ne possiedo i diritti
mi sono detto vediamo se riesco a fare qualcosa di mio, in vita mia non ho mai programmato, il blink e' vero che l'ho fatto, ma avevo letto mille volte lo sketch quindi mi sono rifatto mentalmente a quello che ricordavo.
Il megaprogetto per mettermi alla prova e' stato:
QUANDO PREMI UN TASTO SI ACCENDE UN LED, QUANDO LO LASCI SI SPEGNE
con arduino avrei dovuto copiare un esempio e sistemarlo per le mie necessita'.
qui invece ho fatto tutto in un attimo:
ho scelto un tasto monostabile
l'ho connesso al pin2 arduinico
ho scelto un led giallo
-lho connesso al 13arduinico
ho dichiarato un input su pin2
ho creato la variabile button come byte
ho dichiarato un output su pin13
ho legato l'output alla variabile button
ho creato un loop
PREMI START
tutto funge, premendo il tasto il led si accende
Testato:
Gestiscono il problema del reset della UNO con un batch fil
Guarda che per risolvere questo problema basta mettere l'Optifix 4.4, è una versione hacked dell'Optiboot che funziona alla grande, risolvendo non solo il problema dell'autoreset quando si usa lo sketch ArduinoISP ma anche il bug relativo al fatto che non si riescono con il bootloader originale a spedire sketch più grandi di 30 kB.
Io sono pignolo per natura... Se leggo "l'ho gia' messo" immagino che ci sia... ]
Invece c'è un link ad un forum dove poi c'è un altro link da cui scaricare quello script. Che, ops, non è uno script, ma un file batch per DOS/Win. Non so darti mano: credevo ad una soluzione più semplice. Linux è diverso nel gestire la porta di comunicazione rispetto a Windows.
Testato:
Finalmente una programmazione grafica come io la intendevo
si chiama FlowCode, consigliato da Astro l'ho provato.
Flowcode permette di sviluppare applicazioni abbastanza complesse senza sapere nulla del micro che si vuole utilizzare e di programmazione, è a un livello di astrazione superiore a qualunque altro linguaggio.
Io non uso Flowcode però ne avevo visto una presentazione ad un convegno e mi ha aveva favorevolmente impressionato nell'ottica dell'utilizzo didattico o rivolto a chi deve realizzare semplici automatismi senza dover perdere mesi per capire cos'è un timer o un interrupt, che poi è la stessa filosofia di Arduino.
Sto scaricando la demo per AVR e il file batch per Arduino, poi ti faccio sapere se si riesce a programmare Arduino direttamente da Flowcode tramite il suo bootloader e gli eventuali problemi.
ottimo, magari possimo dare conferma anche su quel topic ufficiale che non funziona.
tu hai anche la 2009 immagino, puoi fare piu' prove.
xleo, ma da quel file batch, aperto come testo, non si capisce se c'e' una pausa da qualche parte che si puo' allungare ?
anche perche' scoprire che c'e' una soluzione sw al reset della uno e' una cosa nuova
p.s capisco che non vuoi installare windows, ma almeno una macchina virtuale con win-xp la devi tenere
Testato:
tu hai anche la 2009 immagino, puoi fare piu' prove.
Ho a mia disposizione per fare prove 2009 originale, UNO originale, MEGA2560 originale, Luigino 328, Luigino stand alone con bootloader 2009.
p.s capisco che non vuoi installare windows, ma almeno una macchina virtuale con win-xp la devi tenere
Tu non sai ancora chi è Leo, ti metto un vero scoop, è una foto che ritrae Leo al lavoro, per l'occasione si è camuffato un pochino però è riconoscibilissimo
Fatta la prova, utilizzando il loro file batch pare funzionare anche il trasferimento del software su Arduino, la cosa buffa è che la fase di programmazione termina con un errore però il programma è stato trasferito e risulta funzionante.
Non mi convincono molto i parametri che utilizzano per AVRdude e poi c'è il fatto che AVRdude per Arduino utilizza un file di configurazione appositamente modificato, mi sa tanto che tocca fare un merge delle due cose.
Launching the programmer...
C:\Programmi\Matrix Multimedia\Flowcode AVR V4\Tools\MX_bats\avrc_arduino1.bat m328p stk500 com3 57600 "1. Lighting an LED.hex"
Stato della periferica COM3:
----------------------------
Baud: 57600
Parit…: None
Bit di dati: 8
Bit di stop: 1
Timeout: ON
XON/XOFF: OFF
Sincronizzazione CTS: OFF
Sincronizzazione DSR: OFF
Sensibilit… DSR: OFF
Circuito DTR: HANDSHAKE
Circuito RTS: OFF
C:\Documents and Settings\Documenti\Downloads\Flowcode_V4_Examples\Components\LED & Switch>"C:\PROGRA~1\MATRIX~1\FLOWCO~1\Tools\MX_bats\..\AVRDUDEusb\avrdude.exe" -p m328p -P com3 -b 57600 -c stk500 -U flash:w:"1. Lighting an LED.hex"
avrdude.exe: successfully opened stk500v1 device -- please use -c stk500v1
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude.exe: Device signature = 0x1e950f
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "1. Lighting an LED.hex"
avrdude.exe: input file 1. Lighting an LED.hex auto detected as Intel Hex
avrdude.exe: writing flash (300 bytes):
Writing | ##########################################
........................................
avrdude.exe: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x64
######## | 100% 10.14s
avrdude.exe: failed to write flash memory, rc=-4
.............................
avrdude.exe: stk500_cmd(): programmer is out of sync
Error returned from [avrdude]
Return code = 1
Flowcode non è ingrado di trasferire il flowxhart al microcontrollore. Controllare le opzioni del programma e le connessioni.
FINISHED
hai provato con la uno ?
ho visto che hai usato il batch numero 1, che serve per la 2009
allego i settaggi, sono i settaggi della UNO cosi' come consigliati sul forum ufficiale:
questo invece il risultato, e non funziona, mi lampegggia solo all'inizio il led13, ma non lampeggiano i led tx-rx
Launching the programmer...
C:\Program Files (x86)\Matrix Multimedia\Flowcode AVR V4\Tools\MX_bats\avrc_arduino2.bat m328p stk500 com4 115200 "blink.hex"
Stato del dispositivo COM4:
---------------------------
Baud: 115200
Parit…: None
Bit di dati: 8
Bit di stop: 1
Timeout: ON
XON/XOFF: OFF
Sincronizzazione CTS: OFF
Sincronizzazione DSR: OFF
Sensibilit… DSR: OFF
Circuito DTR: ON
Circuito RTS: OFF
D:\Backup\Elettronica\FlowCode\scketch\blink>"C:\PROGRA~2\MATRIX~1\FLOWCO~1\Tools\MX_bats\..\AVRDUDEusb\avrdude.exe" -p m328p -P com4 -b 115200 -c stk500 -U flash:w:"blink.hex"
Error returned from [avrdude]
Return code = 1
Flowcode non è ingrado di trasferire il flowxhart al microcontrollore. Controllare le opzioni del programma e le connessioni.
FINISHED
Testato:
non e' che avevi blink gia' caricato sotto ?
Ho provato con la 2009, sono sicuro che ha caricato il programma che ho creato con Flowcode perché il led lo faccio lampeggiare veloce, intervalli di 100 ms.
Sto facendo altre prove e la programmazione è molto random, cioè a volte va a buon fine e a volte no, un paio di volte mi ha dato anche l'ok di programmazione terminata, dove va in errore è la lettura della flash per la verifica.
Sicuramente è solo un problema di parametri per Avrdude.
@Testato:
non è (solo) mancanza di voglia di "toccare" qualcosa di Microsoft, è che veramente le porte USB sono gestite in maniera differente. Io cmq credo che il "trucco" stia in questa riga, che sta nel 2° file batch:
Ma allora non ho capito io. Qual è quindi il problema dell'UNO che questo script aggirerebbe?
Se è quello relativo all'uso dell'UNO come programmatore ISP la soluzione, come ho detto, già c'è ed è definitiva e universale, nel senso che funziona sempre dato che non dipende dal sistema ospite (quello script gira solo su Windows) ma è legata alla modifica del bootloader stesso.