Comment puis-je obtenir les fichiers source des bibliothèques Arduino?

Je cherche depuis un moment dans les fichiers Arduino pour trouver la bibliothèque principale. Cependant, je ne les ai pas encore trouvés. Où sur mon disque dur puis-je obtenir les fichiers de bibliothèque de base (.cpp et .h) nécessaires pour tout le code Arduino?

En regardant autour de Google, je nai pas pu trouver un moyen de trouver les fichiers ci-dessus. Jai vu quelque chose sur lobtention dun fichier .a pendant la compilation dArduino, cependant, ce nest pas ce que je veux. Je veux parcourir le code et regarder des fonctions telles que le retard pour voir comment ils réagiraient lorsque les valeurs ne sont pas attendues (ie Mon code va-t-il se bloquer si jutilise delay(-200); en ne sortant pas de la boucle, ou va-t-il créer un trou noir et perturber le continuum espace-temps?)

Commentaires

  • Jétais intéressé par la question, mais ce que je veux, cest le code source pour strcpy et strcat dans le code source de lassembleur. Jai téléchargé la bibliothèque principale mais je ne trouve rien de similaire à distance à strcpy ou strcat. OU Peut-être que je ne peux pas voir le bois pour les arbres?
  • @bobzic Je suggère que vous demandiez à un autre question spécifiant les fichiers que vous souhaitez rechercher.

Réponse

Les fichiers source Arduino de base se trouvent dans linstallation Arduino , sous cores/arduino/ . La source des bibliothèques supplémentaires incluses se trouve dans libraries/ .

Commentaires

  • Et ne ‘ oubliez pas /usr/lib/avr/include/ ou tout ce qui se traduit par des systèmes non Linux.
  • Dommage que je lai installée en tant quapplication Windows 10 et que je ne puisse pas accéder au dossier dinstallation.
  • Ces informations semblent obsolètes. Le dossier bibliothèques est maintenant vide et le matériel a été déplacé

Réponse

Le code est également disponible en ligne pour les moments où vous navez pas installé lEDI:

https://github.com/arduino/Arduino

Commentaires

Réponse

Sur un Mac, le chemin vers le dossier du code source est:
Arduino.app/Contents/Resources/Java/Hardware/Arduino/Cores/Arduino. Je mattendrais à ce que ce soit la même chose à partir de /Java/ dans dautres systèmes dexploitation.

Chemin daccès aux sources de la bibliothèque (Arduino-Mac)

Réponse

Réponse

Il y a plusieurs endroits où vous pouvez regarder. Comme dans IDE 1.6.4 (version Ubuntu), certains sont dans:

(install location)/libraries 

Mais ce sont les bibliothèques de haut niveau, en particulier:

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

Cela ne couvre pas les bibliothèques de bas niveau comme Tone, Print, main, etc. Elles sont dans:

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

Vous y trouverez les bibliothèques de base Arduino comme:

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 

Cependant, même cela ne localise pas des choses comme strcpy. Les fichiers header correspondants se trouvent à ladresse:

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

Vous y trouverez:

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 

Même ce nest pas lhistoire complète. Dans un sous-répertoire (avr), vous trouverez les éléments liés à avr, avec des fichiers pour différents processeurs, tels que (en partie):

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 

Quant à la source de strcpy, je ne pense pas que ce soit dans la distribution. Elles incluent les bibliothèques standard, précompilées. Par exemple, si vous regardez dans:

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

Vous verrez diverses bibliothèques pré-compilées, par exemple:

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

Pour trouver la source, vous devez trouver où la source AVR de libc est (probablement à http://www.nongnu.org/avr-libc/ ).


Comme pour le Mac, tout cela se trouve quelques niveaux plus bas dans le « Package dapplication » que vous pouvez afficher en cliquant avec le bouton droit de la souris et en sélectionnant « Afficher le contenu du package ». Regardez dans le dossier Contents/Resources/Java.


Aucun de ces endroits est lendroit où vous devez mettre votre possède des bibliothèques (celles que vous écrivez e ou télécharger).Ils doivent aller dans le dossier libraries qui est un sous-répertoire de votre dossier sketchbook. Créez le dossier libraries sil nexiste pas. De cette façon, les bibliothèques installées par lutilisateur persistent dune version de lEDI à la suivante.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *