Como posso obter os arquivos de origem das bibliotecas do Arduino?

Faz um tempo que procuro nos arquivos do Arduino para encontrar a biblioteca principal. No entanto, ainda não os encontrei. Onde no meu disco rígido posso obter os arquivos da biblioteca principal (.cpp e .h) necessários para todo o código do Arduino?

Procurando no Google, não consegui encontrar uma maneira de encontrar os arquivos acima. Eu vi algo sobre como obter um arquivo .a enquanto o Arduino está compilando, no entanto, não é isso que eu quero. Eu quero navegar no código e olhar as funções como atraso para ver como elas reagiriam quando dados os valores não esperados . (ou seja, meu código travará se eu usar delay(-200); por não sair do loop ou criará um buraco negro e interromperá o contínuo espaço-tempo?)

Comentários

  • Eu estava interessado na pergunta, mas o que eu quero é o código-fonte para strcpy e strcat no código-fonte do assembler. Baixei a Biblioteca Master, mas não consigo localizar nada remotamente semelhante a strcpy ou strcat. OU Talvez eu não consiga ver a madeira das árvores?
  • @bobzic, sugiro que você pergunte a outro pergunta especificando quais arquivos você deseja encontrar.

Resposta

Os arquivos fonte do Arduino base estão na instalação do Arduino , em cores/arduino/ . As fontes para bibliotecas adicionais incluídas estão em libraries/ .

Comentários

  • E não ' se esqueça de /usr/lib/avr/include/ ou o que quer que isso se traduza em sistemas não Linux.
  • Que pena que instalei como aplicativo do Windows 10 e não consigo acessar a pasta de instalação.
  • Esta informação parece desatualizada. A pasta bibliotecas está vazia agora e o hardware foi movido

Resposta

O código também está disponível online para aqueles momentos em que você não tem o IDE instalado:

https://github.com/arduino/Arduino

Comentários

Resposta

Em um Mac, o caminho para a pasta do código-fonte é:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino. Eu esperava que fosse o mesmo /Java/ para baixo em outros sistemas operacionais.

Caminho para as fontes da biblioteca (Arduino-Mac)

Resposta

Resposta

Existem vários lugares onde você pode olhar. Como no IDE 1.6.4 (versão Ubuntu), alguns estão em:

(install location)/libraries 

Mas essas são as bibliotecas de alto nível, em particular:

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

Isso não cobre as bibliotecas de baixo nível como Tone, Print, main, etc. Elas estão em:

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

Lá você encontraria as bibliotecas centrais do 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 

No entanto, mesmo isso não localiza coisas como strcpy. Os arquivos de cabeçalho para eles podem ser encontrados em:

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

Lá você 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 

Mesmo essa não é a história completa. Em um subdiretório (avr), você encontrará itens relacionados ao avr, com arquivos para diferentes processadores, como (em 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 

Quanto ao código-fonte do strcpy, acho que não está na distribuição. Eles incluem as bibliotecas padrão, pré-compiladas. Por exemplo, se você olhar em:

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

Você verá várias bibliotecas pré-compiladas, por exemplo:

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

Para encontrar a fonte, você precisa encontrar a fonte do AVR libc está (possivelmente em http://www.nongnu.org/avr-libc/ ).


Quanto ao Mac, tudo isso está alguns níveis abaixo no “Pacote de aplicativos”, que você pode ver clicando com o botão direito e selecionando “Mostrar conteúdo do pacote”. Procure na pasta Contents/Resources/Java.


Nenhum desses lugares é onde você deve colocar seu possui bibliotecas (aquelas que você escreve e ou download).Eles devem ir para a pasta libraries, que é um subdiretório de sua pasta sketchbook. Crie a pasta libraries se ela não existir. Dessa forma, as bibliotecas instaladas pelo usuário persistem de uma versão do IDE para a próxima.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *