non sono un esperto di Arduino e ho ereditato un progetto sviluppato con MariaMole, per avere un editor con qualche funzionalità avanzata sono passato a Visual Studio Code con l'estensione per Arduino sviluppata da Microsoft (versione 0.2.28), ho installato l'IDE 1.8.9 (perché la versione 1.8.10 non permetteva la compilazione bloccandosi per un errore generato probabilmente da un bug).
Nonostante giorni di fatica per configurarlo, l'editor di Visual Studio Code genera degli errori (che non pregiudicano la compilazione) perché segnala che non sono definiti alcuni valori legati all'hardware, come ad esempio: PORTC.
Variando i settaggi e cioè cambiando il valore di ARDUINO (attualmente 10809 ricavato dall'IDE per un Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328P) o della versione dell'AVR Core (attualmente 1.6.23), gli errori dell'editor cambiano, ovvero cambia il set di valori che rileva non essere definiti (la compilazione va comunque sempre a buon fine).
Chiedo a qualcuno se può aiutarmi a capire:
Il corretto uso dei settaggi dell'estensione per Arduino di Visual Studio Code
Come settare i giusti valori ARDUINO (-DARDUINO nella riga di comando)
Come scegliere la versione di AVR Core da utilizzare.
Naturalmente ho cercato per giorni la documentazione di questi aspetti, senza trovare più di qualche accenno.
Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiIN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie.
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto.
Non ho Visual Studio Code, sono su linux. Posso postare il log di compilazione che genere QtCreator alle prese con il core Arduino mentre compila un esempio, da questo dovresti dedurre ciò che ti manca.
L'errore circa PORTC solitamente dipendono dalla macro AVR_ATmega328P se è presente o no. Oppure dall'argomento -mmcu=atmega328p.
Allego il log di compilazione di un esempio chiamato "cancello0".
Ho usato la board DUEMILANOVE.
Il core lib di arduino è già precedentemente compilato e l'ho chiamato libCore.a, qui si vede dove si trova: -L/home/maurilio/Sviluppo/avrcreator/automaton/MyCode/cancello0/../../lib/atmega328p/16000000/ -lCore
Grazie era evidente che non lo sapessi, ora c'è da capire come gira, mi aspetto C #.
Pesa solo 78MB il .rpm, c'è da vedere quali dipendenze mi scarica dal repo.
Sono tentato, e che per adesso sto studiando DSP e altre cose che mi mettono a dura prova, non avrò tempo di spippolarci.
Maurotec:
Grazie era evidente che non lo sapessi, ora c'è da capire come gira, mi aspetto C #.
Hm non ho capito, che c'entra C#?
Quando installi l'estensione per Arduino tu programmi in C/C++ di Arduino, e compili con il suo compilatore e librerie (infatti è necessario aver installato prima anche l'IDE Arduino)...
identificatore "TCCR2A" non definito
identificatore "TCCR2B" non definito
identificatore "TCNT2" non definito
identificatore "OCR2A" non definito
identificatore "WGM21" non definito
identificatore "CS22" non definito
identificatore "CS20" non definito
Scusa, non conosco MariaMole ed ho iniziato da poco ad usare VSCode con Arduino ma non ho capito perché tu abbia tutti quei problemi e quei settaggi da fare (valore di ARDUINO 10809, o la versione dell'AVR Core, eccetera...).
Prima domanda: l'IDE ti funziona correttamente, ossia compila e fa upload? Questo è un ovvio prerequisito...
Seconda domanda: hai provato a seguire i passi consigliati per configurarlo correttamente? Intendo ad esempio QUESTO video...
ho installato l'IDE 1.8.9 (perché la versione 1.8.10 non permetteva la compilazione bloccandosi per un errore generato probabilmente da un bug).
Come vedi dal log di compilazione io ho proprio la versione 1.8.10 e funziona, ora posso pensare che non hai scaricato l'ide dal repo ufficiale.
Segui intanto quello che dice docdoc che ha già usato VSCode.
La situazione è che tutto funziona, tranne l'intellisense del C++ che non fa riferimento alle librerie giuste e quindi evidenzia falsi positivi.
Ok posta il log di compilazione, io avevo lo stesso problema con QtCreator che non espandeva le macro e non seguiva i riferimenti agli identificatori ecc.
docdoc:
... ho iniziato da poco ad usare VSCode con Arduino ...
L'avevo installato, ma per mancanza di tempo, non ho mai approfondito con Arduino.
Ti trovi bene? Ritieni valga la pena utilizzarlo in "sostituzione" dell'IDE classico per la scrittura?
Credo che non ci sia verso di sistemare VSCode per fare lavorare bene intellisense.
Io ho dovuto fare piccole modifiche del core. Puoi provare ad aggiungere un'altra define globale, ma poi usciranno altri errori quando apri ad esempio il file header pins_arduino.h presente nel core.
Aggiungi ARDUINO_MAIN alle define vediamo che succede.
Scusate, apro una piccola parentesi. Stò provando anche io ad installare sto IDE.
Su Windows 7 vedo che sto Visual Studio Core fa la solita stunzata di installare sotto G:\Users\xxx\AppData\Local\Programs eccetera, eccetera.
Io consiglio di mandarlo a cacare e metterlo in una cartella DECENTE tipo c:\VsCode visto che sotto le cartelle users... ci possono poi essere problemi (e me ne sono già capitati in quelle cartelle) con le proprietà dei files (owner) e altre amenità di quei decerebrati di Microzoz.
Federico66:
L'avevo installato, ma per mancanza di tempo, non ho mai approfondito con Arduino.
Ti trovi bene? Ritieni valga la pena utilizzarlo in "sostituzione" dell'IDE classico per la scrittura?
Per ora sto usando sempre l'IDE (oddio, in realtà alcune volte uso Notepad++... ;)) anche se VSCode l'ho installato e (pre)configurato, ma ora che iniziano le ferie natalizie avrò del tempo libero quindi voglio proprio valutare questo, ossia se le cose che dà in più ne valgano la pena (e sopratuttto non devo avere niente in MENO...) e quindi passare ad usarlo come editor di default.
nid69ita:
Io consiglio di mandarlo a cacare e metterlo in una cartella DECENTE tipo c:\VsCode visto che sotto le cartelle users... ci possono poi essere problemi (e me ne sono già capitati in quelle cartelle) con le proprietà dei files (owner) e altre amenità di quei decerebrati di Microzoz.
Credo sia possibile installare dove ti pare invece di usare la cartella predefinita, ma guarda che la AppData non è mica per il programma, è per le impostazioni e file locali! E in ogni caso quali problemi di permessi dovresti avere in una TUA cartella? Tranne il fatto che la AppData generalmente è nascosta (chissà perché eh?.. ) fa parte delle cartelle associate al tuo account quindi sei TU l'owner e ne hai normalmente i diritti di accesso (a meno che non ci si smanetta ad minchiam, e torniamo quindi al perché sia una cartella nascosta... ).
Concordo che Windows non sia il massimo, ma insomma, a me pare che con Arduino la gente abbia molti più problemi quando usa quella "scatola chiusa" incatena a doppia mandata da Apple che è il MacOS!
docdoc:
... Concordo che Windows non sia il massimo, ma insomma, a me pare che con Arduino la gente abbia molti più problemi quando usa quella "scatola chiusa" incatena a doppia mandata da Apple che è il MacOS!
Assolutamente NO ... anzi, esattamente l'opposto, su macOS (che ti rammento è un sistema .nix), basta che usi, ove occorre (FTDI, CH340, CP2102, PL2303) il giusto "driver" (come ovunque del resto) e di problemi proprio non ce ne sono. I casini nascono quando la gente comincia a voler usare cose vecchie e non più supportate su nuove versioni del OS.
Ecco il rosicone Applista...
Dai, su, lo sai pure tu che molti degli ultimi post con problemi di compilazione o di librerie o di porta tty sono di gente che usa il MacOS! 8)
Scherzi a parte, anche su Windows se non installi il giusto driver seriale non funziona, ma converrai che i problemi di permission sulle tty sono una delle cose più noiose su Linux e MacOS. In ogni caso ok, diciamo che siamo pari, non avrei dovuto.
Ho controllato adesso la mia installazione che in effetti non uso da un po'.
Io ho due plugin
1 Arduino 0.2.28 della Microsoft (Arduino for Visual Studio Code)
2 C/C++ 0.20.1 della Microsoft (C/C++ Intellisense, debugging and code browsing)
Immagino che l'intellisense funzioni per il secondo plugin.