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

Commit 4cf1091

Browse files
authored
v1.1.0 for AVRDD
### Release v1.1.0 1. Add support to AVRDD (AVR64DD, AVR32DD, AVR16DD, etc.)
1 parent f58982f commit 4cf1091

File tree

17 files changed

+440
-449
lines changed

17 files changed

+440
-449
lines changed

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,23 @@ If you don't find anything, please [open a new issue](https://github.com/khoih-p
1515
Please ensure to specify the following:
1616

1717
* Arduino IDE version (e.g. 1.8.19) or Platform.io version
18-
* `DxCore` or `megaTinyCore` Core Version (e.g. Arduino DxCore core v1.4.10)
18+
* `DxCore` Core Version (e.g. Arduino DxCore core v1.5.1)
1919
* Board (e.g. AVR128DA64, AVR128DB48, AVR64DB32, etc.)
2020
* Contextual information (e.g. what you were trying to achieve)
2121
* Simplest possible steps to reproduce
2222
* Anything that might be relevant in your opinion, such as:
2323
* Operating system (Windows, Ubuntu, etc.) and the output of `uname -a`
2424
* Network configuration
2525

26+
Please be educated, civilized and constructive. Disrespective posts against [GitHub Code of Conduct](https://docs.github.com/en/site-policy/github-terms/github-event-code-of-conduct) will be ignored and deleted.
2627

2728
### Example
2829

2930
```
3031
Arduino IDE version: 1.8.19
31-
Arduino DxCore core v1.4.10
32-
OS: Ubuntu 20.04 LTS
32+
Arduino DxCore core v1.5.1
3333
Board: Curiosity AVR128DB48
34-
Linux xy-Inspiron-3593 5.15.0-53-generic #59~20.04.1-Ubuntu SMP Thu Oct 20 15:10:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
34+
Linux xy-Inspiron-3593 5.15.0-56-generic #62~20.04.1-Ubuntu SMP Tue Nov 22 21:24:20 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
3535
3636
Context:
3737
I encountered a crash while using this library

changelog.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@
1010
<a href="https://www.buymeacoffee.com/khoihprog6" title="Donate to my libraries using BuyMeACoffee"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Donate to my libraries using BuyMeACoffee" style="height: 50px !important;width: 181px !important;" ></a>
1111
<a href="https://www.buymeacoffee.com/khoihprog6" title="Donate to my libraries using BuyMeACoffee"><img src="https://img.shields.io/badge/buy%20me%20a%20coffee-donate-orange.svg?logo=buy-me-a-coffee&logoColor=FFDD00" style="height: 20px !important;width: 200px !important;" ></a>
1212

13+
1314
---
1415
---
1516

1617
## Table of Contents
1718

1819
* [Changelog](#changelog)
19-
20+
* [Release v1.1.0](#release-v110)
2021
* [Release v1.0.2](#release-v102)
2122
* [Release v1.0.1](#release-v101)
2223
* [Initial Release v1.0.0](#initial-release-v100)
@@ -26,6 +27,9 @@
2627

2728
## Changelog
2829

30+
### Release v1.1.0
31+
32+
1. Add support to AVRDD (AVR64DD, AVR32DD, AVR16DD, etc.)
2933

3034
### Release v1.0.2
3135

examples/ISR_8_PWMs_Array/ISR_8_PWMs_Array.ino

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
// Important Note: To use drag-and-drop into CURIOSITY virtual drive if you can program via Arduino IDE
1717
// For example, check https://ww1.microchip.com/downloads/en/DeviceDoc/AVR128DB48-Curiosity-Nano-HW-UserG-DS50003037A.pdf
1818

19-
#if !( defined(DXCORE) || defined(MEGATINYCORE) )
20-
#error This is designed only for DXCORE or MEGATINYCORE megaAVR board! Please check your Tools->Board setting
19+
#if !defined(DXCORE)
20+
#error This is designed only for DXCORE megaAVR board! Please check your Tools->Board setting
2121
#endif
2222

2323
// These define's must be placed at the beginning before #include "Dx_Slow_PWM.h"

examples/ISR_8_PWMs_Array_Complex/ISR_8_PWMs_Array_Complex.ino

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
// Important Note: To use drag-and-drop into CURIOSITY virtual drive if you can program via Arduino IDE
1717
// For example, check https://ww1.microchip.com/downloads/en/DeviceDoc/AVR128DB48-Curiosity-Nano-HW-UserG-DS50003037A.pdf
1818

19-
#if !( defined(DXCORE) || defined(MEGATINYCORE) )
20-
#error This is designed only for DXCORE or MEGATINYCORE megaAVR board! Please check your Tools->Board setting
19+
#if !defined(DXCORE)
20+
#error This is designed only for DXCORE megaAVR board! Please check your Tools->Board setting
2121
#endif
2222

2323
// These define's must be placed at the beginning before #include "Dx_Slow_PWM.h"

examples/ISR_8_PWMs_Array_Simple/ISR_8_PWMs_Array_Simple.ino

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
// Important Note: To use drag-and-drop into CURIOSITY virtual drive if you can program via Arduino IDE
1717
// For example, check https://ww1.microchip.com/downloads/en/DeviceDoc/AVR128DB48-Curiosity-Nano-HW-UserG-DS50003037A.pdf
1818

19-
#if !( defined(DXCORE) || defined(MEGATINYCORE) )
20-
#error This is designed only for DXCORE or MEGATINYCORE megaAVR board! Please check your Tools->Board setting
19+
#if !defined(DXCORE)
20+
#error This is designed only for DXCORE megaAVR board! Please check your Tools->Board setting
2121
#endif
2222

2323
// These define's must be placed at the beginning before #include "Dx_Slow_PWM.h"

examples/ISR_Changing_PWM/ISR_Changing_PWM.ino

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
// Important Note: To use drag-and-drop into CURIOSITY virtual drive if you can program via Arduino IDE
1717
// For example, check https://ww1.microchip.com/downloads/en/DeviceDoc/AVR128DB48-Curiosity-Nano-HW-UserG-DS50003037A.pdf
1818

19-
#if !( defined(DXCORE) || defined(MEGATINYCORE) )
20-
#error This is designed only for DXCORE or MEGATINYCORE megaAVR board! Please check your Tools->Board setting
19+
#if !defined(DXCORE)
20+
#error This is designed only for DXCORE megaAVR board! Please check your Tools->Board setting
2121
#endif
2222

2323
// These define's must be placed at the beginning before #include "Dx_Slow_PWM.h"

examples/ISR_Modify_PWM/ISR_Modify_PWM.ino

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
// Important Note: To use drag-and-drop into CURIOSITY virtual drive if you can program via Arduino IDE
1717
// For example, check https://ww1.microchip.com/downloads/en/DeviceDoc/AVR128DB48-Curiosity-Nano-HW-UserG-DS50003037A.pdf
1818

19-
#if !( defined(DXCORE) || defined(MEGATINYCORE) )
20-
#error This is designed only for DXCORE or MEGATINYCORE megaAVR board! Please check your Tools->Board setting
19+
#if !defined(DXCORE)
20+
#error This is designed only for DXCORE megaAVR board! Please check your Tools->Board setting
2121
#endif
2222

2323
// These define's must be placed at the beginning before #include "Dx_Slow_PWM.h"

examples/multiFileProject/multiFileProject.ino

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,5 @@
1-
/****************************************************************************************************************************
2-
multiFileProject.ino
3-
4-
For Arduino AVRDx-based boards (AVR128Dx, AVR64Dx, AVR32Dx, etc.) using DxCore
5-
Written by Khoi Hoang
6-
7-
Built by Khoi Hoang https://github.com/khoih-prog/Dx_Slow_PWM
8-
Licensed under MIT license
9-
*****************************************************************************************************************************/
10-
11-
// Important Note: To use drag-and-drop into CURIOSITY virtual drive if you can program via Arduino IDE
12-
// For example, check https://ww1.microchip.com/downloads/en/DeviceDoc/AVR128DB48-Curiosity-Nano-HW-UserG-DS50003037A.pdf
13-
14-
#if !( defined(DXCORE) || defined(MEGATINYCORE) )
15-
#error This is designed only for DXCORE or MEGATINYCORE megaAVR board! Please check your Tools->Board setting
1+
#if !defined(DXCORE)
2+
#error This is designed only for DXCORE megaAVR board! Please check your Tools->Board setting
163
#endif
174

185
#define DX_SLOW_PWM_VERSION_MIN_TARGET F("Dx_Slow_PWM v1.0.1")

library.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "Dx_Slow_PWM",
3-
"version": "1.0.2",
3+
"version": "1.1.0",
44
"keywords": "timer, interrupt, hardware, isr, isr-based, pwm, isr-based-pwm, timing, control, device, hardware-timer, mission-critical, accuracy, precise, megaavr, avr-da, avr-db, avr-dd, dxcore, avr128dx, avr64dx, avr32dx, megatinycore, dx-timerinterrupt, tcb-timers",
5-
"description": "This library enables you to use ISR-based PWM channels on Arduino AVRDx-based boards (AVR128Dx, AVR64Dx, AVR32Dx, etc.), using DxCore, to create and output PWM any GPIO pin. It now supports 64 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). 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. Now you can change the PWM settings on-the-fly.",
5+
"description": "This library enables you to use ISR-based PWM channels on Arduino AVRDx-based boards (AVR128Dx, AVR64Dx, AVR32Dx, etc.), using DxCore, to create and output PWM any GPIO pin. It now supports 64 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). 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. Now you can change the PWM settings on-the-fly. Now supporting AVRDD",
66
"authors":
77
{
88
"name": "Khoi Hoang",

library.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name=Dx_Slow_PWM
2-
version=1.0.2
2+
version=1.1.0
33
author=Khoi Hoang
44
maintainer=Khoi Hoang <khoih.prog@gmail.com>
55
sentence=This library enables you to use ISR-based PWM channels on Arduino AVRDx-based boards (AVR128Dx, AVR64Dx, AVR32Dx, etc.), using DxCore, to create and output PWM any GPIO pin.
6-
paragraph=It now supports 64 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). 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. Now you can change the PWM settings on-the-fly.
6+
paragraph=It now supports 64 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they are 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 is necessary if you need to control devices requiring high precision. Now you can change the PWM settings on-the-fly. Now supporting AVRDD
77
category=Device Control
88
url=https://github.com/khoih-prog/Dx_Slow_PWM
99
architectures=megaavr

0 commit comments

Comments
 (0)