¿Cómo puedo obtener los archivos fuente para las bibliotecas de Arduino?

He estado buscando por un tiempo dentro de los archivos de Arduino para encontrar la biblioteca principal. Sin embargo, todavía no los he encontrado. ¿Dónde puedo obtener los archivos de la biblioteca principal (.cpp y .h) de mi disco duro necesarios para todo el código Arduino?

Buscando en Google, no pude encontrar una manera de encontrar los archivos anteriores. Vi algo sobre cómo obtener un archivo .a mientras Arduino está compilando, sin embargo, eso no es lo que quiero. Quiero navegar por el código y mirar funciones como la demora para ver cómo reaccionarían cuando se les da los valores no esperados . (es decir, ¿se atascará mi código si uso delay(-200); sin salir del ciclo, o creará un agujero negro e interrumpirá el continuo espacio-tiempo?)

Comentarios

  • Estaba interesado en la pregunta, pero lo que quiero es el código fuente para strcpy y strcat en el código fuente del ensamblador. Descargué la biblioteca maestra pero no puedo ubicar nada remotamente similar a strcpy o strcat. O tal vez no puedo ver la madera de los árboles.
  • @bobzic Le sugiero que pregunte a otro pregunta especificando qué archivos desea encontrar.

Respuesta

Los archivos fuente de Arduino base están en la instalación de Arduino , bajo cores/arduino/ . Las fuentes de las bibliotecas adicionales incluidas se encuentran en libraries/ .

Comentarios

  • Y no ‘ olvide /usr/lib/avr/include/ o lo que sea que se traduzca en sistemas que no son Linux.
  • Lástima que lo instalé como aplicación de Windows 10 y no puedo acceder a la carpeta de instalación.
  • Esta información parece obsoleta. La carpeta bibliotecas está vacía ahora y el hardware se ha movido

Respuesta

El código también está disponible en línea para aquellas ocasiones en las que no tiene el IDE instalado:

https://github.com/arduino/Arduino

Comentarios

Respuesta

En una Mac, la ruta a la carpeta del código fuente es:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino. Esperaría que fuera igual desde /Java/ hacia abajo en otros sistemas operativos.

Ruta a las fuentes de la biblioteca (Arduino-Mac)

Respuesta

Respuesta

Hay varios lugares donde puede buscar. Como en IDE 1.6.4 (versión de Ubuntu), algunos están en:

(install location)/libraries 

Pero estas son las bibliotecas de alto nivel, en particular:

Bridge Esplora Ethernet Firmata GSM LiquidCrystal Robot_Control RobotIRremote Robot_Motor SD Servo SpacebrewYun Stepper Temboo TFT WiFi 

Eso no cubre las bibliotecas de bajo nivel como Tone, Print, main, etc. Estas están en:

(install location)/hardware/arduino/avr/cores/arduino 

Allí encontrará las bibliotecas centrales de Arduino como:

abi.cpp Arduino.h binary.h CDC.cpp Client.h HardwareSerial0.cpp HardwareSerial1.cpp HardwareSerial2.cpp HardwareSerial3.cpp HardwareSerial.cpp HardwareSerial.h HardwareSerial_private.h HID.cpp hooks.c IPAddress.cpp IPAddress.h main.cpp new.cpp new.h Printable.h Print.cpp Print.h Server.h Stream.cpp Stream.h Tone.cpp Udp.h USBAPI.h USBCore.cpp USBCore.h USBDesc.h WCharacter.h WInterrupts.c wiring_analog.c wiring.c wiring_digital.c wiring_private.h wiring_pulse.c wiring_shift.c WMath.cpp WString.cpp WString.h 

Sin embargo, ni siquiera eso localiza cosas como strcpy. Los archivos encabezado para ellos se pueden encontrar en:

(install location)/hardware/tools/avr/avr/include/ 

Allí encontrará:

alloca.h assert.h ctype.h errno.h inttypes.h math.h setjmp.h stdfix-avrlibc.h stdint.h stdio.h stdlib.h string.h 

Incluso esa no es la historia completa. En un subdirectorio (avr) encontrará las cosas relacionadas con avr, con archivos para diferentes procesadores, como (en parte):

boot.h builtins.h common.h cpufunc.h crc16.h delay.h eeprom.h fuse.h interrupt.h io1200.h io2313.h ... iox64d4.h iox8e5.h lock.h parity.h pgmspace.h portpins.h power.h sfr_defs.h signal.h signature.h sleep.h version.h wdt.h xmega.h 

En cuanto a la fuente de strcpy, no creo que esté en la distribución. Incluyen las bibliotecas estándar, precompiladas. Por ejemplo, si miras en:

(install location)/hardware/tools/avr/avr/lib 

Verá varias bibliotecas precompiladas, por ejemplo:

libc.a libm.a libprintf_flt.a libprintf_min.a libscanf_flt.a libscanf_min.a 

Para encontrar la fuente, necesitaría encontrar la fuente AVR de libc está (posiblemente en http://www.nongnu.org/avr-libc/ ).


En cuanto a Mac, todo esto se encuentra unos niveles más abajo en el «Paquete de la aplicación» que puede ver haciendo clic derecho y seleccionando «Mostrar contenido del paquete». Busque en la carpeta Contents/Resources/Java.


Ninguno de estos lugares es donde debe colocar su propias bibliotecas (las que escribe e o descargar).Deben ir a la carpeta libraries que es un subdirectorio de su carpeta sketchbook. Cree la carpeta libraries si no existe. De esa manera, las bibliotecas instaladas por el usuario persisten de una versión del IDE a la siguiente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *