khoih-prog / TimerInterrupt_Generic

This library enables you to use Interrupt from Hardware Timers on supported Arduino boards such as AVR, ESP8266, ESP32, SAMD, SAM DUE, nRF52, Teensy, etc. These Hardware Timers, using Interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's mandatory if you need to measure some data requiring better accuracy. It now supports 16 ISR-based Timers, while consuming only 1 Hardware Timer. Timers' interval is very long (ulong millisecs). The most important feature is they're ISR-based Timers. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks.
MIT License
38 stars 5 forks source link

Doesn't compile for nrf52 boards with Arduino IDE #4

Closed shanyechungu closed 3 years ago

shanyechungu commented 3 years ago

Arduino: 1.8.15 (Mac OS X), Board: "Adafruit Feather nRF52840 Sense, S140 6.1.1, Level 0 (Release)"

/Users/NNL/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: sketch/TimerInterruptLEDDemo.ino.cpp.o: in function doingSomething1()': /var/folders/4p/g4vjjkm91599mvnrhgf992kw0000gp/T/arduino_modified_sketch_899459/TimerInterruptLEDDemo.ino:91: undefined reference toSerial' /Users/NNL/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: sketch/TimerInterruptLEDDemo.ino.cpp.o: in function doingSomething2()': /var/folders/4p/g4vjjkm91599mvnrhgf992kw0000gp/T/arduino_modified_sketch_899459/TimerInterruptLEDDemo.ino:97: undefined reference toSerial' /Users/NNL/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: sketch/TimerInterruptLEDDemo.ino.cpp.o: in function doingSomething3()': /var/folders/4p/g4vjjkm91599mvnrhgf992kw0000gp/T/arduino_modified_sketch_899459/TimerInterruptLEDDemo.ino:102: undefined reference toSerial' /Users/NNL/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: sketch/TimerInterruptLEDDemo.ino.cpp.o: in function setup': /var/folders/4p/g4vjjkm91599mvnrhgf992kw0000gp/T/arduino_modified_sketch_899459/TimerInterruptLEDDemo.ino:107: undefined reference toAdafruit_USBD_CDC::begin(unsigned long)' /Users/NNL/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /var/folders/4p/g4vjjkm91599mvnrhgf992kw0000gp/T/arduino_modified_sketch_899459/TimerInterruptLEDDemo.ino:108: undefined reference to Adafruit_USBD_CDC::operator bool()' /Users/NNL/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /var/folders/4p/g4vjjkm91599mvnrhgf992kw0000gp/T/arduino_modified_sketch_899459/TimerInterruptLEDDemo.ino:136: undefined reference toSerial' /Users/NNL/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: sketch/TimerInterruptLEDDemo.ino.cpp.o: in function ISR_Timer::findFirstFreeSlot()': /Users/NNL/Documents/Arduino/libraries/TimerInterrupt_Generic/src/ISR_Timer-Impl_Generic.h:158: undefined reference toSerial' collect2: error: ld returned 1 exit status exit status 1 Error compiling for board Adafruit Feather nRF52840 Sense.

This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

khoih-prog commented 3 years ago

Same as Can't compile in Arduino IDE with Feather Sense board #1

You have to use nRF52 core v0.21.0 or earlier.

khoih-prog commented 3 years ago

FYI, the new release v1.7.0 has just been released to fix the issue. Tested OK with latest nRF52 core v0.24.0 Please try and report if there is any error.


Releases v1.7.0

  1. Add support to Adafruit nRF52 core v0.22.0+
  2. Add support to nRF52 Raytac MDBT50Q_RX Dongle

Warnings for Releases v1.6.0- : Use Adafruit nRF52 v0.22.0+ will create compiler errors. If so, please use the Adafruit nRF52 v0.21.0. It's advisable to update to Releases v1.7.0+