Domanda:
Il plugin Arduino Eclipse può utilizzare le librerie installate dall'IDE di Arduino?
JRobert
2016-03-26 03:01:39 UTC
view on stackexchange narkive permalink

In Arduino Eclipse (v3, nightly build) non sono stato in grado di caricare librerie 'straniere', quelle scritte da me o da qualcun altro, quindi non sono tra le scelte disponibili nelle finestre di dialogo include-library.

Ho provato ad aggiungerli a un progetto e ad aggiungerli come risorsa di libreria disponibile utilizzando le finestre di dialogo integrate per farlo, ma non vedo un modo per selezionare una libreria che non lo sia già incluso in quelle finestre di dialogo.

Il mio caso ideale sarebbe un modo per il plug-in Eclipse di Arduino di utilizzare le stesse schede e librerie che uso nella mia installazione IDE di Arduino, in modo che:

  • Un aggiornamento all'IDE di Arduino aggiorna simultaneamente le librerie di base in Eclipse;
  • Una libreria opzionale dovrebbe essere installata in un solo posto;
  • La modifica di una libreria opzionale richiederebbe solo da fare una volta, in un unico posto.

L'obiettivo, come in una mia precedente domanda, è di consentire senza problemi l'utilizzo di uno dei due IDE per far avanzare un progetto. Tuttavia, sarei grato di poter aggiungere alla mia installazione di Eclipse qualsiasi libreria di mia scelta.

Due risposte:
jantje
2016-03-26 04:01:18 UTC
view on stackexchange narkive permalink

Temo che quello che vuoi non sia possibile al 100%.
Per le biblioteche sono sicuro al 100% che funzionerà ma il problema sono le piattaforme.
AGGIORNARE arduino IDE (non più)? decomprime le librerie e come tali le librerie sono inutilizzabili in Sloeber.

Iniziamo con le librerie Quello che devi fare è: In arduino eclipse ide rimuovere tutte le librerie dalla libreria manager.

In windows-> Preferences-> arduino -> "private libraries path" aggiungi la cartella delle librerie nell'IDE di arduino install e aggiungi la cartella delle librerie nella cartella arduino15 gestita dal gestore della libreria.
It è importante puntare alla cartella principale contenente le librerie. Si presume che tutte le sottocartelle siano librerie.

Poi le schede Il problema qui è che il boardmanager aggiunge variabili d'ambiente per collegare le schede agli strumenti. Potresti aver letto osservazioni su A.RUNTIME.TOOLS.AVR-GCC.PATH e A.RUNTIME.TOOLS.AVRDUDE.PATH non definiti. Beh, è ​​il boardmanager che li mantiene in base al contenuto del file json. Se puoi limitarti a 1 versione della catena di strumenti AVR, SAM, AVRDUDE, BSON, ... puoi "farlo funzionare" come segue:
Passaggio 1: Mantieni il minor numero possibile di schede installate. Devi mantenere almeno 1 o il plugin reinstallerà le schede AVR di Arduino all'avvio.
Passaggio 2: In Windows-> Preferenze-> Arduino-> "percorso hardware privato" aggiungi la cartella hardware nell'IDE di arduino installa e aggiungi la cartella dei pacchetti nella cartella arduino15 gestita dal gestore delle schede IDE di Arduino.
Passaggio 3: Ricrea il progetto in eclipse come descritto nell'altra tua domanda.
Passaggio 4: se la compilazione non riesce, modifica i file di [installazione eclipse] / arduinoPlugin / post e di pre-elaborazione per provare a farlo funzionare.
Passaggio 5: nelle proprietà del progetto-> Arduino selezionare applica e OK (questo terrà conto delle modifiche al passaggio 4)
Passaggio 6: vai al passaggio 4

Buona fortuna Jantje

Funziona, ad eccezione di un set di librerie (Blynk), ma sono rimasto sorpreso dal fatto che "#include " non fosse sufficiente; che anche la libreria doveva essere importata. Nella libreria Blynk, il loro programma di esempio viene compilato nell'IDE di Arduino, ma Eclipse si lamenta di non riuscire a trovare un Blynk.begin () con una firma che corrisponda alla chiamata dal programma di esempio.
Informazioni sulle schede: Significa che non posso compilare lo stesso codice né per Uno né per Mega2560 a piacimento? Oppure posso, ma non se aggiorno l'IDE di Arduino (attualmente v1.6.7 con il plugin eclipse 'mac64.2016-03-23_03-43-04')?
Il modo in cui l'IDE di Arduino trova le librerie è diverso dall'ide di Arduino eclipse. Questo potrebbe spiegare perché Blynk non è stato trovato e doveva essere importato. L'IDE di Arduino cerca nel contenuto delle cartelle della libreria i file (intestazione) corrispondenti al tuo file include. Il plug-in Eclipse di Arduino trova le librerie in base a nomecartella = include - ". H"
Non capisco la tua domanda a bordo.
File .h: Stai dicendo che i nomi dei file .h citati verranno trovati automaticamente ma quelli tra parentesi no? - Boards: hai scritto "Per le biblioteche sono sicuro al 100% che funzionerà, ma il problema sono le piattaforme". e ha descritto alcune limitazioni dovute al board manager. Non ho capito quali siano le conseguenze o quando potrebbero accadere.
JRobert
2016-05-27 00:48:07 UTC
view on stackexchange narkive permalink

Creazione di librerie Blynk, v0.3.6 e (presumibilmente) successive, compatibili con Eclipse.

Con molto aiuto da Jantje (grazie!), ho trovato 4 semplici passaggi che rendono le librerie Blynk v0.3.6 Compatibile con Eclipse:

  1. Crea ... / libraries / Blynk / Blynk.h (potrebbe essere vuoto) e #include prima di includere qualsiasi libreria Blynk.
  2. Allo stesso modo, crea e #include .../libraries/BlynkESP8266_Lib/BlynkESP8266_Lib.h
  3. Elimina l'intera cartella ... / libraries / Blynk / linux (a meno che tu non stia utilizzando Linux! In tal caso, è necessario eseguire ancora un po 'di discovery.)
  4. Nei progetti Blynk precedentemente importati in Eclipse Arduino, elimina il file (possibilmente nascosto) .ino.cpp e crea una build pulita.

Questa ricetta funziona per me con MacOS 10.11.5, la build notturna IDE di Eclipse Arduino e ArduinoIDE versione 1.6.9 . Dovrebbe essere riproducibile da chiunque desideri compilare programmi Blynk in Eclipse. In sistemi operativi diversi da Mac, in particolare Linux, potrebbe essere necessario modificare il passaggio 3. Ho eliminato la cartella linux per impedire a Eclipse di compilare main.cpp e BlynkDebug.cpp da lì che causava più errori di definizione al momento del collegamento .

Quanto sopra è un estratto da una guida che ho pubblicato nella comunità di Blynk, ma penso che contenga tutte le informazioni pertinenti.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...