Skip to content
This repository was archived by the owner on Jan 29, 2023. It is now read-only.

Commit 43b8d23

Browse files
authored
v1.4.0 to fix multiple-definitions linker error
### Releases v1.4.0 1. Fix `multiple-definitions` linker error. Drop `src_cpp` and `src_h` directories 2. Add example [multiFileProject](examples/multiFileProject) to demo for multiple-file project. 3. Fix `reattachInterrupt()` bug. Check [bugfix: reattachInterrupt() pass wrong frequency value to setFrequency() #19](khoih-prog/ESP8266TimerInterrupt#19) 4. Add support to Adafruit `NRF52840_LED_GLASSES` 5. Optimize library code by using `reference-passing` instead of `value-passing` 6. Update all examples 7. Update `Packages_Patches`
1 parent f20025c commit 43b8d23

28 files changed

+1076
-956
lines changed

CONTRIBUTING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ If you don't find anything, please [open a new issue](https://github.com/khoih-p
1414

1515
Please ensure to specify the following:
1616

17-
* Arduino IDE version (e.g. 1.8.15) or Platform.io version
18-
* `NRF52` Core Version (e.g. Adafruit NRF52 core v0.24.0)
17+
* Arduino IDE version (e.g. 1.8.19) or Platform.io version
18+
* `NRF52` Core Version (e.g. Adafruit NRF52 core v1.3.0)
1919
* Contextual information (e.g. what you were trying to achieve)
2020
* Simplest possible steps to reproduce
2121
* Anything that might be relevant in your opinion, such as:
@@ -26,10 +26,10 @@ Please ensure to specify the following:
2626
### Example
2727

2828
```
29-
Arduino IDE version: 1.8.15
30-
Arduino NRF52 Core Version 0.24.0
29+
Arduino IDE version: 1.8.19
30+
Arduino NRF52 Core Version 1.3.0
3131
OS: Ubuntu 20.04 LTS
32-
Linux xy-Inspiron-3593 5.4.0-80-generic #90-Ubuntu SMP Fri Jul 9 22:49:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
32+
Linux xy-Inspiron-3593 5.4.0-96-generic #109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
3333
3434
Context:
3535
I encountered a crash while trying to use the Timer Interrupt.

README.md

Lines changed: 92 additions & 156 deletions
Large diffs are not rendered by default.

changelog.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# NRF52_TimerInterrupt Library
2+
3+
[![arduino-library-badge](https://www.ardu-badge.com/badge/NRF52_TimerInterrupt.svg?)](https://www.ardu-badge.com/NRF52_TimerInterrupt)
4+
[![GitHub release](https://img.shields.io/github/release/khoih-prog/NRF52_TimerInterrupt.svg)](https://github.com/khoih-prog/NRF52_TimerInterrupt/releases)
5+
[![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/khoih-prog/NRF52_TimerInterrupt/blob/main/LICENSE)
6+
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](#Contributing)
7+
[![GitHub issues](https://img.shields.io/github/issues/khoih-prog/NRF52_TimerInterrupt.svg)](http://github.com/khoih-prog/NRF52_TimerInterrupt/issues)
8+
9+
---
10+
---
11+
12+
## Table of Contents
13+
14+
* [Changelog](#changelog)
15+
* [Releases v1.4.0](#releases-v140)
16+
* [Releases v1.3.0](#releases-v130)
17+
* [Releases v1.2.0](#releases-v120)
18+
* [Releases v1.1.1](#releases-v111)
19+
* [Releases v1.0.2](#releases-v102)
20+
* [Releases v1.0.1](#releases-v101)
21+
* [Releases v1.0.0](#releases-v100)
22+
23+
---
24+
---
25+
26+
## Changelog
27+
28+
### Releases v1.4.0
29+
30+
1. Fix `multiple-definitions` linker error. Drop `src_cpp` and `src_h` directories
31+
2. Add example [multiFileProject](examples/multiFileProject) to demo for multiple-file project.
32+
3. Fix `reattachInterrupt()` bug. Check [bugfix: reattachInterrupt() pass wrong frequency value to setFrequency() #19](https://github.com/khoih-prog/ESP8266TimerInterrupt/pull/19)
33+
4. Add support to Adafruit `NRF52840_LED_GLASSES`
34+
5. Optimize library code by using `reference-passing` instead of `value-passing`
35+
6. Update all examples
36+
7. Update `Packages_Patches`
37+
38+
### Releases v1.3.0
39+
40+
1. Add support to Adafruit nRF52 core v0.22.0+
41+
2. Add support to Raytac MDBT50Q_RX Dongle
42+
43+
**Warnings for Releases v1.2.0-** : Use [`Adafruit nRF52 v0.22.0+`](https://github.com/adafruit/Adafruit_nRF52_Arduino/releases/tag/0.22.0) will create **compiler errors**. If so, please use the [`Adafruit nRF52 v0.21.0`](https://github.com/adafruit/Adafruit_nRF52_Arduino/releases/tag/0.21.0). It's advisable to update to Releases v1.3.0+
44+
45+
### Releases v1.2.0
46+
47+
1. Add better debug feature.
48+
2. Optimize code and examples to reduce RAM usage
49+
3. Add Table of Contents
50+
51+
### Releases v1.1.1
52+
53+
1. Add example [**Change_Interval**](examples/Change_Interval) and [**FakeAnalogWrite**](examples/FakeAnalogWrite)
54+
2. Bump up version to sync with other TimerInterrupt Libraries. Modify Version String.
55+
56+
### Releases v1.0.2
57+
58+
1. Add complicated example [ISR_16_Timers_Array_Complex](examples/ISR_16_Timers_Array_Complex)
59+
2. Optimize examples
60+
61+
### Releases v1.0.1
62+
63+
1. Add complicated example [ISR_16_Timers_Array](examples/ISR_16_Timers_Array) utilizing and demonstrating the full usage of 16 independent ISR Timers.
64+
65+
### Releases v1.0.0
66+
67+
1. Permit up to 16 super-long-time, super-accurate ISR-based timers to avoid being blocked
68+
2. Using cpp code besides Impl.h code to use if Multiple-Definition linker error.
69+
70+

examples/Argument_None/Argument_None.ino

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,6 @@
1111
The accuracy is nearly perfect compared to software timers. The most important feature is they're ISR-based timers
1212
Therefore, their executions are not blocked by bad-behaving functions / tasks.
1313
This important feature is absolutely necessary for mission-critical tasks.
14-
15-
Based on SimpleTimer - A timer library for Arduino.
16-
Author: mromani@ottotecnica.com
17-
Copyright (c) 2010 OTTOTECNICA Italy
18-
19-
Based on BlynkTimer.h
20-
Author: Volodymyr Shymanskyy
21-
22-
VVersion: 1.3.0
23-
24-
Version Modified By Date Comments
25-
------- ----------- ---------- -----------
26-
1.0.0 K Hoang 02/11/2020 Initial coding
27-
1.0.1 K Hoang 06/11/2020 Add complicated example ISR_16_Timers_Array using all 16 independent ISR Timers.
28-
1.0.2 K Hoang 24/11/2020 Add complicated example ISR_16_Timers_Array_Complex and optimize examples
29-
1.1.1 K.Hoang 06/12/2020 Add Change_Interval example. Bump up version to sync with other TimerInterrupt Libraries
30-
1.2.0 K.Hoang 11/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
31-
1.3.0 K.Hoang 13/08/2021 Add support to Adafruit nRF52 core v0.22.0+
3214
*****************************************************************************************************************************/
3315

3416
/*
@@ -46,17 +28,18 @@
4628
#if !(defined(NRF52840_FEATHER) || defined(NRF52832_FEATHER) || defined(NRF52_SERIES) || defined(ARDUINO_NRF52_ADAFRUIT) || \
4729
defined(NRF52840_FEATHER_SENSE) || defined(NRF52840_ITSYBITSY) || defined(NRF52840_CIRCUITPLAY) || \
4830
defined(NRF52840_CLUE) || defined(NRF52840_METRO) || defined(NRF52840_PCA10056) || defined(PARTICLE_XENON) || \
49-
defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
50-
#error This code is designed to run on nRF52 platform! Please check your Tools->Board setting.
31+
defined(NRF52840_LED_GLASSES) || defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
32+
#error This code is designed to run on Adafruit nRF52 platform! Please check your Tools->Board setting.
5133
#endif
5234

5335
// These define's must be placed at the beginning before #include "NRF52TimerInterrupt.h"
5436
// _TIMERINTERRUPT_LOGLEVEL_ from 0 to 4
5537
// Don't define _TIMERINTERRUPT_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
5638
// Don't define TIMER_INTERRUPT_DEBUG > 2. Only for special ISR debugging only. Can hang the system.
5739
#define TIMER_INTERRUPT_DEBUG 0
58-
#define _TIMERINTERRUPT_LOGLEVEL_ 0
40+
#define _TIMERINTERRUPT_LOGLEVEL_ 3
5941

42+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
6043
#include "NRF52TimerInterrupt.h"
6144

6245
//#ifndef LED_BUILTIN

examples/Change_Interval/Change_Interval.ino

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,6 @@
1111
The accuracy is nearly perfect compared to software timers. The most important feature is they're ISR-based timers
1212
Therefore, their executions are not blocked by bad-behaving functions / tasks.
1313
This important feature is absolutely necessary for mission-critical tasks.
14-
15-
Based on SimpleTimer - A timer library for Arduino.
16-
Author: mromani@ottotecnica.com
17-
Copyright (c) 2010 OTTOTECNICA Italy
18-
19-
Based on BlynkTimer.h
20-
Author: Volodymyr Shymanskyy
21-
22-
Version: 1.3.0
23-
24-
Version Modified By Date Comments
25-
------- ----------- ---------- -----------
26-
1.0.0 K Hoang 02/11/2020 Initial coding
27-
1.0.1 K Hoang 06/11/2020 Add complicated example ISR_16_Timers_Array using all 16 independent ISR Timers.
28-
1.0.2 K Hoang 24/11/2020 Add complicated example ISR_16_Timers_Array_Complex and optimize examples
29-
1.1.1 K.Hoang 06/12/2020 Add Change_Interval example. Bump up version to sync with other TimerInterrupt Libraries
30-
1.2.0 K.Hoang 11/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
31-
1.3.0 K.Hoang 13/08/2021 Add support to Adafruit nRF52 core v0.22.0+
3214
*****************************************************************************************************************************/
3315

3416
/*
@@ -46,17 +28,18 @@
4628
#if !(defined(NRF52840_FEATHER) || defined(NRF52832_FEATHER) || defined(NRF52_SERIES) || defined(ARDUINO_NRF52_ADAFRUIT) || \
4729
defined(NRF52840_FEATHER_SENSE) || defined(NRF52840_ITSYBITSY) || defined(NRF52840_CIRCUITPLAY) || \
4830
defined(NRF52840_CLUE) || defined(NRF52840_METRO) || defined(NRF52840_PCA10056) || defined(PARTICLE_XENON) || \
49-
defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
50-
#error This code is designed to run on nRF52 platform! Please check your Tools->Board setting.
31+
defined(NRF52840_LED_GLASSES) || defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
32+
#error This code is designed to run on Adafruit nRF52 platform! Please check your Tools->Board setting.
5133
#endif
5234

5335
// These define's must be placed at the beginning before #include "NRF52TimerInterrupt.h"
5436
// _TIMERINTERRUPT_LOGLEVEL_ from 0 to 4
5537
// Don't define _TIMERINTERRUPT_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
5638
// Don't define TIMER_INTERRUPT_DEBUG > 2. Only for special ISR debugging only. Can hang the system.
5739
#define TIMER_INTERRUPT_DEBUG 0
58-
#define _TIMERINTERRUPT_LOGLEVEL_ 0
40+
#define _TIMERINTERRUPT_LOGLEVEL_ 3
5941

42+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
6043
#include "NRF52TimerInterrupt.h"
6144

6245
//#ifndef LED_BUILTIN

examples/FakeAnalogWrite/FakeAnalogWrite.ino

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,6 @@
1111
The accuracy is nearly perfect compared to software timers. The most important feature is they're ISR-based timers
1212
Therefore, their executions are not blocked by bad-behaving functions / tasks.
1313
This important feature is absolutely necessary for mission-critical tasks.
14-
15-
Based on SimpleTimer - A timer library for Arduino.
16-
Author: mromani@ottotecnica.com
17-
Copyright (c) 2010 OTTOTECNICA Italy
18-
19-
Based on BlynkTimer.h
20-
Author: Volodymyr Shymanskyy
21-
22-
Version: 1.3.0
23-
24-
Version Modified By Date Comments
25-
------- ----------- ---------- -----------
26-
1.0.0 K Hoang 02/11/2020 Initial coding
27-
1.0.1 K Hoang 06/11/2020 Add complicated example ISR_16_Timers_Array using all 16 independent ISR Timers.
28-
1.0.2 K Hoang 24/11/2020 Add complicated example ISR_16_Timers_Array_Complex and optimize examples
29-
1.1.1 K.Hoang 06/12/2020 Add Change_Interval example. Bump up version to sync with other TimerInterrupt Libraries
30-
1.2.0 K.Hoang 11/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
31-
1.3.0 K.Hoang 13/08/2021 Add support to Adafruit nRF52 core v0.22.0+
3214
*****************************************************************************************************************************/
3315
/*
3416
Notes:
@@ -53,17 +35,18 @@
5335
#if !(defined(NRF52840_FEATHER) || defined(NRF52832_FEATHER) || defined(NRF52_SERIES) || defined(ARDUINO_NRF52_ADAFRUIT) || \
5436
defined(NRF52840_FEATHER_SENSE) || defined(NRF52840_ITSYBITSY) || defined(NRF52840_CIRCUITPLAY) || \
5537
defined(NRF52840_CLUE) || defined(NRF52840_METRO) || defined(NRF52840_PCA10056) || defined(PARTICLE_XENON) || \
56-
defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
57-
#error This code is designed to run on nRF52 platform! Please check your Tools->Board setting.
38+
defined(NRF52840_LED_GLASSES) || defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
39+
#error This code is designed to run on Adafruit nRF52 platform! Please check your Tools->Board setting.
5840
#endif
5941

6042
// These define's must be placed at the beginning before #include "NRF52TimerInterrupt.h"
6143
// _TIMERINTERRUPT_LOGLEVEL_ from 0 to 4
6244
// Don't define _TIMERINTERRUPT_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
6345
// Don't define TIMER_INTERRUPT_DEBUG > 2. Only for special ISR debugging only. Can hang the system.
6446
#define TIMER_INTERRUPT_DEBUG 1
65-
#define _TIMERINTERRUPT_LOGLEVEL_ 0
47+
#define _TIMERINTERRUPT_LOGLEVEL_ 3
6648

49+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
6750
#include "NRF52TimerInterrupt.h"
6851

6952
//#ifndef LED_BUILTIN

examples/ISR_16_Timers_Array/ISR_16_Timers_Array.ino

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,6 @@
1111
The accuracy is nearly perfect compared to software timers. The most important feature is they're ISR-based timers
1212
Therefore, their executions are not blocked by bad-behaving functions / tasks.
1313
This important feature is absolutely necessary for mission-critical tasks.
14-
15-
Based on SimpleTimer - A timer library for Arduino.
16-
Author: mromani@ottotecnica.com
17-
Copyright (c) 2010 OTTOTECNICA Italy
18-
19-
Based on BlynkTimer.h
20-
Author: Volodymyr Shymanskyy
21-
22-
Version: 1.3.0
23-
24-
Version Modified By Date Comments
25-
------- ----------- ---------- -----------
26-
1.0.0 K Hoang 02/11/2020 Initial coding
27-
1.0.1 K Hoang 06/11/2020 Add complicated example ISR_16_Timers_Array using all 16 independent ISR Timers.
28-
1.0.2 K Hoang 24/11/2020 Add complicated example ISR_16_Timers_Array_Complex and optimize examples
29-
1.1.1 K.Hoang 06/12/2020 Add Change_Interval example. Bump up version to sync with other TimerInterrupt Libraries
30-
1.2.0 K.Hoang 11/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
31-
1.3.0 K.Hoang 13/08/2021 Add support to Adafruit nRF52 core v0.22.0+
3214
*****************************************************************************************************************************/
3315
/*
3416
Notes:
@@ -53,8 +35,8 @@
5335
#if !(defined(NRF52840_FEATHER) || defined(NRF52832_FEATHER) || defined(NRF52_SERIES) || defined(ARDUINO_NRF52_ADAFRUIT) || \
5436
defined(NRF52840_FEATHER_SENSE) || defined(NRF52840_ITSYBITSY) || defined(NRF52840_CIRCUITPLAY) || \
5537
defined(NRF52840_CLUE) || defined(NRF52840_METRO) || defined(NRF52840_PCA10056) || defined(PARTICLE_XENON) || \
56-
defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
57-
#error This code is designed to run on nRF52 platform! Please check your Tools->Board setting.
38+
defined(NRF52840_LED_GLASSES) || defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
39+
#error This code is designed to run on Adafruit nRF52 platform! Please check your Tools->Board setting.
5840
#endif
5941

6042
// These define's must be placed at the beginning before #include "NRF52TimerInterrupt.h"
@@ -64,7 +46,10 @@
6446
#define TIMER_INTERRUPT_DEBUG 0
6547
#define _TIMERINTERRUPT_LOGLEVEL_ 0
6648

49+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
6750
#include "NRF52TimerInterrupt.h"
51+
52+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
6853
#include "NRF52_ISR_Timer.h"
6954

7055
#include <SimpleTimer.h> // https://github.com/schinken/SimpleTimer

examples/ISR_16_Timers_Array_Complex/ISR_16_Timers_Array_Complex.ino

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,6 @@
1111
The accuracy is nearly perfect compared to software timers. The most important feature is they're ISR-based timers
1212
Therefore, their executions are not blocked by bad-behaving functions / tasks.
1313
This important feature is absolutely necessary for mission-critical tasks.
14-
15-
Based on SimpleTimer - A timer library for Arduino.
16-
Author: mromani@ottotecnica.com
17-
Copyright (c) 2010 OTTOTECNICA Italy
18-
19-
Based on BlynkTimer.h
20-
Author: Volodymyr Shymanskyy
21-
22-
Version: 1.3.0
23-
24-
Version Modified By Date Comments
25-
------- ----------- ---------- -----------
26-
1.0.0 K Hoang 02/11/2020 Initial coding
27-
1.0.1 K Hoang 06/11/2020 Add complicated example ISR_16_Timers_Array using all 16 independent ISR Timers.
28-
1.0.2 K Hoang 24/11/2020 Add complicated example ISR_16_Timers_Array_Complex and optimize examples
29-
1.1.1 K.Hoang 06/12/2020 Add Change_Interval example. Bump up version to sync with other TimerInterrupt Libraries
30-
1.2.0 K.Hoang 11/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
31-
1.3.0 K.Hoang 13/08/2021 Add support to Adafruit nRF52 core v0.22.0+
3214
*****************************************************************************************************************************/
3315
/*
3416
Notes:
@@ -53,18 +35,21 @@
5335
#if !(defined(NRF52840_FEATHER) || defined(NRF52832_FEATHER) || defined(NRF52_SERIES) || defined(ARDUINO_NRF52_ADAFRUIT) || \
5436
defined(NRF52840_FEATHER_SENSE) || defined(NRF52840_ITSYBITSY) || defined(NRF52840_CIRCUITPLAY) || \
5537
defined(NRF52840_CLUE) || defined(NRF52840_METRO) || defined(NRF52840_PCA10056) || defined(PARTICLE_XENON) || \
56-
defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
57-
#error This code is designed to run on nRF52 platform! Please check your Tools->Board setting.
38+
defined(NRF52840_LED_GLASSES) || defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
39+
#error This code is designed to run on Adafruit nRF52 platform! Please check your Tools->Board setting.
5840
#endif
5941

6042
// These define's must be placed at the beginning before #include "NRF52TimerInterrupt.h"
6143
// _TIMERINTERRUPT_LOGLEVEL_ from 0 to 4
6244
// Don't define _TIMERINTERRUPT_LOGLEVEL_ > 0. Only for special ISR debugging only. Can hang the system.
6345
// Don't define TIMER_INTERRUPT_DEBUG > 2. Only for special ISR debugging only. Can hang the system.
6446
#define TIMER_INTERRUPT_DEBUG 0
65-
#define _TIMERINTERRUPT_LOGLEVEL_ 0
47+
#define _TIMERINTERRUPT_LOGLEVEL_ 3
6648

49+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
6750
#include "NRF52TimerInterrupt.h"
51+
52+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
6853
#include "NRF52_ISR_Timer.h"
6954

7055
#include <SimpleTimer.h> // https://github.com/schinken/SimpleTimer

examples/ISR_RPM_Measure/ISR_RPM_Measure.ino

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,6 @@
1111
The accuracy is nearly perfect compared to software timers. The most important feature is they're ISR-based timers
1212
Therefore, their executions are not blocked by bad-behaving functions / tasks.
1313
This important feature is absolutely necessary for mission-critical tasks.
14-
15-
Based on SimpleTimer - A timer library for Arduino.
16-
Author: mromani@ottotecnica.com
17-
Copyright (c) 2010 OTTOTECNICA Italy
18-
19-
Based on BlynkTimer.h
20-
Author: Volodymyr Shymanskyy
21-
22-
Version: 1.3.0
23-
24-
Version Modified By Date Comments
25-
------- ----------- ---------- -----------
26-
1.0.0 K Hoang 02/11/2020 Initial coding
27-
1.0.1 K Hoang 06/11/2020 Add complicated example ISR_16_Timers_Array using all 16 independent ISR Timers.
28-
1.0.2 K Hoang 24/11/2020 Add complicated example ISR_16_Timers_Array_Complex and optimize examples
29-
1.1.1 K.Hoang 06/12/2020 Add Change_Interval example. Bump up version to sync with other TimerInterrupt Libraries
30-
1.2.0 K.Hoang 11/01/2021 Add better debug feature. Optimize code and examples to reduce RAM usage
31-
1.3.0 K.Hoang 13/08/2021 Add support to Adafruit nRF52 core v0.22.0+
3214
*****************************************************************************************************************************/
3315
/*
3416
Notes:
@@ -55,8 +37,8 @@
5537
#if !(defined(NRF52840_FEATHER) || defined(NRF52832_FEATHER) || defined(NRF52_SERIES) || defined(ARDUINO_NRF52_ADAFRUIT) || \
5638
defined(NRF52840_FEATHER_SENSE) || defined(NRF52840_ITSYBITSY) || defined(NRF52840_CIRCUITPLAY) || \
5739
defined(NRF52840_CLUE) || defined(NRF52840_METRO) || defined(NRF52840_PCA10056) || defined(PARTICLE_XENON) || \
58-
defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
59-
#error This code is designed to run on nRF52 platform! Please check your Tools->Board setting.
40+
defined(NRF52840_LED_GLASSES) || defined(MDBT50Q_RX) || defined(NINA_B302_ublox) || defined(NINA_B112_ublox) )
41+
#error This code is designed to run on Adafruit nRF52 platform! Please check your Tools->Board setting.
6042
#endif
6143

6244
// These define's must be placed at the beginning before #include "NRF52TimerInterrupt.h"
@@ -66,6 +48,7 @@
6648
#define TIMER_INTERRUPT_DEBUG 1
6749
#define _TIMERINTERRUPT_LOGLEVEL_ 0
6850

51+
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
6952
#include "NRF52TimerInterrupt.h"
7053

7154
//#ifndef LED_BUILTIN

0 commit comments

Comments
 (0)