Buenas tardes (¡y buenas fiestas!).
Estoy utilizando PlatformIO para hacer pruebas con un ESP32 y un display oled 128x64.
Cuando he indicado a Platformio cargar la libreria Adafruit SSD1306 en un proyecto, ha añadido una línea de referencia en el file platformio.ini.
Yo quisiera cargar todas las librerias en la carpeta Lib del proyecto, pero no soy capaz de ver cómo hacerlo. ¿alguien podría indicarme cómo hacerlo?
(por otra parte me ha sorprendido que sólo con cargar esa libreria y poner su include en el fuente, me carga sus dependencias (Adafruit GFX y Wire) para el programa de prueba que he hecho)
Esperá un rato que seguro viene @Surbyte al rescate, el es usuario de PIO y te va a saber asesorar. ![]()
Ok. Gracias!![]()
Mientras tanto, fijate que la librería debe estar copiada en la carpeta "build" del proyecto (explorá un poco la carpeta porque no recuerdo exactamente en que subcarpeta).
O sea, PIO crea la dependencia en el archivo ini pero también la descarga en el proyecto.
Hace mucho que no lo uso pero en algún momento hice lo que querés hacer, creo que moví la carpeta de la librería a "Lib" y luego borré la dependencia del ini (sino la vuelve a cargar en "build"). Pero te repito, creo que hacia así.
Otra opción es recurrir a la documentación de PlatformIO.
Supongo que tendrás una pantalla de este tipo.
En este caso lo importante es que se habrá PIO Home
Vas luego a Lilbraries
Y verás esto
Ahi escribí Adadruit GFX luego click en buscar (LUPA) y obtienes lo que sale abajo
cuando hagas click en 3 tienes dos caminos, yo usaba el botón Celeste pero luego viendo un video uso este otro camino que es mas rápido.
El botón celeste (1) te agrega la librería en el archivo platformio.ini seleccionando tu proyecto, es muy fácil asi que no te lo voy a explicar.
El otro camino indicado como 2 (el que uso ahora) es más corto y hace lo mismo de otro modo.
Cuando eliges este camino se despliegan lo mismo que en 1 pero ahora debes copiar y pegar y aunque te resulte ahora raro es más rápido.
Copias lo que he marcado como 3 y lo pegas en tu platformio.ini
Antes que nada, gracias por tu respuesta.
Siempre había añadido las librerías con lo que indicas como "opción 1" (pulsando sobre "Add to Project")
He probado (con una librería que antes no tenía cargada) a hacer como indicas (opción 2), pero me ha generado un error una vez que "pego" el texto:
De todas maneras, quizás no me he explicado bien en cuanto a lo que quería:
A mi me gusta tener un poco controladas las librerías utilizadas en los programas y por eso quisiera tener todas las no incluidas de forma estándard (build-in?) en la carpeta "lib" del proyecto.
El caso es que si las instalo desde PIO Home, pone la referencia en el Platformio.ini del proyecto pero no pone la librería en la carpeta lib (voy a investigar lo que me indica MaximoEsfuerzo), que es donde me gustaría que quedasen.
De hecho una de las principales razones por las que utilizo Platformio es porque puede tener en una carpeta de proyecto todos los ficheros necesarios (o eso creì entender).
En un proyecto probé a copiar alguna librería (copiándola de la carpeta de librerias del IDE Arduino) en la carpeta lib y declarar el include correspondiente en el main y funciona.
Pero me preguntaba si hay forma que una librería que aún no he cargado antes, al incluirla desde PIO Home en un proyecto la dejase en el directorio lib del proyecto.
En último caso, si encuentro en qué directorio del pc me carga la librería a que hace referencia en el Platformio.ini, cuando carge una la copiaré al lib del proyecto.
Muchas gracias, MaximoEsfuerzo.
Voy a ver si encuentro esa carpeta y, si no hay forma que lo haga en automático desde PlatformIO Home, copiaré las librerias necesarias para el proyecto en la subcarpeta lib.
Vale. Visto. Carga la librería en la subcarpeta ".pio\libdeps\arduino_nano_esp32"
(en mi caso que he incidado como boar un arduino nano esp32).
Pero además lo ha hecho de forma inteligente pues ha metido la librería que le indiqué y las dependientes. Cargué la Adafruit SSD1306 y ha "metido" en la carpeta en cuestión también las relacionadas!.
Bueno, si es así, ya sé que las tengo "controladas" (y puedo dar un vistazo a su contenido
) en una subcarpeta del proyecto, aunque no sea la carpeta lib.
Muchas gracias a los dos.
Bueno, me confundí con la carpeta build de la IDE (ya estoy grande...) y era .pio.
Como te dije antes yo las moví a Lib y para eso hay que quitar o, mejor, comentar las líneas en el archivo ini.
Las moví por 2 razones.
- La primera es que si quieres incluir una librería que no se puede descargar del repositorio (sea propia o que solo puedes descargar en zip, por ej.) la tienes que copiar a la carpeta Lib porque si la copias a libdeps PIO la termina borrando porque no figura en platformio.ini.
Así que terminas con las librerías desparramadas por la carpeta del proyecto o las reunes a todas en Lib. - La segunda es porque si usas el mismo código para otro micro (porque PIO permite definir más de una placa en el mismo platformio.ini), va a crear otra copia de la librería para ese otro micro.
Así que terminas con librerías duplicadas.
De nuevo muchas gracias a los dos🙂.
Ya me habéis hecho aprender unas cosas más!.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.






