ArduOpen - Opensource IDE per microcontrollori ATtiny e ATmega

Ciao ragazzi.
Vista la richiesta e l'interesse di molti utenti di gioblu.com sull'interazione tra l'Arduino IDE e vari microcontrollori della famiglia ATmega e ATtiny abbiamo sviluppato ArduOpen.
ArduOpen è un fork del progetto Arduino IDE dell'Arduino Team, che potete trovare su Github qui:
https://github.com/gioblu/ArduOpen

I goals di questo progetto sono due:

  • Fornire al niubbo la possibilità di programmare qualsiasi ATmega ATtiny e alcuni AT9 senza bisogno di programmi dedicati come AVRstudio e integrare il lavoro dell'intera comunità all'interno di questa distribuzione. Questo significa che tutte le librerie saranno gia built in nella distribuzione, insieme agli esempi dedicati e a qualsiasi altra aggiunta o lavoro proposto dagli altri utenti.
  • Fornire all'utente esperto la possibilità di sentirsi parte della comunità partecipando attivamente allo sviluppo dell'IDE. Infatti ArduOpen è un git aperto a tutti. Chiunque sviluppi un semplice sketch di esempio, una libreria o una modifica dell'IDE stesso puo' proporla e renderla disponibile a tutti gli altri utenti in tempi brevissimi (speriamo di riuscire a stare sotto alle 24 ore :grin: chiaramente dipenderà dalla risposta della comunità che è stata globalmente avvisata :grin:)

Nella versione 0023 Linux precompilata che trovate qui: https://github.com/gioblu/ArduOpen/blob/master/arduino-0023.tgz sono state fatte le seguenti modifiche:
-Grazie al lavoro di Martino Di Filippo ora il menu "Board" viene suddiviso automaticamente in 3 submenus cioè atmega attiny e at9. Questo significa che qualsiasi futuro porting aggiunto in boards.txt (ed eventualmente in cores) sarà automaticamente categorizzato e suddiviso, questo tra parentesi evita il bug dei menu che escono dallo schermo se la risoluzione non permette di visualizzarli tutti a cascata (davvero assurdo).
-Ci siamo permessi di modificare lo stile, la theme, le icone e alcune altre piccole cose, per migliorare esteticamente l'IDE, renderlo piu' comodo e meno stancante per gli occhi utilizzando uno sfondo scuro.

Quello che speriamo di rendere utilizzabile nelle prossime 24 ore è l'integrazione all'interno di ArduOpen di questa lista di ports raccolti da questi ragazzi (una lista di ben 59 ports diversi a decine di MCU AVR, di famiglia ATtiny ATmega e AT9...):
http://www.avr-developers.com/ in piu' abbiamo realizzato un gruppo di ports che mancano che abbiamo scovato in giro per il web.
Purtroppo l file messi in share da avr-developers sono basati sulla versione 0020. Quello che dovremmo capire è dove i ragazzi hanno modificato e cosa, in modo tale da isolarlo e unirlo alla nostra versione basata sulla 0022. Se avete qualche idea è piu' che ben accetta!!

Progetti a breve termine:
-includere tutte le librerie e gli esempi prodotti dalla comunità (chiaramente speriamo in una buona risposta e nell'aiuto degli utenti attivi)
-provare a scrivere un visualizzatore grafico dei dati del serial monitor (quindi evitare di passare da processing per avere un riscontro grafico dei dati in arrivo da seriale)


(questa è una vecchia screenshot, come potete vedere dalla versione, ma l'estetica è piu' o meno rimasta come vedete in foto)

avete messo il completamento automatico del codice? in pratica mentre scrivo sotto mi escono le funzioni o variabili che hanno il testo in comune? sembra una cavolata ma quando si prende la mano è uno strumento mooolto comodo, specialmente quando il codice diventa 3-400 righe

Ciao, è un'ottima idea, due domande:
1 - hai appurato se il progetto crea problemi di diritti legali?
2 - una versione windows?

Io sto smanettando con boards per lavorare a 1MHz e 8MHz in stand alone, devo a giorni traslare tutto questo lavoro sull'ATtiny85, quindi sarebbe molto comodo disporre del tuo IDE se, come ho capito, il lavoro è già svolto.

Complimenti!

Si abbiamo aggiunto come consigliato da lesto l'antialising :grin:

Ciao Menniti!!
L'unico problema legale, credo possa essere dato dal fatto che è ancora presente il marchio di Arduino, con il simbolo infinito in alto a sinistra della finestra. Sono curioso di capire dove cavolo sia quel gif / png. Non lo trovo da nessuna parte e lo sostituirei per una questione di correttezza dell'Arduino team. Per il resto ci sono 59 fork dell'arduino IDE, molti sono andati in nulla o hanno preso strade diverse (per esempio Ruby o cose cosi'). Spero che ArduOpen diventi un punto di riferimento per la parte software di Arduino.

Se vi va di darci una mano usate git, credetemi cambia la vita è uno strumento potentissimo.

Beh sarebbe uno strumento molto utile non cè che dire però ... pensate anche agli utenti a finestre:)

Per gli utenti a finestre c'è il nostro repository GUI:

(bisogna iscriversi)

Cmq consiglio l'uso di github, è possibile proporre modifiche anche senza usare il terminale, agendo direttamente dal sito in modo GUI.

Ciao a tutti ragazzi!
Finalmente ho finito Grapher1.0, un semplice programma GUI eseguibile, che permette di rendere grafici valori ottenuti dalla seriale.
E' pensato per essere un Serial visualizer cioè un' applicazione che affiancherà il Serial monitor con apposito pulsante per avviarlo all'interno di ArduOpen 0023.
Il progetto è chiaramente opensource!! Qui trovate tutti i file e l'articolo correlato:


Se a qualcuno interessasse provarlo e dirmi la sua qui ci sono i files

Sorgente: www.gioblu.com/GiO/Grapher/grapher-001-src.tar.gz
Eseguibile win32: Gioblu.com is for sale | HugeDomains
Eseguibile win64: Gioblu.com is for sale | HugeDomains
Eseguibile macosx: Gioblu.com is for sale | HugeDomains
Eseguibile linux32: Gioblu.com is for sale | HugeDomains
Eseguibile linux64: Gioblu.com is for sale | HugeDomains

Ragazzi vi faccio una domanda semplice:
Abbiamo riscontrato problemi a unire i ports dei ragazzi di www.avr-developers.com (basati sulla 0020) alla 0022, è tutto diverso i tizi hanno cambiato l'identazione, e un sacco di cose, viene difficile riuscire a unire le modifiche... Stavamo pensando, di rinunciare alle stringhe e ai passi avanti dalla 0020 alla 0022, all'interno del core Arduino...Secondo voi vale la pena guadagnare la possibilità di programmare decine di microcontrollori diversi con piu' di 50 ports differenti, tutti nello stesso IDE, con integrati gli esempi, ma non potere usare le stringhe?? Ma poi dov'è localizzata questa aggiunta delle stringhe??

Dude_UP è una sorta di AVRdude_GUI fatto da Brainbooster!!!! E' pazzesco permette di uploadare il .hex generato da IDE, permette di regolare i fuse, scrivere su EEPROM e fare tutte quelle cose che Arduino IDE prima non poteva fare (se non caricando il bootloader in certi casi). L'idea sarebbe di integrare questa applicazione come advanced upload che permetta regolazioni piu' precise e dedicate, su qualsiasi microcontrollore della lista. Quindi direi un enorme passo avanti, ci permetterebbe di non dover per forza comprare un programmatore, non per forza utilizzare AVRstudio lavorando con MCU nuove, tante piccole cose che potrebbero rendere questo IDE ancora piu' comodo e studiato intorno a noi.

dateci un occhio e provatela, we need betatesting :grin:

Se volete iniziare a giocare con la lunga lista di MCU e ports disponibili dovreste, scaricare la 0023:
https://github.com/gioblu/ArduOpen/blob/master/arduino-0023.tgz
e unirci sopra questo file http://www.avr-developers.com/corefiles/arduino-extras.zip
(attenzione cancellare la prima riga con scritto extras da boards.txt perchè tutto funzioni correttamente)
Sono sicuro che dopo aver fatto questo, quando visiterete il menu boards, sarete entusiasti!! E questo è niente :grin: :grin: :grin:

Dude_UP è una sorta di AVRdude_GUI fatto da Brainbooster!!!!

Zitto zitto, vedi che cosa tira fuori dal cilindro Brainbooster. Su questo post http://arduino.cc/forum/index.php/topic,60774.0.html si parlava appunto di avrdude con Brainbooster e non ne ha fatto cenno dell'applicazione che ha sviluppato.

Brain che linguaggio hai usato? VB?

Io dovro fare qualcosa di simile in C++/Qt, ma di fuse non nè capisco un fuso, nel senzo che non ho idea di come organizzare il software. Cose del tipo, devo parsare il file di configurazione di avrdude per ricavare tutte le info per popolare la GUI. Come organizzare la GUI un'idea c'è l'ho, diciamo che tutte quei campi e widget fanno confondere anche uno esperto, ho pensato ad una dialog extension, oppure ad una tabdialog, ma al limite anche una wizard potrebbe fare lo stesso lavoro.

@gbm
Complimenti per il restiling dell'applicazione, la gui originale è la più brutta gui che mi sia capitato di vedere, persino con il dos, ne venivano fuori di più gradevoli.

Abbiamo riscontrato problemi a unire i ports dei ragazzi di www.avr-developers.com (basati sulla 0020) alla 0022, è tutto diverso i tizi hanno cambiato l'identazione, e un sacco di cose, viene difficile riuscire a unire le modifiche... Stavamo pensando, di rinunciare alle stringhe e ai passi avanti dalla 0020 alla 0022, all'interno del core Arduino...Secondo voi vale la pena guadagnare la possibilità di programmare decine di microcontrollori diversi con piu' di 50 ports differenti, tutti nello stesso IDE, con integrati gli esempi, ma non potere usare le stringhe?? Ma poi dov'è localizzata questa aggiunta delle stringhe??

Ma cosa intendi dove localizzata?
No perchè la locale ha a che fare con la timezone, oppure qual'è il file che implementa la classe String nel cores?
Nell'ultimo caso si tratta del file WString.

Ciao.

Ciao mauro
si è in vb (scusa mondo) :slight_smile:
Dude_UP è nato perche mi scocciava molto ricordarmi tutti i flag di avrdude, poi diciamo che mi sono allargato un'attimo... :smiley:
adesso è così:

in pratica è un gui per avrdude, un commandline builder, batch programmer ed altro ancora...
Permette di creare i comandi per la programmazione degli avr supportati tramite interfaccia grafica,
di salvare i settaggi in uso come default, oppure di trasformare il comando appena generato in un file .bat che in seguito si può lanciare con un doppioclick (comodo quando si programmano boards a ripetizione) o da una finestra del cmd.
Visualizza l'output della programmazione in finestra testuale.
Contiene il modulo sketch grabber che è in grado di vedere se arduino è in uso, il nome dello sketch su cui si sta lavorando, di prevedere quale sarà il nome dello sketch compilato e di vedere se è gia stato compilato, in caso positivo, tramite un tasto passa il percorso dell'hex compilato a Dude_UP per l'upload con i parametri scelti dall'utente.
questo è un riassunto rapido di cosa fà adesso ma ho intenzione a breve di inserire altre funzioni...
Io lo uso insieme ad arduino con arduinoisp ed ul'altro accrocchio che mi sono costruito e che ho chiamato isp slimshield :slight_smile:

ne parlo in questo thread: Gioblu.com is for sale | HugeDomains
Funziona abbastanza bene, chiaramente sono in fase di betatest, quindi devo sapere come và su altri sistemi (solo window$) ma per adesso io lo uso e funge.
...Pensare che ho iniziato a svilupparlo (come applicazione standalone da usare insieme all'ide di arduino) solo perchè ad avrdude-gui mancava il settaggio del bitrate della seriale e mi rompeva aggiungerla a mano :stuck_out_tongue:
mauro, nell'altro thread non te ne avevo parlato perchè non è neanche lontanamente paragonabile a quello che stai facendo tu :slight_smile:
e forse allepoca non esisteva neanche come idea.. (se non ricordo male ho iniziato a metterlo giù domenica scorsa).
Edit:
@gbm ...sorry per il piccolo dirottamento del thread :stuck_out_tongue:

@Brain:
vorrei fare il porting del frontend di avrdude per Linux usando Gambas. Dove potrei reperire i sorgenti?

i sorgenti di avrdude-gui originale o del mio?

Del tuo se possibile :wink:

Hai MP.

vorrei fare il porting del frontend di avrdude per Linux usando Gambas. Dove potrei reperire i sorgenti?

No, dai facciamolo il C++/Qt, tanto in gambas le Qt le puoi usare se non erro.
Vabbè lo so che sei affezzionato a gambas e probabilmente lo conosci bene, io ci ho provato.

@Brain
Cos'è MP, anche io voglio dare una sbirciata al codice, ammesso che c'è ne capisca qualcosa.
Ciao.

MP= messaggio privato. :slight_smile:
come quello che hai adesso :wink:

Grandi ragazzi! Complimenti Brain.
Grandi ragazzi, stavo gia impazzendo per capire come abbandonare vb e fare x per la versione linux, l'equivalente di cio' che fatto Brain!!
Ci dareste una mano? (chiaramente io sarei disposto a darvi una mano sullo styling e la grafica, purtroppo conosco poco Gambas.

Immaginate l'IDE con Advanced Upload che apre l'exe di brain (if wi) e Serial visualizer che apre Grapher, lasciando perdere il menu boards.
Secondo me potrebbe diventare davvero uno strumento utile!!
Raga se avete tempo provate a installare Grapher e mi dite cosa ne pensate?
Per ora l'ho provato solo su Linux, servirebbe un minimo di beta-testing.

@Mauro:
Gambas mi piace perché è semplice da usare. E poi non so neanche come si usano le Qt, e di imparare l'ennesima cosa proprio non mi va XD

io e maurotec stiamo unendo le conoscenze per tirare fuori un avrdude-gui (chiaramente migliore) anche per linux.
Stay tuned ;)...

Grandi!! io, da Berlin, mi sto studiando qt :grin:

Io non riesco a trovare l'eseguibile x windows sarò anche negato ma non lo trovo :frowning: