Arduino IDE repository opensource

confermo, il file preferences.txt ha moltissime opzioni, tra cui mostrare i comandi (e i vari output) di compilazione e upload.
Una interfaccia grafica, magari un minimo organizzata per schede permetterebbe di avere un ambiente molto più user-friendly

Sono d'accordo le possibilità sono molte...
Se avete voglia di provare a utilizzare questo strumento potremmo rilasciare in 48 ore gia un IDE divertente da provare e sperimentare!!

quello che in breve sarà up (spero gia stasera)

  • Inserimento porting del attiny45 / 85
  • Dovrei aver gia corretto la problematica dell'antialising
  • Inserimento di esempi in italiano facilmente consultabili via IDE
  • Fede85 ha inserito la sua libreria sunlightSR

Chiaramente la sedimentazione di migliorie potrebbe portare lontano!!
Se riesco a non addormentarmi vorrei fare alcune prove per una grafica dedicata! :grin:

Chiedo scusa in anticipo a gbm, perchè sto sfruttanto il suo topic.
Queste sono mie considerazione, non rispondono alla verità assoluta è sono opinabili.
Io considero L'ide di arduino non considerevole di attenzione, perchè non concentrare gli sforzi nella realizzazione di un ide in C++/Qt. Io poco per volta ci sto provando, ma da solo è davvero difficile, il supporto, il consenso e la collaborazione da parte della comunità sono un buon vitaminizzante per chi sviluppa un software.

L'ide che ho in mente si basa principalmente su uno strumento che genera file di progetto analizzando il codice in una directory e dopo ricava dal file di progetto le informazione per generare un Makefile da dare in pasto a make.
Questo strumento può generare sia Makefile che usano il compilatore avr-gcc o altro come sdcc per pic, configurando i file di questo strumento si apre la strada a nuovi compilatori e nuovi micro controllori di case e architetture diverse.
Avere questo strumento pronto e mantenibile è un'obbiettivo ancora da raggiungere, sarebbe come aver fatto la metà del lavoro. L'ide poi si limiterebbe ad invocare questo strumento ed il make finale costuirebbe tutto ciò, librerie, applicazione, .lss, .eep, .map.

Se c'è qualcuno interessato in qualche modo, per evitare di sporcare il topic, può mandarmi un messagio privato.

Ciao.

Ciao sembra davvero interessante e non vedo perchè dovrebbe rischiare di "sporcare il topic" Anzi!!! A me interessa un sacco l'idea!
Sarebbe davvero pazzesco riuscire a programmare un PIC tramite arduino IDE...quello a cui stai pensando puo' essere in qualche modo integrato nell'IDE?

Ragazzi dite che è fattibile scrivere un versionamento degli sketch??!

Altra cosa...Dove cavolo trovo i consigli testuali che vengono generati in caso di errore / mancanza parentesi ecc??
Perchè riscrivendo quei messaggi innanzitutto in Italiano e poi in modo un po' meno tecnico e piu' basilare si potrebbero aiutare un sacco chi è alle prime armi!!

Voi avete idea di come possa inserire un nuovo pulsante nella barra dei pulsanti?? :grin:
E se è possibile far interagire scripts (o applicazioni compilate con Processing) con questo pulsante??
(vorrei fare un sistema che mostra grafico x / y di uno o piu valori numerici ottenuti dalla seriale)

Ho abbozzato una prima versione di testing, che contiene anche le prime modifiche degli utenti di gioblu.com per mostrarvi come funziona il repository, il versionamento dei files e la customizzazione dell'IDE!!

  • modificate le icone
  • modificato font (ora Tahoma) e le proporzioni
  • modificati i colori della finestra e degli avvisi
  • modificati i colori di highliting delle parole chiave
  • inserito antialising come consigliato da Leo72
  • inserito porting attiny45 85 | Pico85
  • inserita da Fede85 la libreria sunlightSR
  • piccoli ritocchi su preferences.txt

download file: Gioblu.com is for sale | HugeDomains

Qui le modifiche apportate:

Trovate chiaramente qui:

i file con il versionamento!! Quindi quelli precedenti e quelli modificati, che fanno parte della versione attuale!! I files che sono stati modificati nel repositoryhanno il numero "version" a 2 (quindi ci sono due versioni del file). Li trovate in lib, lib/theme, hardware e hardware/cores

Inserito drag and drop nel repository, potete spostare i files da una finestra dell'OS (o dal desktop) al repository trascinandole (con caricamento ajax rifinito ). Provatelo!

Credo che i messaggi di errore che compaiono nella finestra in basso siano in realtà un "mirror" dei messaggi del compilatore stesso, quindi ecco perché sono così "tecnici".

Per quando riguarda i colori, il tema cromatico sarebbe secondo me da far scegliere all'utente nel pannello delle preferenze "migliorato" che suggerivo io di creare. A me personalmente il grigio scuro non piace. :smiley:

Grazie mille Leo!! L'hai provato??
Cmq!! Sono d'accordo che il colore va fatto selezionare all'utente!!! Come fare?? Qualcuno ha qualche idea?

Sinceramente io non ho esperienza di programmazione in Java per cui non so come fare la finestra per modificare le preferenze dell'IDE.

Ciao ragazzi! Questi giorni ho lavorato tantissimo per reperire e testare fondamentalmente tutti porting reperibili su internet (ore e ore di ricerca) :stuck_out_tongue:

Questa è la lista delle addon:
Arduino Mega1280 stk500v2
Arduino Mega2560 stk500v2
Arduino-Cerebot Plus
Arduino-Cerebot II atemga64
Arduino-Digilent I/O Explorer USB
Arduino-Atmega16
Arduino-Butterfly stk500
Arduino-Atmega165
Arduino-Amber 128 14.7456 Mhz
Arduino-Duino 644
Arduino-Duino 644P
Arduino-illuminato
Arduino-Wiring 1281
Arduino-Orangutan SVP-1284
Arduino-Rugged Circuits Gator Board
Arduino-Penguino AVR
Arduino-ATmega8515
Arduino-Test-Atmega8535
Arduino-Android 2561 8Mhz
Arduino-Android 2561 16Mhz
Atmega88
Arduino-Atmega3290p
Arduino-Teensy 2.0 (USB Serial)
Arduino-Teensy++ 2.0 (USB Serial)
Arduino-at90usb162
Arduino-at90usb646
Arduino-at90usb647
Arduino-at90usbkey
Arduino-ATtiny45
Arduino-ATtiny26
Arduino-ATtiny85
Arduino-ATtiny2313
AT90CAN128 development board NHL (arduino core)
at90can64 (arduino core)
at90can32 (arduino core)
STK500 w/STKk502 - ATmega169 (Arduino Core)
STK500 w/DVK90CAN1 - AT90can128 (Arduino Core)
STK500 w/STK525 - at90usb1287 (Arduino Core)
STK500 w/STK525 - at90usb647 (Arduino Core)
Arduino-BahBots 1284p
Arduino Atmega48
Arduino atmega640
Embedded market atmega32
Arduino-attiny861
Arduino-atmega8u2
ATtiny45 (w/ USB Tiny ISP)
ATtiny45 (w/ Arduino as ISP)
ATtiny45 (w/ AVRISP mkII)
ATtiny85 (w/ USB Tiny ISP)
ATtiny85 (w/ Arduino as ISP) | Pico85 gioblu.com
ATtiny85 (w/ AVRISP mkII)
Luminet ATtiny84

Il grosso del lavoro è stato fatto (egregiamente) da Mark Sproul!!
Ne ho testati una piccola parte e tutti funzionano!!
Ma sono incappato in un enorme problema!! La tab board è troppo lunga e non viene visualizzata completamente (esce dallo schermo)!!
Sapreste darmi una mano a capire come sistemare il problema??

Allora ho scaricato da qui: http://arduino.googlecode.com/files/arduino-0022-src.tar.gz
il sorgente dell'ide, in cui sono presenti i file .java.

Ho individuato 3 file in cui gira il menu "board" che sono:
Editor.java (dove viene generato il menu)
Base.java (dove viene lanciata la funzione rebuildBoardsMenus)
Target.java (dove viene trattato il file boards.txt tramite la funzione target)
(in arduino-0022/app/src/processing/app/)

Dopo averli modificati l'ide va compilato seguendo questo esempio:
http://code.google.com/p/arduino/wiki/BuildingArduino

purtroppo non avevo mai preso in mano java quindi sono un po' bloccato...
Vorrei creare i seguenti menu:
Original Arduino Boards ->
ATmega family portings ->
ATtiny family portings ->
STK series boards ->

Credo che la cosa piu veloce da fare sia duplicare le funzioni e creare 4 files per dire:
originalboards.txt
ATmegaboards.txt
ATtinyboards.txt
STKboards.txt

Sapreste darmi una mano :grin:??

Cmq ragazzi adesso che ho scoperto come poter accedere al vero core dell'arduino IDE posso provare a fare un sacco di cose!!
Esempio faro' la versione italiana il prima possibile!! :grin: (un sacco di utenti su gioblu.com fanno fatica con l'inglese credo potrebbe essere utile)

  1. Quello del menu che non scorre se le voci escono dallo schermo è un bug già segnalato, anche da me, agli sviluppatori dell'IDE (vedi issue #426 e issue #501.

  2. Vuoi dire che ora l'IDE supporta tutti quei micro della lista? Fantastico! Volevo infatti ordinare un 644 per un mio vecchio progettino ... XD

Ma sono incappato in un enorme problema!! La tab board è troppo lunga e non viene visualizzata completamente (esce dallo schermo)!!
Sapreste darmi una mano a capire come sistemare il problema??

No prutroppo java non è per me, più o meno dovrebbe comportarsi come fa firefox per segnalibri, oppure dal momento che scelto un micro per un progetto non lo si cambia più per tutto lo sviluppo, si potrebbe creare una dialog progetto per impostare nome e cartella o altro, e una list box per scegliere la board.

  1. Vuoi dire che ora l'IDE supporta tutti quei micro della lista? Fantastico! Volevo infatti ordinare un 644 per un mio vecchio progettino ...

Non è così semplice, c'è da vedere se il cores supporta quel micro, al momento mi risulta supporti solo questi:
SUPPORT_MMCU += atmega48 atmega88 atmega88p atmega168 atmega168p
SUPPORT_MMCU += atmega168p atmega328 atmega328p atmega1280 atmega2560

@gbm
Sarebbe per me interessante testare ciò che ho fatto fino adesso, ma non ho un'ide per farlo.
Da riga di comando riesco a creare file di progetto .pro con qmake (l'ho chiamato qemake da Q embedded make), e sempre con qemake genera un makefile da dare in pasto con il comando make. Ho testato il funzionamento con il cores arduino 0021 e con le librerie mhvlib e funge, tranne per il preprocessore wiring che ancora non ho provveduto.

Per il preprocessore qemake deve fare più o meno ciò che fa per i file c o cpp quando lo lanci nella directory del progetto, genera un file .pro con la lista degli header e source, in più dovrebbe aggiungere in una variabile WIRING_SOURCE tutti i pde trovati nell directory, poi un altro qemake -spec architettura/compilatore per generare il makefile che userà un compilatore anziche un'altro, durante il quale riunisce tutti i pde in unico file e lancia cproto modificato per aggiungere le dichiarazioni di funzioni e classi non dichiarate dall'utente.

Con le librerie mhvlib questo passagio non è necessario perchè in puro C++, e basta scrivere nella shell:
cd directory_del_progetto entra nella directory dove sono salvati i sogenti i c o cpp
qemake -project "CONFIG+=mhvlib-16022011" genera un file di progetto ".pro" con il nome della cartella
qemake -spec linux-avr8-g++ genera un Makefile che usa il compilatore avr-gcc
2)make QEMAKE_MMCU=atmegaxxx QEMAKE_FCPU=xxxxxUL avvia la compilazione

Purtroppo manca un passo simile per le librerie che non viene effettuato in automatico:
qemake -spec linux-avr8-g++ percorso/per/raggiungere/ilfile.pro della libreria che crea un Makefile-nomelib-versione
da dare in pasto a make così:
1)make QEMAKE_MMCU=atmegaxxx QEMAKE_FCPU=xxxxxUL -f Makefile-nomelib-versione.
questo compila la lib e la mette nella dir di progetto dentro una directory staticlib.

appena si cambia il micro (QEMAKE_MMCU) o la frequenza (QEMAKE_FCPU) si devono ricompilare sia lib che applicazione ma in questo caso non è più necessario ricorrere a qemake ma solo make (1) e make (2).

Sto cercando di modificare la creazione delle lib che si conclude con la scrittura di un file nomelib-versione.infolib dove salvare la MMCU e frequenza F_CPU.

Che ne dite, mi ci dedico ancora o lascio perdere?
Ciao.

Ciao chiaramente anche il core è stato aggiornato, si funzionano. Non avendo tutti quei micro non li ho potuti testare tutti ma quelli che ho funzionano.
tiny85 644p 2313 e vari altri

Mi date una mano a suddividere il menu board in 4 menu?