diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f67e7ee..15d565a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,7 +31,7 @@ Arduino IDE version: 1.8.16 arduino-pico core v1.9.5 RASPBERRY_PI_PICO OS: Ubuntu 20.04 LTS -Linux xy-Inspiron-3593 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux +Linux xy-Inspiron-3593 5.4.0-86-generic #97-Ubuntu SMP Fri Sep 17 19:19:40 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux Context: I encountered a crash while using TimerInterrupt. diff --git a/README.md b/README.md index a6c45d1..7de0af3 100644 --- a/README.md +++ b/README.md @@ -826,7 +826,7 @@ The following is the sample terminal output when running example [ISR_16_PWMs_Ar ``` Starting ISR_16_PWMs_Array_Complex on RASPBERRY_PI_PICO -RP2040_Slow_PWM v1.0.0 +RP2040_Slow_PWM v1.0.1 [PWM] RP2040_TimerInterrupt: _timerNo = 0 , _fre = 1000000.00 [PWM] _count = 0 - 20 [PWM] add_repeating_timer_us = 20 @@ -892,7 +892,7 @@ The following is the sample terminal output when running example [**ISR_16_PWMs_ ``` Starting ISR_16_PWMs_Array on RASPBERRY_PI_PICO -RP2040_Slow_PWM v1.0.0 +RP2040_Slow_PWM v1.0.1 [PWM] RP2040_TimerInterrupt: _timerNo = 0 , _fre = 1000000.00 [PWM] _count = 0 - 20 [PWM] add_repeating_timer_us = 20 @@ -923,7 +923,7 @@ The following is the sample terminal output when running example [**ISR_16_PWMs_ ``` Starting ISR_16_PWMs_Array_Simple on RASPBERRY_PI_PICO -RP2040_Slow_PWM v1.0.0 +RP2040_Slow_PWM v1.0.1 [PWM] RP2040_TimerInterrupt: _timerNo = 0 , _fre = 1000000.00 [PWM] _count = 0 - 20 [PWM] add_repeating_timer_us = 20 diff --git a/changelog.md b/changelog.md index 7318bef..d85551e 100644 --- a/changelog.md +++ b/changelog.md @@ -12,6 +12,7 @@ ## Table of Contents * [Changelog](#changelog) + * [Releases v1.0.1](#Releases-v101) * [Initial Releases v1.0.0](#Initial-Releases-v100) --- @@ -19,6 +20,10 @@ ## Changelog +### Releases v1.0.1 + +1. Fix platform in `library.json` + ### Initial Releases v1.0.0 1. Initial coding to support **RP2040-based boards** such as ADAFRUIT_FEATHER_RP2040, RASPBERRY_PI_PICO, etc. using [**Earle Philhower's arduino-pico core**](https://github.com/earlephilhower/arduino-pico) diff --git a/examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino b/examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino index 63dde42..4e59a53 100644 --- a/examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino +++ b/examples/ISR_16_PWMs_Array/ISR_16_PWMs_Array.ino @@ -11,12 +11,6 @@ The accuracy is nearly perfect compared to software timers. The most important feature is they're ISR-based timers Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - - Version: 1.0.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core *****************************************************************************************************************************/ #if !( ( defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_RASPBERRY_PI_PICO) || defined(ARDUINO_ADAFRUIT_FEATHER_RP2040) || defined(ARDUINO_GENERIC_RP2040) ) && !defined(ARDUINO_ARCH_MBED) ) diff --git a/examples/ISR_16_PWMs_Array_Complex/ISR_16_PWMs_Array_Complex.ino b/examples/ISR_16_PWMs_Array_Complex/ISR_16_PWMs_Array_Complex.ino index 6c9f7c7..4fc3f52 100644 --- a/examples/ISR_16_PWMs_Array_Complex/ISR_16_PWMs_Array_Complex.ino +++ b/examples/ISR_16_PWMs_Array_Complex/ISR_16_PWMs_Array_Complex.ino @@ -11,12 +11,6 @@ The accuracy is nearly perfect compared to software timers. The most important feature is they're ISR-based timers Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - - Version: 1.0.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core *****************************************************************************************************************************/ #if !( ( defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_RASPBERRY_PI_PICO) || defined(ARDUINO_ADAFRUIT_FEATHER_RP2040) || defined(ARDUINO_GENERIC_RP2040) ) && !defined(ARDUINO_ARCH_MBED) ) diff --git a/examples/ISR_16_PWMs_Array_Simple/ISR_16_PWMs_Array_Simple.ino b/examples/ISR_16_PWMs_Array_Simple/ISR_16_PWMs_Array_Simple.ino index f49ae0b..5cdf06e 100644 --- a/examples/ISR_16_PWMs_Array_Simple/ISR_16_PWMs_Array_Simple.ino +++ b/examples/ISR_16_PWMs_Array_Simple/ISR_16_PWMs_Array_Simple.ino @@ -11,12 +11,6 @@ The accuracy is nearly perfect compared to software timers. The most important feature is they're ISR-based timers Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - - Version: 1.0.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core *****************************************************************************************************************************/ #if !( ( defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_RASPBERRY_PI_PICO) || defined(ARDUINO_ADAFRUIT_FEATHER_RP2040) || defined(ARDUINO_GENERIC_RP2040) ) && !defined(ARDUINO_ARCH_MBED) ) diff --git a/library.json b/library.json index fcb3739..35e97bd 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "RP2040_Slow_PWM", - "version": "1.0.0", + "version": "1.0.1", "keywords": "timing, device, control, hardware-timer, pwm, ISR-based-pwm, multi-channel-pwm, low-frequency-pwm, mission-critical, accuracy, non-blocking, arduino-pico, rpi-pico, rp2040, nano-rp2040-connect, raspberry-pi-pico, precise", "description": "This library enables you to use ISR-based PWM channels on RP2040-based boards, such as ADAFRUIT_FEATHER_RP2040, RASPBERRY_PI_PICO, with arduino-pico core to create and output PWM any GPIO pin. The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision", "authors": @@ -23,7 +23,7 @@ ] }, "frameworks": "*", - "platforms": ["rp2040"], + "platforms": ["raspberrypi"], "examples": "examples/*/*/*.ino", "license": "MIT" } diff --git a/library.properties b/library.properties index 465d715..18f425e 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=RP2040_Slow_PWM -version=1.0.0 +version=1.0.1 author=Khoi Hoang maintainer=Khoi Hoang sentence=This library enables you to use ISR-based PWM channels on RP2040-based boards, such as ADAFRUIT_FEATHER_RP2040, RASPBERRY_PI_PICO, with arduino-pico core to create and output PWM any GPIO pin. diff --git a/src/PWM_Generic_Debug.h b/src/PWM_Generic_Debug.h index ca1667f..8cf4a42 100644 --- a/src/PWM_Generic_Debug.h +++ b/src/PWM_Generic_Debug.h @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once diff --git a/src/RP2040_Slow_PWM.h b/src/RP2040_Slow_PWM.h index d22e1d3..1d5a70d 100644 --- a/src/RP2040_Slow_PWM.h +++ b/src/RP2040_Slow_PWM.h @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once @@ -29,7 +30,7 @@ #endif #ifndef RP2040_SLOW_PWM_VERSION - #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.0" + #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.1" #endif #ifndef _PWM_LOGLEVEL_ diff --git a/src/RP2040_Slow_PWM_ISR.h b/src/RP2040_Slow_PWM_ISR.h index 5f25ecc..de08821 100644 --- a/src/RP2040_Slow_PWM_ISR.h +++ b/src/RP2040_Slow_PWM_ISR.h @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once @@ -29,7 +30,7 @@ #endif #ifndef RP2040_SLOW_PWM_VERSION - #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.0" + #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.1" #endif #ifndef _PWM_LOGLEVEL_ diff --git a/src/RP2040_Slow_PWM_ISR.hpp b/src/RP2040_Slow_PWM_ISR.hpp index 7b97ce9..8d4476c 100644 --- a/src/RP2040_Slow_PWM_ISR.hpp +++ b/src/RP2040_Slow_PWM_ISR.hpp @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once diff --git a/src_cpp/PWM_Generic_Debug.h b/src_cpp/PWM_Generic_Debug.h index ca1667f..8cf4a42 100644 --- a/src_cpp/PWM_Generic_Debug.h +++ b/src_cpp/PWM_Generic_Debug.h @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once diff --git a/src_cpp/RP2040_Slow_PWM.h b/src_cpp/RP2040_Slow_PWM.h index d22e1d3..1d5a70d 100644 --- a/src_cpp/RP2040_Slow_PWM.h +++ b/src_cpp/RP2040_Slow_PWM.h @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once @@ -29,7 +30,7 @@ #endif #ifndef RP2040_SLOW_PWM_VERSION - #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.0" + #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.1" #endif #ifndef _PWM_LOGLEVEL_ diff --git a/src_cpp/RP2040_Slow_PWM_ISR.cpp b/src_cpp/RP2040_Slow_PWM_ISR.cpp index 80203c1..d3b3b68 100644 --- a/src_cpp/RP2040_Slow_PWM_ISR.cpp +++ b/src_cpp/RP2040_Slow_PWM_ISR.cpp @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ diff --git a/src_cpp/RP2040_Slow_PWM_ISR.h b/src_cpp/RP2040_Slow_PWM_ISR.h index 45c2b29..af53b52 100644 --- a/src_cpp/RP2040_Slow_PWM_ISR.h +++ b/src_cpp/RP2040_Slow_PWM_ISR.h @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once @@ -29,7 +30,7 @@ #endif #ifndef RP2040_SLOW_PWM_VERSION - #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.0" + #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.1" #endif #ifndef _PWM_LOGLEVEL_ diff --git a/src_h/PWM_Generic_Debug.h b/src_h/PWM_Generic_Debug.h index ca1667f..8cf4a42 100644 --- a/src_h/PWM_Generic_Debug.h +++ b/src_h/PWM_Generic_Debug.h @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once diff --git a/src_h/RP2040_Slow_PWM.h b/src_h/RP2040_Slow_PWM.h index d22e1d3..1d5a70d 100644 --- a/src_h/RP2040_Slow_PWM.h +++ b/src_h/RP2040_Slow_PWM.h @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once @@ -29,7 +30,7 @@ #endif #ifndef RP2040_SLOW_PWM_VERSION - #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.0" + #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.1" #endif #ifndef _PWM_LOGLEVEL_ diff --git a/src_h/RP2040_Slow_PWM_ISR.h b/src_h/RP2040_Slow_PWM_ISR.h index 5f25ecc..de08821 100644 --- a/src_h/RP2040_Slow_PWM_ISR.h +++ b/src_h/RP2040_Slow_PWM_ISR.h @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once @@ -29,7 +30,7 @@ #endif #ifndef RP2040_SLOW_PWM_VERSION - #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.0" + #define RP2040_SLOW_PWM_VERSION "RP2040_Slow_PWM v1.0.1" #endif #ifndef _PWM_LOGLEVEL_ diff --git a/src_h/RP2040_Slow_PWM_ISR.hpp b/src_h/RP2040_Slow_PWM_ISR.hpp index 7b97ce9..8d4476c 100644 --- a/src_h/RP2040_Slow_PWM_ISR.hpp +++ b/src_h/RP2040_Slow_PWM_ISR.hpp @@ -12,11 +12,12 @@ Therefore, their executions are not blocked by bad-behaving functions / tasks. This important feature is absolutely necessary for mission-critical tasks. - Version: 1.0.0 + Version: 1.0.1 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K.Hoang 22/09/2021 Initial coding for RP2040-based boards using RP2040 arduino-pico core + 1.0.1 K Hoang 22/10/2021 Fix platform in library.json for PIO *****************************************************************************************************************************/ #pragma once