Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded

Un ide dovrebbe essere:

  • Multi profilo
    Uno più profili possono essere creati dell’utente.
  • Multi sessione
    Piu sessioni del programma possono essere avviate con diversi profili
  • Multi architettura
    Ogni profilo può o no riunire un’insieme di impostazione per determinata un’architettura. Es. Arduino ARM ecc
  • Multi target
    Ogni progetto può produrre dei file binari con alcune varianti. Es. 328P-8MHZ, 328P16MHZ, 328P-20MHZ

Un profilo mi permette di scegliere una directory che conterra tuttu i progetti che riguardano ad esempio Arduino Board. Posso specificare un insieme di percorsi per ragiungere delle librerie esterne, che normalmente uso con Arduino. Quando creo un progetto e lo compilo posso scegliere a quale libreria sarà linkato marcando un segno di spunta su una o più librerie presenti in quel profilo.

Multi sessione mi permette di aprire più sessioni dello stesso programma selezionando un profilo diverso con cui sviluppare. Il mio progetto usa un ARM principale più 3 AVR che comunicano tra loro, se apporto una modifica al codice dell’ARM devo modificare anche il codice sugli AVR, avendo 2 sessioni aperte posso passare facilmente dall’una all’altra apportando le dovute modifiche.

Cosa ne pensate?

Ciao.

Ciao MauroTec

Penso che Ti fai troppi pensieri.

Arduino mira a un scopo diverso: di facilitare l' uso di un microcontroller per progetti a persone che non hanno fatti studi di informatica (privati o a scuola o universitá).

Ciao Uwe

Penso che Ti fai troppi pensieri.

:D Certo tu avresti detto lo stesso a Mrs Stalman; uwefed: ma che fai lavori a gcc ma lascia stare ti fai troppi problemi. Richard: Tu non capisci, sto realizzando qualcosa che centinaia di milioni di persone usaranno anche dopo che io non ci sono più, e lo potranno modificare ecc. uwefed: e che ci guadagni?, poi i pc non sono pensati per questo blabla ecc, perchè ti ostini a fare quello che non si può fare :D Richard : tu non capisci, le scuole, i centri di ricerca, la nasa useranno il compilatore gcc. uwefed: Penso che Ti fai troppi pensieri, guarda quelli swindows che si sono inventati un sistema che si può usare solo con le finestre, quello dovevi fare, no gcc. :D :D :D

Arduino mira a un scopo diverso: di facilitare l' uso di un microcontroller per progetti a persone che non hanno fatti studi di informatica (privati o a scuola o universitá).

Ma se io a qualche altro dovesse realizzare un ide e volesse sfruttare tutta l'infrastruttura di Arduino (tranne java) questi poi mica ogbligano tutti gli utenti di arduino ad usare questo ide, sono liberi di scegliere no.

Ok ciao.

Secondo me l'ide di arduino fa pena. Non so per altro se e' un baco che ho solo io ma ultimamente, visto che ho un po' di progetti salvati, non posso piu' prendere quelli piu' in giu' in ordine alfabetico dallo sketchbook perche' vanno fuori dallo schermo. Senza contare tutto quello che non c'e' mai stato come possibilita' di gestione del codice...

Mi spiace solo di non avere mai avuto il tempo di provare a portare il tutto su un altro ide. Il fatto che sia pensato per non professionisti non giustifica il fatto che faccia cosi' pena!

F

A volte gli schetch veloci che non richiedono mille compilazioni li scrivo con kate, almeno c'è l'autocompletamento.... Concordo che l'IDE non sia il massimo ma pazienza, se ne usciranno di alternativi ben venga.

ciao MauroTec

Ti riferisci a Richard Matthew Stallman ( con due elle) o a qualcun altro? ;)

sono liberi di scegliere no.

Sono liberi a scegliere.

Ciao Uwe

Se il team Arduino pensasse di piu' a facilitare l'entrata della programmazione nella vita di tutti i giorni della massa, avrebbero sviluppato un IDE piu' open, un esempio? Un ragazzo americano se non sbaglio sta lavorando a modificare l'ide per permettere di lavorare con gli ATtiny. Perchè poter lavorare con una piccola selezione di MCU quando inserendo i porting di tutti gli utenti di arduino avremmo una scelta enorme tra gli mcu in commercio?

Forse perchè si rischierebbe di poterci fare in casa arduini a meno di 5 euro? :P

Se la cosa fosse completamente open e libera da meccaniche commerciali sarebbe meglio, esempio sarebbe interessante poter proporre modifiche all'idea, upgrade e nuove possibilità.

Ti riferisci a Richard Matthew Stallman ( con due elle) o a qualcun altro?

Si si proprio lui, una l mi è rimasta nelle dita :D

PS: non prenderla sul personale ok, ma vedo non lo hai fatto.

Che l'ide sia pessimo questo è condiviso, ma anche se non lo fosse credo sia oggettivo che confrontato con un GUI Qt, gtk o wxwidget, c'è un'abbisso. Tuttavia inutile lamentarsi più di tanto perchè non porta a niente, se non fosse per la possibilità di usare un'editor esterno sarebbe un problema serio. Ora anziche dirmi che non devo pensare a queste cose, perchè lo spazio a disposizione lo utilizziamo per dire es: il linea di massima ci siamo, però si deve mantenere la semplicità del ide attuale o comunque non complicarla oltre misura così da tagliare fuori quelli che iniziano. oppure no io lo farei così o colì.

PS: io per natura non ho mai avuto idoli di nessun tipo anche Mrs Stallman che stimo tanto non lo difenderei a spada tratta come nessuno cioè non sono un fanatico non lo ero neanche da ragazzo. Ognuno di noi ha un suo schema mentale io capisco le cose quando le smonto ho cominciato a tre anni smontando le sveglie, poi non me le hanno più dato e smontavo le bambole di mia sorella, e mi hanno tolto anche quelle, ora posso smontare tutto quel che mi pare e non me lo toglie nessuno.

Un ragazzo americano se non sbaglio sta lavorando a modificare l'ide per permettere di lavorare con gli ATtiny.

Peccato che modificare vuole dire sempre java, ma questo è un mio limite.

Forse perchè si rischierebbe di poterci fare in casa arduini a meno di 5 euro? smiley-razz

Non penso, le schede che fai le fai in casa con quello che ne consegue per il costo che hanno le schede arduino che è buono perchè sono di qualità, in giro si trova di meno ma il pcb non mi pare dello stesso livello.

È se vuoi programmare altri micro c'è il programma di atmel che gira anche su linux grazie a wine ma non è nativo ed è chiuso siggilato, ed io a scatola chiusa uso solo arrigoni e manco.

Ok ciao.

Secondo me il problema è l'impossibilità di scegliere tra migliaia di MCU. La scelta di Atmega 328 / 168 / 1280 / 25... secondo me è mirata. Esempio l'attiny 85 (costo 2 dollari se ne prendi 5) ha 4 o 6 i/o non ricordo (di cui 2pwm) e 8kb di memoria, piu' un clock interno di 20mhz. Io lavoro nella robotica e mi rendo conto che questo MCU basterebbe e avanzerebbe alla gran maggiorparte dei progetti di robotica messi in share in exhibition, letsmakerobots, gioblu.com e i vari altri siti di robotica amatoriale (cioè robot rover basici).

Secondo me il problema è l'impossibilità di scegliere tra migliaia di MCU. La scelta di Atmega 328 / 168 / 1280 / 25... secondo me è mirata.

Ovvio che è mirata, ma è dovuto obbiettivamente per semplificare l'uso da parte dell'utente e per semplificare le librerie.

Esempio l'attiny 85 (costo 2 dollari se ne prendi 5)

Certo chi ci lavora cerca la convenienza, però io sono convinto che se si sviluppa qualcosa con quel micro, e questo ha l'eco e il bussines che ha avuto Arduino, quel micro non può che salire di prezzo o meglio prima avrà una leggera flessione verso il basso poi sempre più su.

PS:non conosco quel chip, ho letto solo il 168, 328, e Xmega.

Dimmi gbm tu che ide usi? Usi anche altre lib esterne? Cosa pensi della descrizione di inizio post.

Il progetto Arduino è in un certo senso figlio del progetto Processing (se guardate il documentario questa cosa è spiegata) ...da qui si può trovare una motivazione del fatto per cui l'IDE e il linguaggio siano sulla falsa riga di processing, così chi già era iniziato a processing poteva avere già familiarità con arduino...poi il fenomeno è esploso ma la storia non poteva essere certo stravolta!

Secondo me la pulizia e la semplicità dell'IDE non dovrebbero essere cambiate, ne andrebbe a scapito di tutti coloro che di elettronica e programmazione sono a digiuno. Alla fine la filosofia di arduino si traduce in semplicità e poche impostazioni per mettere in piedi con successo uno sketch. Ovvio che agli sviluppatori più preparati tecnicamente l'IDE sta subito stretto, per tutte le sue limitazioni che rendono confusionario creare codici articolati, quindi sono d'accordo sul dire che sarebbe bello avere un'ambiente di sviluppo più "accessoriato".

Sarebbe bello se nascesse qualche progetto per integrare le funzionalità di Arduino in qualche altro IDE e sarebbe ancora più bello se fossero gli stessi sviluppatori ad aiutare a farlo.

Comunque penso che per la filosofia che c'è dietro l'IDE dovrebbe rimanere il più semplice possibile.

@MauroTec: riguardo alle tue idee, non so cosa dire, me ne intendo troppo poco per dare un parere che possa contare!

se si avesse voglia si potrebbe importare tutto in Eclipse o NetBeans.. IDE generici a cui tu aggiungi comandi ecc..

ma chi lo fa? io no di certo, l'IDE di arduino è un po' scarno ma fa il suo lavoro, se si facesse anche un'importazione in Eclipse compilando uscirebbe un file .hex da dover poi caricare tramite un'altro programma e che se qualcosa va storto i problemi sono tanti e non sempre si riescono a risolvere.

mentre con l'IDE di arduino io scrivo il codice, lo salvo poi schiaccio su upload e lui me lo porta sulla board, funziona sempre (se configurato bene) e non da problemi ;)

Anche io da programmatore in ambiente Microsoft faccio davvero fatica ad usare l’IDE di Arduino.
Almeno un minimo di indentazione del codice, definizione delle funzioni, etc…

Comunque c’è questo progetto http://www.visualmicro.com/.

Credo che con eclipse, netbean o komodo ci sia il sistema di creare anche un po' di bash scripting per automazioni. Si potrebbe quindi caricare lo sketch tramite avrdude a linea di comando ecc. La menata maggiore e' che va scritto il Makefile e che vanno aggiunte alcune righe di base agli sketch per poterlo fare... Del resto non ho mai avuto tempo per lavorarci ^_^

Io credo che un IDE un pò più completa e con la possibilità di personalizzarla su più aspetti e con integrato anche uno strumento per il debugging del programma scritto senza doverlo uploadare sulla scheda ogni volta che si vuole testare una modifica non possa che facilitare l'approccio ad Arduino.

Ciao.

superlol:
se si avesse voglia si potrebbe importare tutto in Eclipse o NetBeans… IDE generici a cui tu aggiungi comandi ecc…

ma chi lo fa?

http://www.arduino.cc/playground/Code/Eclipse

il plugin per Eclipse

http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download

non sembra molto aggiornato, ma può essere un buon punto di partenza. Ne parlavano di recente nel forum:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1277930203/0

gbm: Se il team Arduino pensasse di piu' a facilitare l'entrata della programmazione nella vita di tutti i giorni della massa, avrebbero sviluppato un IDE piu' open, Se la cosa fosse completamente open e libera da meccaniche commerciali sarebbe meglio, esempio sarebbe interessante poter proporre modifiche all'idea, upgrade e nuove possibilità.

Ciao Il team Arduino ha portato migliaia di persone, compreso te, a programmare microcontrollori. Persone che prima di Arduino non avrebbero mai pensato di poter o voler fare programmazione embedded. A questi temi ci pensiamo ogni secondo della nostra vita professionale... E lo abbiamo fatto quando non fregava a nessuno e quando non c'erano soldi da guadagnare.

L'IDE di Arduino è completamente open source. Inoltre se avessi letto un po' di documentazione ti saresti accorto che per aggiungere altri processori basta aggiungere una directory con i files giusti e sei a posto.

Infatti la persona che per prima ha portato arduino sul 2560 l'ha pubblicato come plugin da aggiungere ad arduino. L'IDE di Arduino nasce per essere modulare e supportare più processori e più cores.

Chiunque voglia contribuire si registra gratis su github, forca il progetto, fa delle modifiche ed invia una pull request. Se le patch hanno senso vengono incluse.

Invito tutti gli interessati a registrarsi sulla mailing list developers e partecipare alla discussione visto anche che non c'è un italiano attivo...

Detto questo l'IDE di Arduino è progettato per essere ultra semplice e leggero , quando uno arriva al limite delle sue possibilità migra ad Eclipse o qualche altro mostro.

Ovviamente le chiacchiere da bar sport sono più semplici del dare un contributo fattivo :)

m

Ciao Massimo, una richiesta che penso non sia difficile e che potrebbe rendere il codice più leggibile. L'attuale IDE non mi pare marchi tutta la sintassi. Ad esempio le direttive #define ecc.. non vengono colorate come le altre istruzioni, ne deduco che ciò sia o per scelta o perché l'IDE non le identifica come comandi riconosciuti. Pensi che potresti/potreste rivedere questa cosa?

Le parole da colorare sono contenute in un file di configurazione. Ho notato la sett scorsa che non funzionava neanche "const" Ora li inserisco come bug report.

In ogni caso se trovate qualcosa che non funziona o è migliorabile in arduino la cosa migliore è andare qui

e inserire http://code.google.com/p/arduino/issues/entry un bug report (o enhancement request)

qui la lista di quelli correnti http://code.google.com/p/arduino/issues/list

m

Da quando frequento questo forum ho notato che non sono capace di mantenere la discussione in tema, e devo dire che la cosa mi scoccia. Forse sono mal abbituato, ho notato che il moderatore non modera, e non solo per questo post. Il post recita "secondo voi come dovrebbe essere....", invece è andata a finire a quanto fà pena e quanto non è open o forse lo è troppo. Non posso dire che siamo fuori tema ma quasi, se si va oltre si finisce OT.


Ora secondo voi a senso riportare qui quello che ho fatto, al di la del fatto che possa o meno interessare discuterne. Ho usato qmake (generatore di project file e makefile di QT(Nokia)) con il quale ho compilato le librerie di arduino e lo scketch, ma quando ho paragonato la dimensione del file .elf generato da arduino con quello generato tramite makefile ho notate una certa differenza.

Eppure ho usato il parametro -Os di gcc, allora nonostante l'allergia a java ho guardato il sorgente dell'ide (file Compiler.java), e non ci sono sostanziali differenze tra i prametri passati a gcc da arduino e quelli sepcificati nel makefile, vedro come risolvere. Ho notato un'altra coso ne approfitto visto che uno degli sviluppatori ha postato qui.

Nel file menzionato in BaseCommandCompiler viene aggiunto un argomento che viene passato ad avr-gcc, ma questo argomento non è riconosciuto da gcc, o meglio richiede "x" per non avere errori, l'argomento in questione è il seguente:

Da cpp.pdf: -x assembler-with-cpp Specify the source language: C, C++, Objective-C, or assembly.

Ora, ho quel codice non entra in azione (non sono in grado di capirlo) oppure viene aggiunto -x e io non lo vedo nel codice.

Per favore, se avete qualcosa da dire in tema io sono interessato a leggere ed argomentare, altrimenti questo post per me è chiuso qui.

Ok ciao.