Ritorno a scrivere riguardo ad un progetto che ho fermato per vari motivi.
Ora riprendo il discorso per vedere se c'è qualcuno interessato all'argomento.
GNU/Linux non ha un IDE potente e semplice per lavorare con i microcontrollori, alcuni hanno provato con neatbeans o eclipse con il supporto di alcuni plugin, con pareri discordanti.
Sono dell'opinione che un plugin non può risolverti il problema come lo può fare una intera applicazione pensata per lo sviluppo embendded.
Tuttavia ci sono delle eccezioni, una di queste è qtcreator, che è stato sviluppato da Nokia per supportare lo sviluppo di applicazioni multi piattaforma usando il framework Qt. Uso Qtcreator e Qt regolarmente e grazie al codice aperto lo posso studiare, e sono emerse interessanti caratteristiche che spiegano come mai sia il miglior IDE in circolazione a parere mio.
La principale richiesta del programmatore è l'identazione automatica e l'evidenziazione del codice, QtCreator va oltre in quanto questi sono ottenuti non facendo il match tra parola chiave e codice, ma attivando un fastparser C++, questo quindi è capace di evidenziare la sintassi anche di librerie sconosciute al tempo dello sviluppo di QtCreator come le lib utente. Avendo un parser di questo tipo le possibilità sono infinite grazie anche alla struttura di tutto QtCreator che in sostanza è un avviatore di plugin, dove c'è un core plugin e un sistema per registrare i proprio oggetti o prenderene alcuni già presenti da un plugin già avviato. Questo comporta una flessibilità enorme e la riusabilità del codice è massima, ma come contropartita c'è la complessità dovuta in prima istanza al fatto che il codice non è documentato non ci sono doc API, se non in minima parte.
L'intero IDE usa uno strumento esterno per creare il file di progetto, ma anche in base a questo crea i Makefile in modo automatico. Io ho modificati questo strumento aggiungendo dei file di configurazione al fine di fare riconoscere il compilare avr-gcc, e da riga di comando fa il suo lavoro
egreggiamente. Il vero problema è nel IDE che non permette di scegliere in modo semplice il micro e la frequenza, che però è possibile specificare nel file di progetto.
Ora se ci fossero degli esperti in giro penso che in pochi mesi si potrebbe tirare fuori dei plugins al fine di avere un potente ide anche su linux, poi se ci fosse qualche finanziatore sarebbe il massimo o sarebbe Massimo, Arduino Team dove siete?
Un bell'IDE per Linux sarebbe una OTTIMA cosa.
Purtroppo questa piattaforma è snobbata non poco, vedi ad esempio la stessa Atmel che rilascia AvrStudio solo per Windows.
E l'IDE di Arduino, se da una parte aiuta per la sua semplicità, dall'altra fa pagare un discreto prezzo in termini di aiuti al programmatore.
Di aiuto non posso dartene, se non quello morale, perché non mi sento un esperto né di C/C++ né di OOP.
Io un ide l'ho sviluppato con Qt/C++ ma non ho le palle di Roberto Raggi Redirect Notice
E non uso il fast parser di QtCreator, per questo volevo sfruttare QtCreator che ha già tutto il necessario per diventare un IDE potente per lo sviluppo embedded anche più di AVRStudio. Il bello sarebbe che come è aperto Qt e QtCreator lo sarebbero anche i plugins.
Ok grazie per l'aiuto morale ma non faccio un passo perchè al momento è troppo complicato mettere mani su QtCreator. Si ho iniziato a fare un plugin ma più per sperimentare ed imapare come funziona la cosa. Insomma ho buona volontà ma non sono un mago ho i miei limiti che per colmarli mi costa fatica e sudore come la maggior parte dei programmatori comuni.
Se esistesse la possibilità di utilizzare, ad esempio, netbeans/eclipse/komodo nello stesso modo in cui uso l'ide di arduino, il passaggio lo farei subito. F
p.s.
ma in ogni caso fare i Makefile in automatico: e' il male, e va evitato!
Conosco la tu opinione riguardo i strumenti di sviluppo integrati, meno male che è una battuta perchè un CAD meccanico non estiste ancora e google non mi dice niente di nuovo. Occhio che conosco tutto i pacchetti che ci sono in giro per il CAD e solo uno ha la possibilità di evolversi positivamente ma putroppo usa un kernel licenziato in QPL che non ha nulla a che vedere con GPL.
Se non esistesse QtCreator lo si dovrebbe scrivere Qt non è nato in un giorno.
Se esistesse la possibilità di utilizzare, ad esempio, netbeans/eclipse/komodo nello stesso modo in cui uso l'ide di arduino, il passaggio lo farei subito. F
La cosa bella è che l'IDE che potrebbe nascere non li vede nemmeno quei programmi che hai elencato, neatsbeans ed eclipse sono entrambe pesanti, nota lo stesso QtCreator aperto con QtCreator il parser entra in funzione in modo automatico e termina il lavoro in meno di 10 secondi e lo zip di QtCreator pesa 26,9 MB. Quindi io posso dire che è il preprocessore C++ più veloce del west.
Forse non è chiaro che c'è l'autocompletamento di codice che riguarda anche librerie esterne di cui QtCreator non conosce nulla al monento della compilazione, il fastprocessore segue gli header esterni. Il fastparser alle prese con il core di arduino non fa a tempo di comparire.
Ci sto lavorando per portare l'ide che ho sviluppato in qtcreator, ho il primo plugin AVR Project funzionante (Quasi).
Ma solo se hai un sistema *nix, Linux ecc.
Perchè per windows proprio non compila, anche perché non ho un PC infettato da windows, per tentare di risolvere e se lo avessi mi scoccerebbe.
quadriboot win7+winxp+ubuntu+leopard, no problem for testing smiley
pero' scusa ma ora non ho tempo, ci mettiamo una puntina, plink (per chi conosce Bolt smiley)
Ottimo per testare, ti sei attrezato bene.
Ma lato hardware hai qualche programmatore?, hai arduino quale? Che chip Atmel hai?
Si mettiamoci una puntina, dove vuoi che te la infilzo la puntina ]:D, un posto dove e sicuro che non te la scordi.
A proposito di Fulmini (vecchio post) sono senza caldaia :(, ho parlato troppo presto.