Arduino Forum

International => Italiano => Generale => Topic started by: Maurotec on Jan 29, 2011, 10:07 am

Title: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: Maurotec on Jan 29, 2011, 10:07 am
Un ide dovrebbe essere:


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.
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: uwefed on Jan 29, 2011, 01:42 pm
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
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: Maurotec on Jan 29, 2011, 03:14 pm
Quote
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

Quote
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.



Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: FEDERICO on Jan 29, 2011, 03:49 pm
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
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: Pelletta on Jan 29, 2011, 03:56 pm
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.
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: uwefed on Jan 29, 2011, 05:40 pm
ciao MauroTec

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

Quote
sono liberi di scegliere no.

Sono liberi a scegliere.

Ciao Uwe
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: gioscarab on Jan 29, 2011, 06:09 pm
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à.
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: Maurotec on Jan 29, 2011, 06:17 pm
Quote
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.

Quote
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.

Quote
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.
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: gioscarab on Jan 29, 2011, 06:24 pm
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).
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: Maurotec on Jan 29, 2011, 06:40 pm
Quote
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.

Quote
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.
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: Federico_Vanzati on Jan 29, 2011, 07:25 pm
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!
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: superlol on Jan 29, 2011, 08:10 pm
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  ;)
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: php_beta on Jan 29, 2011, 08:55 pm
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/ (http://www.visualmicro.com/).
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: FEDERICO on Jan 29, 2011, 11:14 pm
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 ^_^
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: Freddy65 on Jan 29, 2011, 11:24 pm
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.
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: Aurelio_Bignoli on Jan 30, 2011, 06:57 pm

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 (http://www.arduino.cc/playground/Code/Eclipse)

il plugin per Eclipse

http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download (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 (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1277930203/0)

Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: mbanzi on Jan 31, 2011, 01:36 am

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





Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: leo72 on Jan 31, 2011, 01:49 am
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?
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: mbanzi on Jan 31, 2011, 02:04 am
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
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: Maurotec on Jan 31, 2011, 04:12 pm
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.
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: FEDERICO on Feb 02, 2011, 03:08 pm
http://www.adafruit.com/blog/2011/02/01/arduino-plugin-for-textmate/

Questo puo' interessare a qualche amico che usa il mac?
UhMph peccato che non sia per linux :-)
Fede
Title: Re: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded
Post by: mbanzi on Feb 03, 2011, 12:22 pm
Per rispondere alla domanda del topic vorrei darvi una prospettiva sullo stato attuale dell'IDE di Arduino e di come personalmente vedo l'evoluzione degli strumenti di sviluppo.

L'IDE di Arduino è progettato per coprire le necessità del suo pubblico principale: il principiante che vuole qualcosa che non lo intimidisca al primo approccio. La semplicità del menu e della toolbar sono progettati per non sopraffare l'utente con un'infinità di opzioni che non servono quando stai partendo.

L'altra necessità è di mantenere una continuità tra processing e arduino. Processing è un ottimo modo per insegnare a programmare ad un principiante e poi permettergli di passare ai microcontrollori mantenendo quasi tutte le conoscenze acquisite. Questo è il prodotto di alcuni anni di lavoro fatti dai nostri due gruppi dal 2001 in poi all'MIT Media Lab, IDII Ivrea, K3 Malmo, ITP New York,  CIID Copenaghen,  Domus e centinaia di workshop.

Il nostro IDE probabilmente non è adatto a un professionista che svolge progetti molto complicati in cui ci sono Interrupt complessi o gestioni molto intricate di timers e cose simili.

Molta gente ha chiesto un IDE più potente e secondo me il percorso da fare è la creazione di un plugin Arduino per Eclipse.

Questa strada è stata seguita già da processing e gli sviluppatori pro dopo un po di tempo sull'IDE di base passano a Eclipse.

Eclipse è potente, cross platform ed ha tutta l'infrastruttura necessaria a supportare un debugger. Nel momento in cui possiamo far parlare Eclipse con GDB e avere un'interfaccia simile a OpenOCD (che si usa per il JTAG) sarà possibile fare il debug linea per linea, monitorare le variabili etc.

Stiamo lavorando con ATMEL per convincerli ad aprire un po' i loro protocolli di debug. Ce la possiamo fare :) (mi sono anche fatto un viaggio in norvegia tre settimane fa per andare a trovarli)

Se qualcuno è interessato alla creazione di questo plugin ce lo dica e cerchiamo di lavorarci sopra.

Un'altra area che vorremmo esplorare sono gli IDE visuali. Quando si scende di età verso i bambini, uno strumento cosi può funzionare. A barcellona hanno modificato Scratch per parlare con Arduino e lo usano con i bambini per programmare i robot. CI piace l'esperimento e lo seguiamo.

Avevo anche pensato alla riscrittura dell'IDE in QT ma alla fine ci siamo accorti che l'IDE corrente è il prodotto di una quantità immensa di ore/uomo di lavoro fatto da processing e noi. Se non c'è una ragione molto importante per cambiare meglio tenersi un programma che funziona.

Il discorso è lungo ed è un'argomento su cui lavoro da 8 anni perciò se non sto attento scrivo un libro :)

m