Skip to content

Remove toolsDependencies items #31

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 29, 2016
Merged

Remove toolsDependencies items #31

merged 1 commit into from
Jul 29, 2016

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Jul 27, 2016

Previously, installing MightyCore in Arduino IDE 1.6.10 caused the
installation of avr-gcc 4.8.1-arduino5. This forced Arduino AVR Boards
1.6.12 to use that avr-gcc version, which it is incompatible with,
causing compiling any Arduino AVR Board to fail.

Now that no tools dependencies are listed, MightyCore will use whatever
version of these tools is currently installed in the Arduino IDE(avr-gcc
4.8.1-arduino5 in Arduino IDE 1.6.9 and previous, avr-gcc
4.9.2-atmel3.5.3-arduino2 in Arduino IDE 1.6.10).

Boards Manager URL for testing:
https://raw.githubusercontent.com/per1234/MightyCore/remove-tools-dependencies/package_MCUdude_MightyCore_index.json

Previously, installing MightyCore in Arduino IDE 1.6.10 caused the
installation of avr-gcc 4.8.1-arduino5. This forced Arduino AVR Boards
1.6.12 to use that avr-gcc version which it is incompatible with,
causing compiling any Arduino AVR Board to fail.

Now that no tools dependencies are listed, MightyCore will use whatever
version of these tools is currently installed in the Arduino IDE(avr-gcc
4.8.1-arduino5 in Arduino IDE 1.6.9 and previous, avr-gcc
4.9.2-atmel3.5.3-arduino2 in Arduino IDE 1.6.10).
@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

Great, I didn't know that 😃 I'll test this in Eclipse first, and then I'll merge it.

@per1234
Copy link
Contributor Author

per1234 commented Jul 27, 2016

Good call, I've never used Eclipse so I don't do any testing in that IDE.

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

16:33:56 **** Build of configuration Release for project RemToolDep ****
make all 
Building file: ../.ino.cpp
Starting C++ compile
"/bin/avr-g++" -c -g -Os -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10609 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   -I"/Applications/sloeber.app/Contents/Eclipse/arduinoPlugin/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" -MMD -MP -MF".ino.cpp.d" -MT".ino.cpp.o" -D__IN_ECLIPSE__=1 -x c++ "../.ino.cpp" -o ".ino.cpp.o"  -Wall
/bin/sh: /bin/avr-g++: No such file or directory
make: *** [.ino.cpp.o] Error 127

16:33:56 Build Finished (took 172ms)

This is the error message when using your JSON file in Eclipse. It seems like it's needed there..

@per1234
Copy link
Contributor Author

per1234 commented Jul 27, 2016

Ok, I have another possibility I'm trying out now. Unfortunately it will mean installing duplicates of the tools already installed for Arduino AVR Boards but that will give some more control of the toolchain used with your core.

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

This may be solved by involving the creator of the ArduinoEclipse plugin; @jantje. Are there anything that can be done in the plugin?

@per1234
Copy link
Contributor Author

per1234 commented Jul 27, 2016

Here's a popular Boards Manager file that currently leaves the toolsDependencies field in the JSON file blank in all but v1.1.0 of Adafruit AVR Boards if you want another URL to test with the Eclipse Arduino plugin:
https://adafruit.github.io/arduino-board-index/package_adafruit_index.json

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

I chose v1.3.1, since that one have the tool dependencies left as a blank field. Same error:

17:36:01 **** Incremental Build of configuration Release for project tooldefs ****
make all 
Building file: ../.ino.cpp
Starting C++ compile
"/bin/avr-g++" -c -g -Os -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega32u4 -DF_CPU=8000000L -DARDUINO=10609 -DARDUINO_AVR_FLORA8 -DARDUINO_ARCH_AVR -DUSB_VID=0x239A -DUSB_PID=0x8004 '-DUSB_MANUFACTURER="Adafruit"' '-DUSB_PRODUCT="Flora"'  -I"/Applications/sloeber.app/Contents/Eclipse/arduinoPlugin/packages/arduino/hardware/avr/1.6.11/cores/arduino" -I"/Applications/sloeber.app/Contents/Eclipse/arduinoPlugin/packages/adafruit/hardware/avr/1.3.1/variants/flora" -MMD -MP -MF".ino.cpp.d" -MT".ino.cpp.o" -D__IN_ECLIPSE__=1 -x c++ "../.ino.cpp" -o ".ino.cpp.o"  -Wall
/bin/sh: /bin/avr-g++: No such file or directory
make: *** [.ino.cpp.o] Error 127

17:36:01 Build Finished (took 172ms)

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

v1.1.0 (with tool dependencies) works fine..

@per1234
Copy link
Contributor Author

per1234 commented Jul 27, 2016

Yet if you do this in Arduino IDE 1.6.10:

  • File > Preferences > Verbose output during: compilation
  • Tools > Board > Arduino/Genuino Uno
  • Sketch > Verify/Compile - you can see that the avr-gcc version included with the IDE is being used and compilation is successful
  • File > Preferences > Additional Boards Manager URLs: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
  • Tools > Board > Boards Manager... > install Adafruit AVR Boards 1.1.0
  • Sketch > Verify/Compile - You can see that packages\arduino\tools\avr-gcc\4.8.1-arduino5 is now being used and compilation fails:
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

Woah, there's a new IDE available! With the latest toolchain AND avrdude! Give me 5 minutes and I'll check 😃

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

ablink.ino, Arduino 1.6.10, OSX 10.11.5, ATmega1284P

/Users/Hans/Downloads/Arduino-1.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware" -hardware "/Users/Hans/Library/Arduino15/packages" -hardware "/Users/Hans/Documents/Arduino/hardware" -tools "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/tools-builder" -tools "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr" -tools "/Users/Hans/Library/Arduino15/packages" -built-in-libraries "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/libraries" -libraries "/Users/Hans/Documents/Arduino/libraries" -fqbn=MightyCore:avr:1284:pinout=standard,variant=modelP,BOD=2v7,clock=16MHz_external -ide-version=10610 -build-path "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp" -warnings=all -prefs=build.warn_data_percentage=75 -verbose "/Users/Hans/Downloads/Arduino.app/Contents/Java/examples/01.Basics/Blink/Blink.ino"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/arduino-builder -compile -logger=machine -hardware "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware" -hardware "/Users/Hans/Library/Arduino15/packages" -hardware "/Users/Hans/Documents/Arduino/hardware" -tools "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/tools-builder" -tools "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr" -tools "/Users/Hans/Library/Arduino15/packages" -built-in-libraries "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/libraries" -libraries "/Users/Hans/Documents/Arduino/libraries" -fqbn=MightyCore:avr:1284:pinout=standard,variant=modelP,BOD=2v7,clock=16MHz_external -ide-version=10610 -build-path "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp" -warnings=all -prefs=build.warn_data_percentage=75 -verbose "/Users/Hans/Downloads/Arduino.app/Contents/Java/examples/01.Basics/Blink/Blink.ino"
Using board '1284' from platform in folder: /Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6
Using core 'MightyCore' from platform in folder: /Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6
Detecting libraries used...
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/sketch/Blink.ino.cpp" -o "/dev/null"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/sketch/Blink.ino.cpp" -o "/dev/null"
Generating function prototypes...
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/sketch/Blink.ino.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/tools-builder/ctags/5.8-arduino10/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/sketch/Blink.ino.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/sketch/Blink.ino.cpp.o"
Compiling libraries...
Compiling core...
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -x assembler-with-cpp -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/wiring_pulse.S" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_pulse.S.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/WInterrupts.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/WInterrupts.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/hooks.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/hooks.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/wiring.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/wiring_analog.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_analog.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/wiring_digital.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_digital.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/wiring_pulse.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_pulse.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/wiring_shift.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_shift.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/avr-libc/malloc.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/avr-libc/malloc.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/avr-libc/realloc.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/avr-libc/realloc.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/CDC.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/CDC.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/HID.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HID.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/HardwareSerial.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/HardwareSerial0.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial0.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/HardwareSerial1.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial1.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/HardwareSerial2.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial2.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/HardwareSerial3.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial3.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/IPAddress.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/IPAddress.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/PluggableUSB.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/PluggableUSB.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/Print.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/Print.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/Stream.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/Stream.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/Tone.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/Tone.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/USBCore.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/USBCore.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/WMath.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/WMath.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/WString.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/WString.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/abi.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/abi.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/main.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/main.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_ATmega1284 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore" "-I/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/variants/standard" "/Users/Hans/Library/Arduino15/packages/MightyCore/hardware/avr/1.0.6/cores/MightyCore/new.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/new.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_pulse.S.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/WInterrupts.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/hooks.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_analog.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_digital.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_pulse.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/wiring_shift.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/avr-libc/malloc.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/avr-libc/realloc.c.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/CDC.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HID.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial0.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial1.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial2.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/HardwareSerial3.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/IPAddress.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/PluggableUSB.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/Print.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/Stream.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/Tone.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/USBCore.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/WMath.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/WString.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/abi.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/main.cpp.o"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/new.cpp.o"
Linking everything together...
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-gcc" -Wall -Wextra -Os -Wl,--gc-sections -mmcu=atmega1284p  -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/Blink.ino.elf" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/sketch/Blink.ino.cpp.o" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/core/core.a" "-L/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp" -lm
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/Blink.ino.elf" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/Blink.ino.eep"
"/Users/Hans/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-objcopy" -O ihex -R .eeprom  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/Blink.ino.elf" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/buildfbb3364bdd983a856e968c32e574d2fe.tmp/Blink.ino.hex"

Sketch uses 1,208 bytes (0%) of program storage space. Maximum is 130,048 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 16,375 bytes for local variables. Maximum is 16,384 bytes.

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

It took some time installing the core from the boards manager. "Installing Tools..." was the message that took the most time

@per1234
Copy link
Contributor Author

per1234 commented Jul 27, 2016

That's because it was installing avr-gcc 4.8.1-arduino5 and avrdude 6.0.1-arduino5. With previous versions of the IDE that was not necessary because those tools were already installed for Arduino AVR Boards. Now try compiling for Arduino/Genuino Uno and you'll see that installing MightyCore just broke Arduino AVR Boards.

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

Yup, compiling for the Arduino UNO returns an error. How can this be resolved while still not breaking the Eclipse support?

@jantje
Copy link

jantje commented Jul 27, 2016

I'm not sure I fully understand the discussion here. But from what I understand ... here are my 2cents
I'm personally against not specifying the tools. This because:

  • Having multiple versions of the same toolchain should not cause problems.
  • As a "board provider" you should state witch toolchain works.
  • As you do not control the Arduino toolchain version depending on it may/will break things one day.
  • When a version of a toolchain is already installed it will not be reinstalled (in Sloeber)

Currently Sloeber needs you to specify the tools in the json file.

@per1234
Copy link
Contributor Author

per1234 commented Jul 27, 2016

@jantje I agree with your sentiment. I think the idea behind the IDE allowing tools to be shared is that it allows you to avoid installing duplicate copies of tools for each core and that system has worked ok until now because the tool versions haven't changed since Boards Manager was added but now we see the problems it can cause.

I found two solutions that solve the issue with MightyCore and Arduino IDE 1.6.10. I believe they will also retain compatibility with the Eclipse Arduino plugin but I haven't tested this.

1. Specify MightyCore specific tools
Boards Manager URL for testing:
https://raw.githubusercontent.com/per1234/MightyCore/add-tools/package_MCUdude_MightyCore_index.json
Only v1.0.7 has the modification. I had to create a new version because the tool names had to be changed in platform.txt. I used the old tool versions in order to make the smallest changes possible but this option can be used to allow use of the new tool versions in any IDE version. Note that the issue with the IDE is only caused by the changed avr-gcc version so it was not absolutely necessary to add an avrdude tool.

Pros:

  • Allow greater control of the tools. The tools are currently downloaded from Arduino's website so they don't need to be hosted but it could be changed if you wanted customized tools.
  • The tools are self contained so they will not affect other cores.
  • Has expected behavior in all IDE versions tested.

Cons:

  • More changes to the core were required.
  • The tools must have a unique name(I used avr-gcc-MightyCore and avrdude-MightyCore but it could be anything).
  • Slower and larger installation due to duplicate tool installation on any IDE version that already includes the versions used.
IDE version tools installation location avr-gcc location used for MightyCore compile avrdude location used for MightyCore compile avr-gcc location used for Arduino AVR Boards compile avrdude location used for Arduino AVR Boards compile
1.6.5-r5 Arduino15/packages/MightyCore/tools Arduino15/packages/MightyCore/tools Arduino15/packages/MightyCore/tools {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools
1.6.6 Arduino15/packages/MightyCore/tools Arduino15/packages/MightyCore/tools Arduino15/packages/MightyCore/tools {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools
1.6.9 Arduino15/packages/MightyCore/tools Arduino15/packages/MightyCore/tools Arduino15/packages/MightyCore/tools {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools
1.6.10 Arduino15/packages/MightyCore/tools Arduino15/packages/MightyCore/tools Arduino15/packages/MightyCore/tools {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools

2. Update toolsDependencies to the new versions.
Boards Manager URL for testing:
https://raw.githubusercontent.com/per1234/MightyCore/update-tools-dependencies/package_MCUdude_MightyCore_index.json

Pros:

  • Minimal changes to MightyCore required.
  • Use standard tool names.
  • Faster/smaller install when the tool versions are already installed

Cons:

  • Inconsistent, unexpected behavior
  • Affects other cores
IDE version tools installation location avr-gcc location used for MightyCore compile avrdude location used for MightyCore compile avr-gcc location used for Arduino AVR Boards compile avrdude location used for Arduino AVR Boards compile
1.6.5-r5 Arduino15/packages/MightyCore/tools {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools
1.6.6 Arduino15/packages/MightyCore/tools Arduino15/packages/MightyCore/tools {IDE installation folder}/hardware/tools Arduino15/packages/MightyCore/tools {IDE installation folder}/hardware/tools
1.6.9 Arduino15/packages/arduino/tools Arduino15/packages/arduino/tools Arduino15/packages/arduino/tools Arduino15/packages/arduino/tools Arduino15/packages/arduino/tools
1.6.10 tools were not installed because the IDE already contains the specified versions {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools {IDE installation folder}/hardware/tools

Note that the testing was done with the Arduino AVR Boards version included with the Arduino IDE version tested, not one installed via Boards Manager.

@jantje
Copy link

jantje commented Jul 27, 2016

What do you mean with " the IDE allowing tools to be shared"
the IDE allowing tools to be shared by not specifying them in the json file?
the IDE allowing tools to be shared by using the same install base on disk?
Sloeber does not do 1 but does do 2 better :-)

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

For me it's not important what solution we're going for. What's important is that the user is able to paste the boards manager URL, and everything just works in both IDEs. If that means modifying this core or some of the source code in the Eclipse plugin/Sloeber IDE then so be it. The important thing here is to keep things up and running, even with the latest updates 😉

@per1234
Copy link
Contributor Author

per1234 commented Jul 27, 2016

I prefer the first option. If that's acceptable to you then the following needs to happen to resolve this issue:

  1. Which version of avr-gcc do you want to use, 4.8.1-arduino5 or 4.9.2-atmel3.5.3-arduino2?
  2. Do you want to add avrdude as a tool? If yes, which version? This is not necessary to fix this issue but will allow avrdude 6.3.0-arduino2 to be used with all Arduino IDE versions.
  3. What do you want to name the tools? The name is used for the installation folder name and in platform.txt(for example {runtime.tools.avr-gcc-MightyCore.path}).
  4. I'll submit a pull request to the master branch with the required changes to platform.txt.
  5. You merge that PR.
  6. You create a release.
  7. I submit a PR for the addition of the release to the gh-pages branch.

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

Will solution 1 work with the current version of the Eclipse plugin? @jantje Is it a lot of work making Sloeber IDE accept the empty toolsDependencies field in the JSON file? This may be a high priority task to keep boards manager URLs work with the eclipse plugin/Sloeber IDE in the future as well. IMO using the URL is the best way of installing a third party to Sloeber

@jantje
Copy link

jantje commented Jul 27, 2016

@jantje Is it a lot of work making Sloeber IDE accept the empty toolsDependencies field in the JSON file?

I think it is hard (read I don't see a way how to do it properly), the fact that sloeber supports multiple versions of a json file doesn't make it easier.

@MCUdude
Copy link
Owner

MCUdude commented Jul 27, 2016

Would it be possible to solve this like we did on the externalprogrammers.txt file; rename the field in the JSON file to Tooldependencies_eclipse for instance? This way the arduino IDE will see a blank Tooldependencies field, while. Eclipse will get the required information

@per1234
Copy link
Contributor Author

per1234 commented Jul 28, 2016

Here's the relevant issue on the arduino/Arduino repository: https://github.com/arduino/Arduino/issues/5168

@jantje
Copy link

jantje commented Jul 28, 2016

Now I get the problem.
This is a pure Arduino IDE problem. The root cause is that the Arduino IDE comes with a preinstalled avr toolchain which is located at a different location then the boardsmanager toolschains. This difference is not handled properly because "newly installed older toolchains" are used when they should not.

This is one of the reasons why we at Sloeber opted to install the toolchains at first startup.

@jantje
Copy link

jantje commented Jul 28, 2016

I described a workaround here arduino/Arduino#5168

@MCUdude
Copy link
Owner

MCUdude commented Jul 29, 2016

@per1234 I've been thinking, and I think I'll merge this pull request until a better fix is released. Making this core work with all versions of the Arduino IDE should be the top priority, and maybe we're able to figure out a good solution after an IDE nighty fix is available.

@per1234
Copy link
Contributor Author

per1234 commented Jul 29, 2016

I think that's a reasonable choice. I'm sure the majority of potential users are on Arduino IDE and I think breaking Arduino AVR boards is a more serious issue than having an Eclipse install not work.

Another solution would be to create a new entry in the JSON file, 1.0.6-eclipse, that still has the toolsDependencies listed and add some text "For use with the Eclipse Arduino plugin" and then add a not about that to the installation instructions. 1.0.6 is considered a greater version than 1.0.6-eclipse by semver so this shouldn't cause the IDE to display an updatable boards notification and 1.0.6 will still be the default version.

@MCUdude
Copy link
Owner

MCUdude commented Jul 29, 2016

By the way, where did you download the USBasp-clone firmware? Someone have reported an issue (#19) over at the MegaCore repo where I'm able to reproduce the error using my "original" USBasp (firmware), while the USBtinyISP works just fine. It would be interesting to test the clone firmware as well. Are there only one, or are there several different firmwares?

@MCUdude MCUdude merged commit b3d9b22 into MCUdude:gh-pages Jul 29, 2016
@per1234
Copy link
Contributor Author

per1234 commented Jul 29, 2016

You can get every known unlocked USBasp firmware version here:
https://github.com/bperrybap/usbasp/tree/1.06-alpha

  • bin/firmware/usbasp-v1.04-2011-05-28 is the latest official USBasp firmware from fischl.
  • bin/firmware/usbasp-v1.05-2015-12-29 is the modified release by PeterVH, that's the one I've been using ever since it was published with no issues.
  • bin/firmware/usbasp-v1.06-alpha-2016-05-18 has some further enhancements by bperrybap but is an alpha release, I haven't used it a lot but so far no problems.
  • bin/firmware/usbasp-lc-technology-2015-12-29 was downloaded from one of the blue USBasps from eBay that are marked LC TECHNOLOGY on the silkscreen.
  • The Baite USBasps have the fuses set so you can't download their firmware and apparently they have a different firmware version than any of those.

@MCUdude
Copy link
Owner

MCUdude commented Jul 29, 2016

Great! I'll try v.1.05 and v1.06! Have you experienced any issues with the original v1.04 firmware like the issue I linked to in the last post? I've experienced that before too, and is the main reason why I'm using a USBtinyISP instead. Too bad it can't burn bootloaders to chips larger than 64kB without returning a mismatch error..

@per1234
Copy link
Contributor Author

per1234 commented Jul 29, 2016

I haven't experienced that sort of issue with any of the firmware versions but I don't have an ATmega64. The reason I switched to 1.05 is that it allows me to do Tools > Burn Bootloader and Sketch > Upload using programmer on ATmega2560 without changing the fuse settings, which is not possible with any previous version. I have a USBtinyISP but I prefer the USBasp because of the 64kB limitation. There is a bug with Atmel AVRISP mkII and Windows that makes it a pain to work with and Arduino as ISP doesn't work for Upload using programmer with ATmega2560 so that makes USBasp with the 1.05 firmware the only programmer I own that does everything. Unfortunately I can't get USBasp to work with avrdude 6.3.

@MCUdude
Copy link
Owner

MCUdude commented Jul 29, 2016

I just tried the newest pberrybap 1.06 firmware in avrdude 6.3. was able to set fuses and burn bootloader to an ATmega88P without any issues or errors using OSX. I built the latest version from source a couple of days ago

@per1234
Copy link
Contributor Author

per1234 commented Jul 29, 2016

was able to set fuses and burn bootloader to an ATmega88P without any issues or errors

Thanks for telling me that. It doesn't solve my issue but it lets me know that there isn't a basic incompatibility, it's something specific to my system. I don't have an ATmega88P but I just tried ATmega328P and ATmega1284P external 16MHz and internal 8MHz with MiniCore and MightyCore using the USBasp(MightyCore), the stock USBasp, and another programmer that uses the usbasp-clone avrdude.conf entry and I get the same results as I described at http://forum.arduino.cc/index.php?topic=415210 with the Arduino AVR Boards. I've tried with 4 different USBasps, everything works fine with avrdude 6.1.

@cmaglie
Copy link
Contributor

cmaglie commented Aug 1, 2016

This is a different issue from arduino/Arduino#5168, in this case MightCore does not depend from the Arduino core, so the tools in the MightyCore json should be specified (and not interfere with the standard arduino core).

This is surely an actual Arduino IDE bug and we are working on a solution.

Sorry for any inconvenience...

@jantje
Copy link

jantje commented Aug 1, 2016

@cmaglie
If this is not https://github.com/arduino/Arduino/issues/5168, in which issue are you fixing this?

@cmaglie
Copy link
Contributor

cmaglie commented Aug 1, 2016

I guess this issue is more relevant arduino/Arduino#5042

@per1234
Copy link
Contributor Author

per1234 commented Aug 1, 2016

@cmaglie I don't understand why you consider whether or not a referenced core is used to be the determining factor. platform.txt and boards.txt (EDIT: and avrdude.conf) are more dependent on tool version than the core. Not that I'm disagreeing that this issue could be solved by MightyCore specifying its own tools, in fact that was my preferred alternate to this PR, but I think you're creating an artificial distinction.

MCUdude added a commit that referenced this pull request Feb 19, 2021
…8b9a

a367b8b9a Merge pull request #32 from cburstedde/feature-exact-timing
e7f9313ce Merge branch 'master' into feature-exact-timing
c24da8fcb Updated accuracy calculation
7efce6186 Replace bit_is_set with "regular" and operation
5fba4671d Minimal accuracy tweaks
0f33b77ce Merge pull request #31 from cburstedde/feature-exact-timing
d10b60393 Update README
299220515 Exact or very accurate millis/micros/delay always
065732108 Non-functional tweaks
0dd91a679 Update README
25fad398a Add exact timing for 9.216 MHz
19b8514f5 Merge branch 'master' into feature-exact-timing
5d4ba89e8 Correct millis and micros for arbitrary frequencies
8913fb360 Add missing parentheses
b622f9856 Add exact timing for 10 MHz
0333bcea5 Update README
5af5045c8 Add accurate timing for 16.5 MHz
e318ce1ca Add exact timing for 6 MHz
0c0b4f3a8 Remove superfluous cast
aeaadea0f Merge pull request #29 from cburstedde/feature-delayMicroseconds
4e74473d7 Merge pull request #28 from cburstedde/feature-correct-micros
6916530f2 Fix several corner cases in delayMicroseconds()
038385eea It makes a difference using unsigned math!!
912145b81 Go back to long multiply but still optimize
909105605 Use faster unsigned int multiply in micros()
eeb6635e7 Merge pull request #27 from cburstedde/feature-exact-timing
21d1d6fa7 README typo
9be3a3e42 Disable alternate micros algorithm for powers of 2
bcd8baa5a Move timer0_exact static variable def into ISR
745508971 Rename correction #define and variable
9fef70e27 Reduce unnecessary long comparison to char
95166c10e Correct bad idea: access fract with interrupts off
f64aa5d03 Remove unneeded unsigned char in micros()
a91536407 White space in wiring.c
f683310fa Make micros zero-drift based on exact millis
b28acdb84 Make 25 MHz a supported clock frequency
2a6c810ce Comments and README edits
7cde04dd0 Merge pull request #26 from cburstedde/feature-delayMicroseconds
0172627e2 Merge branch 'master' into feature-delayMicroseconds
3b1142ffd Merge pull request #25 from cburstedde/feature-correct-micros
e858df7d8 Merge branch 'master' into feature-correct-micros
b32ca2bc5 Merge pull request #24 from cburstedde/feature-correct-millis
0205fd55b delayMicroseconds() safe for us == 0 and >= 24 MHz
032bed72f Statement on delayMicroseconds() in README
afa0f8f69 Use 60398UL unsigned long constant
9b7291ae3 Add 22.1184 and 18 MHz cases to delayMicroseconds
ec16def12 Add/edit comments for delayMicroseconds()
4a89b74ed Replace abs macro ... with a "safe" version of the original abs macro. Unlike __builtin_abs() this also deals with floats, which is pretty much required to ensure compatibility against the official Arduino core(s).
57b7486af Tune ppm values in README
059d20b18 Optimize away two increments from timing ISR
3d890c22d Improve micros() to 100 ppm for 7.37, 3.68, 1.84
d852091be Tiny README update
39112b389 Simplify millis calculation to fit into long int
d1719372c Improve micros() accuracy for 14.7456, 12, 11.0952
84c8f335d micros() below crystal tolerance for 18.432, 20 MHz
b8002ce05 Update README for new/improved micros()
239425178 Make micros calculation more efficient for 20 MHz
d736735fd Add 18 MHz clock to micros()
21cf2177e Improve accuracy of 24 MHz micros()
3b9aa8990 Add 18 MHz clock to millis() calculation
65aa77f4d Fix timing error for non-power-of-two clocks
0091354f8 Add discussion of micros and delay to README
af3b94c79 Non-functional clarification
2568a3f85 Add millis() discussion to README
56512e963 Add millis () correction to make 22.1184 MHz exact
2d42b729d Add 22.1184 MHz micros () correction
46fa6940c Prevent micros for 32 MHz to enter wrong case
49f5f250a Increase micros () accuracy for 18.432 and 20 MHz
b51058fe1 Supply millis () correction for 24 MHz
993843d4d Add two odd frequencies 7.37 and 3.69 MHz
25c1c988b Correction makes millis() exact for several speeds

git-subtree-dir: avr/cores/MCUdude_corefiles
git-subtree-split: a367b8b9ab17653a379108e48d7696bf1c6ca336
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants