Vorrei capire megli ocome sfruttare al meglio i Tab dell IDE. Mi spiego meglio....
il primo codice che ho scritto era tutto in un paginone ma poi leggendo un articolo di un certo Zuccalà sulla programmazione a stati finiti, dove consigliava di separare il codice, mi sono creato dei tab conteneti delle funzioni da richiamare dalla pagina principale. Poi rileggendo l'articolo ho trovato che il nome del Tag DEVE avere il nome della funzione ..... azz nel mio si chiama ad esempio Light e contiene tutte le funzioni relative alal gestione delle luci.. perchè DEVE?
Allora ho cercato su arduino.cc di trovare qualche info in più sull'uso dei TAB ma ho letto tanto capendo poco ... mi servirebbe na mano ho tante domande.
Ci sono problemi con le prestazioni suddividendo in questo modo?
Immagino che il compilatore alal fine metta tutto insieme ... ma come lo fa accoda tutto o mette in testa?
E' possibile mettere solo delle funzioni oppure posso inserire anche cose che metterei nella parte del setup () oppure prima come la definizione di alcune variabili?
In quale modo e quando è consiglaito usarle.
Per quanto ne so io, e per come lo uso io, i tab possono contenere delle funzioni che tu scrivi (e quindi la posizione nel codice non conta) e possono avere il nome che preferisci, tant'e' che in ogni tab puoi mettere quante funzioni vuoi. Non hai cali prestazionali e serve per semplificare la lettura del codice quando hai tanta roba. Non credo tu possa mettere definizioni che seguono il flusso di codice, o se lo fai il comportamento puo' essere inaspettato.
ciao
da quel che ho capito, la faccenda funziona così:
tu scrivi funzioni su vari tab, poi quando spingi il pulsante "play"
i file vengono "compilati". significa che tutti i tab vengono messi in un unico file e questo viene tradotto in linguaggio macchina leggibile dal microprocessore di aruino.
l'uso dei tab ti semplifica la vita:
al posto di avere un unico tab cno 100 righe di codice ne hai 2 con 50 righe di codice, è una procedura che ti spinge a pensare a "moduli", in maniera da concentrarti solo su certe funzioni e non perdere la testa avendole tutte insieme: contieni la complessità del programma, seguendo un paradigma molto comune in informatica per risolvere i problemi: "divide et impera"
poi ci sono altre questioni tecniche ma se già impari a scrivere codice modulare è buono
ti consiglio di cercarti qualche manuale di c o c++ (o anche java, che è un po' più semplice) per imparare a programmare!
Certo che se l'ide di arduino avesse quello che si chiama "collapse" (ovvero il bottoncino per ridurre le funzioni) non ci sarebbe bisogno di tutto questo...
Effettivamente l'editor è davvero minimalista e questo magari potrebbe essere un bene per i neofiti.
Potrebbero dare la possibilità di attivare a piacimento un'interfaccia
un pochetto più avanzata per utenti smalizziati !!!!
Mi associo alla richiesta di un IDE un po' + elaborato ! Io butto li una proposta, non so se è fattibile: mi piacerebbe avere a disposizione una modalità di programmazione tipo l'SFC .... non so se avete presente:
L'SFC è un modo di programmare tipo dagramma di flusso, è comodo per le operazioni di tipo sequenziali.
Le azioni vengono scritte in un bolcco e possono essere eseguite continuamente se quel blocco è attivo (action) oppure possono essere eseguite una sola volta appena quel blocco diventa attivo (entry action), poi si scrivono le condizioni per passare da un blocco all'altro. Infine si può stabilite il tempo minimo e massimo che quel blocco deve rimanere attivo.
una cosa di questo tipo insomma:
No.
Stavo solo pensando ad un'evoluzione ad Arduino IDE che lo tovo molto valido come ambiente o meglio ci vedo molte opportunità evolutive.
Lo lascerei di defaul così com'è ma aggiungerei un'interfaccia per utenti evoluti e quindi smaliziati da attivare dal menù.
In questa interfaccia potremmo aggiungere tutte quelle funzionalità degne di un buon editor .... Autocompletamento .... funzioni "collassabili" .... Wizard rapidi (generatori di codice) per configurare periferiche esterne come Display ed altre cosucce.........