Skip to content

Commit 6e4d50b

Browse files
committed
ATmegaxxxx - final alignment
1 parent 5236f9d commit 6e4d50b

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=FreeRTOS
2-
version=10.3.0-8
2+
version=10.3.0-9
33
author=Richard Barry <[email protected]>
44
maintainer=Phillip Stevens <[email protected]>
55
sentence=<h3>FreeRTOS Real Time Operating System implemented for AVR (Uno, Nano, Leonardo, Mega).</h3>

readme.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ The canonical source for information is the [FreeRTOS Web Site](https://www.free
1111

1212
My other [AVRfreeRTOS Sourceforge Repository](https://sourceforge.net/projects/avrfreertos/) or [AVRfreeRTOS Github](https://github.com/feilipu/avrfreertos) has plenty of examples, ranging from [blink](https://sourceforge.net/projects/avrfreertos/files/MegaBlink/) through to a [synthesiser](https://sourceforge.net/projects/avrfreertos/files/GA_Synth/).
1313

14+
This library was the genesis of [generalised support for the ATmega platform within FreeRTOS](https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/48).
15+
1416
## General
1517

1618
FreeRTOS has a multitude of configuration options, which can be specified from within the FreeRTOSConfig.h file.
1719
To keep commonality with all of the Arduino hardware options, some sensible defaults have been selected.
1820

19-
The AVR Watchdog Timer is used to generate 15ms time slices, but Tasks that finish before their allocated time will hand execution back to the Scheduler.
20-
This does not affect the use of any of the normal Timer functions in Arduino.
21+
The AVR Watchdog Timer is used to generate 15ms time slices, but Tasks that finish before their allocated time will hand execution back to the Scheduler. This does not affect the use of any of the normal Timer functions in Arduino.
2122

2223
Time slices can be selected from 15ms up to 500ms. Slower time slicing can allow the Arduino MCU to sleep for longer, without the complexity of a Tickless idle.
2324

@@ -28,6 +29,8 @@ Watchdog period options:
2829
* `WDTO_120MS`
2930
* `WDTO_250MS`
3031
* `WDTO_500MS`
32+
* `WDTO_1S`
33+
* `WDTO_2S`
3134

3235
Note that Timer resolution is affected by integer math division and the time slice selected. Trying to measure 50ms, using a 120ms time slice for example, won't work.
3336

@@ -66,7 +69,7 @@ Testing with the Software Serial library shows some incompatibilities at low bau
6669
* ATmega2560 @ 16MHz : Arduino Mega, Arduino ADK
6770
* ATmega2560 @ 16MHz : Seeed Studio ADK
6871

69-
The new megaAVR 0-Series devices (eg. ATmega4809) are not fully compatible with this library. Their Timer configuration and structure is substantially different from previous devices, and forms part of a new __avr8x__ architecture. It may be a while until avr-libc is updated to include support, but when that happens further workd can be added here.
72+
The new megaAVR 0-Series devices (eg. ATmega4809) are not fully compatible with this library. Their Timer configuration is substantially different from previous devices, and forms part of a new __avr8x__ architecture. It may be a while until avr-libc is updated to include support for megaAVR devices, but when that happens further work will be added here.
7073

7174
## Files & Configuration
7275

@@ -84,6 +87,5 @@ Watchdog period is configurable using build-flags:
8487
```python
8588
build_flags =
8689
-DportUSE_WDTO=WDTO_15MS
87-
8890
```
8991

src/FreeRTOSVariant.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ extern "C" {
4747
WDTO_120MS
4848
WDTO_250MS
4949
WDTO_500MS
50+
WDTO_1S
51+
WDTO_2S
5052
*/
5153
// xxx Watchdog Timer is 128kHz nominal, but 120 kHz at 5V DC and 25 degrees is actually more accurate, from data sheet.
5254
#define configTICK_RATE_HZ ( (TickType_t)( (uint32_t)128000 >> (portUSE_WDTO + 11) ) ) // 2^11 = 2048 WDT scaler for 128kHz Timer

0 commit comments

Comments
 (0)