|
2 | 2 |
|
3 | 3 | [](https://github.com/bxparks/AceRoutine/actions/workflows/aunit_tests.yml) |
4 | 4 |
|
5 | | -**New**: [GitHub Discussions](https://github.com/bxparks/AceRoutine/discussions) |
6 | | -for this project is now active! Let's use that for general support questions, |
7 | | -and reserve the [GitHub Issues](https://github.com/bxparks/AceRoutine/issues) |
8 | | -section for bugs and feature requests. |
9 | | - |
10 | 5 | **Breaking Changes in v1.3**: Breaking changes were made in v1.3 to reduce the |
11 | 6 | flash memory consumption of `Coroutine` instances by 800-1000 bytes. See the |
12 | 7 | [CHANGELOG.md](CHANGELOG.md) for a complete list. |
@@ -57,8 +52,7 @@ others (in my opinion of course): |
57 | 52 | * `CoroutineScheduler` consumes only about 40 bytes of flash and |
58 | 53 | 2 bytes of RAM independent of the number of coroutines |
59 | 54 | * 32-bit (e.g. STM32, ESP8266, ESP32) processors |
60 | | - * the first `Coroutine` consumes between 120-450 bytes of flash (except |
61 | | - on the Teensy 3.2 where the first instance brings in 3200 bytes) |
| 55 | + * the first `Coroutine` consumes between 120-450 bytes of flash |
62 | 56 | * each additional `Coroutine` consumes about 130-160 bytes of flash, |
63 | 57 | * each `Coroutine` consumes 20 bytes of static RAM |
64 | 58 | * `CoroutineScheduler` consumes only about 40-60 bytes of flash |
@@ -110,7 +104,7 @@ AceRoutine is a self-contained library that works on any platform supporting the |
110 | 104 | Arduino API (AVR, Teensy, ESP8266, ESP32, etc), and it provides a handful of |
111 | 105 | additional macros that can reduce boilerplate code. |
112 | 106 |
|
113 | | -**Version**: 1.3.1 (2021-06-02) |
| 107 | +**Version**: 1.4.0 (2021-07-29) |
114 | 108 |
|
115 | 109 | **Changelog**: [CHANGELOG.md](CHANGELOG.md) |
116 | 110 |
|
@@ -505,69 +499,81 @@ etc) for a handful of AceRoutine features. Here are some highlights: |
505 | 499 | **Arduino Nano (8-bits)** |
506 | 500 |
|
507 | 501 | ``` |
508 | | -+------------------------------------------------------------------+ |
509 | | -| functionality | flash/ ram | delta | |
510 | | -|-------------------------------------+--------------+-------------| |
511 | | -| Baseline | 400/ 11 | 0/ 0 | |
512 | | -|-------------------------------------+--------------+-------------| |
513 | | -| One Delay Function | 450/ 13 | 50/ 2 | |
514 | | -| Two Delay Functions | 508/ 15 | 108/ 4 | |
515 | | -|-------------------------------------+--------------+-------------| |
516 | | -| One Coroutine | 628/ 30 | 228/ 19 | |
517 | | -| Two Coroutines | 796/ 47 | 396/ 36 | |
518 | | -|-------------------------------------+--------------+-------------| |
519 | | -| One Coroutine (micros) | 596/ 30 | 196/ 19 | |
520 | | -| Two Coroutines (micros) | 732/ 47 | 332/ 36 | |
521 | | -|-------------------------------------+--------------+-------------| |
522 | | -| One Coroutine (seconds) | 724/ 30 | 324/ 19 | |
523 | | -| Two Coroutines (seconds) | 920/ 47 | 520/ 36 | |
524 | | -|-------------------------------------+--------------+-------------| |
525 | | -| Scheduler, One Coroutine | 742/ 32 | 342/ 21 | |
526 | | -| Scheduler, Two Coroutines | 904/ 49 | 504/ 38 | |
527 | | -|-------------------------------------+--------------+-------------| |
528 | | -| Scheduler, One Coroutine (micros) | 710/ 32 | 310/ 21 | |
529 | | -| Scheduler, Two Coroutines (micros) | 840/ 49 | 440/ 38 | |
530 | | -|-------------------------------------+--------------+-------------| |
531 | | -| Scheduler, One Coroutine (seconds) | 838/ 32 | 438/ 21 | |
532 | | -| Scheduler, Two Coroutines (seconds) | 1028/ 49 | 628/ 38 | |
533 | | -|-------------------------------------+--------------+-------------| |
534 | | -| Blink Function | 546/ 14 | 146/ 3 | |
535 | | -| Blink Coroutine | 752/ 30 | 352/ 19 | |
536 | | -+------------------------------------------------------------------+ |
| 502 | ++--------------------------------------------------------------------+ |
| 503 | +| functionality | flash/ ram | delta | |
| 504 | +|---------------------------------------+--------------+-------------| |
| 505 | +| Baseline | 606/ 11 | 0/ 0 | |
| 506 | +|---------------------------------------+--------------+-------------| |
| 507 | +| One Delay Function | 654/ 13 | 48/ 2 | |
| 508 | +| Two Delay Functions | 714/ 15 | 108/ 4 | |
| 509 | +|---------------------------------------+--------------+-------------| |
| 510 | +| One Coroutine | 844/ 32 | 238/ 21 | |
| 511 | +| Two Coroutines | 1016/ 51 | 410/ 40 | |
| 512 | +|---------------------------------------+--------------+-------------| |
| 513 | +| One Coroutine (micros) | 816/ 32 | 210/ 21 | |
| 514 | +| Two Coroutines (micros) | 960/ 51 | 354/ 40 | |
| 515 | +|---------------------------------------+--------------+-------------| |
| 516 | +| One Coroutine (seconds) | 944/ 32 | 338/ 21 | |
| 517 | +| Two Coroutines (seconds) | 1148/ 51 | 542/ 40 | |
| 518 | +|---------------------------------------+--------------+-------------| |
| 519 | +| Scheduler, One Coroutine | 968/ 34 | 362/ 23 | |
| 520 | +| Scheduler, Two Coroutines | 1132/ 53 | 526/ 42 | |
| 521 | +|---------------------------------------+--------------+-------------| |
| 522 | +| Scheduler, One Coroutine (micros) | 940/ 34 | 334/ 23 | |
| 523 | +| Scheduler, Two Coroutines (micros) | 1076/ 53 | 470/ 42 | |
| 524 | +|---------------------------------------+--------------+-------------| |
| 525 | +| Scheduler, One Coroutine (seconds) | 1068/ 34 | 462/ 23 | |
| 526 | +| Scheduler, Two Coroutines (seconds) | 1264/ 53 | 658/ 42 | |
| 527 | +|---------------------------------------+--------------+-------------| |
| 528 | +| Scheduler, One Coroutine (setup) | 1018/ 34 | 412/ 23 | |
| 529 | +| Scheduler, Two Coroutines (setup) | 1282/ 53 | 676/ 42 | |
| 530 | +|---------------------------------------+--------------+-------------| |
| 531 | +| Scheduler, One Coroutine (man setup) | 996/ 34 | 390/ 23 | |
| 532 | +| Scheduler, Two Coroutines (man setup) | 1268/ 53 | 662/ 42 | |
| 533 | +|---------------------------------------+--------------+-------------| |
| 534 | +| Blink Function | 938/ 14 | 332/ 3 | |
| 535 | +| Blink Coroutine | 1158/ 32 | 552/ 21 | |
| 536 | ++--------------------------------------------------------------------+ |
537 | 537 | ``` |
538 | 538 |
|
539 | 539 | **ESP8266 (32-bits)** |
540 | 540 |
|
541 | 541 | ``` |
542 | | -+------------------------------------------------------------------+ |
543 | | -| functionality | flash/ ram | delta | |
544 | | -|-------------------------------------+--------------+-------------| |
545 | | -| Baseline | 256924/26800 | 0/ 0 | |
546 | | -|-------------------------------------+--------------+-------------| |
547 | | -| One Delay Function | 256988/26808 | 64/ 8 | |
548 | | -| Two Delay Functions | 257052/26808 | 128/ 8 | |
549 | | -|-------------------------------------+--------------+-------------| |
550 | | -| One Coroutine | 257104/26820 | 180/ 20 | |
551 | | -| Two Coroutines | 257264/26844 | 340/ 44 | |
552 | | -|-------------------------------------+--------------+-------------| |
553 | | -| One Coroutine (micros) | 257136/26820 | 212/ 20 | |
554 | | -| Two Coroutines (micros) | 257296/26844 | 372/ 44 | |
555 | | -|-------------------------------------+--------------+-------------| |
556 | | -| One Coroutine (seconds) | 257136/26820 | 212/ 20 | |
557 | | -| Two Coroutines (seconds) | 257312/26844 | 388/ 44 | |
558 | | -|-------------------------------------+--------------+-------------| |
559 | | -| Scheduler, One Coroutine | 257152/26828 | 228/ 28 | |
560 | | -| Scheduler, Two Coroutines | 257280/26844 | 356/ 44 | |
561 | | -|-------------------------------------+--------------+-------------| |
562 | | -| Scheduler, One Coroutine (micros) | 257168/26828 | 244/ 28 | |
563 | | -| Scheduler, Two Coroutines (micros) | 257312/26844 | 388/ 44 | |
564 | | -|-------------------------------------+--------------+-------------| |
565 | | -| Scheduler, One Coroutine (seconds) | 257168/26828 | 244/ 28 | |
566 | | -| Scheduler, Two Coroutines (seconds) | 257328/26844 | 404/ 44 | |
567 | | -|-------------------------------------+--------------+-------------| |
568 | | -| Blink Function | 257424/26816 | 500/ 16 | |
569 | | -| Blink Coroutine | 257556/26836 | 632/ 36 | |
570 | | -+------------------------------------------------------------------+ |
| 542 | ++--------------------------------------------------------------------+ |
| 543 | +| functionality | flash/ ram | delta | |
| 544 | +|---------------------------------------+--------------+-------------| |
| 545 | +| Baseline | 256924/26800 | 0/ 0 | |
| 546 | +|---------------------------------------+--------------+-------------| |
| 547 | +| One Delay Function | 256988/26808 | 64/ 8 | |
| 548 | +| Two Delay Functions | 257052/26808 | 128/ 8 | |
| 549 | +|---------------------------------------+--------------+-------------| |
| 550 | +| One Coroutine | 257120/26820 | 196/ 20 | |
| 551 | +| Two Coroutines | 257280/26844 | 356/ 44 | |
| 552 | +|---------------------------------------+--------------+-------------| |
| 553 | +| One Coroutine (micros) | 257136/26820 | 212/ 20 | |
| 554 | +| Two Coroutines (micros) | 257296/26844 | 372/ 44 | |
| 555 | +|---------------------------------------+--------------+-------------| |
| 556 | +| One Coroutine (seconds) | 257136/26820 | 212/ 20 | |
| 557 | +| Two Coroutines (seconds) | 257312/26844 | 388/ 44 | |
| 558 | +|---------------------------------------+--------------+-------------| |
| 559 | +| Scheduler, One Coroutine | 257168/26828 | 244/ 28 | |
| 560 | +| Scheduler, Two Coroutines | 257312/26844 | 388/ 44 | |
| 561 | +|---------------------------------------+--------------+-------------| |
| 562 | +| Scheduler, One Coroutine (micros) | 257184/26828 | 260/ 28 | |
| 563 | +| Scheduler, Two Coroutines (micros) | 257328/26844 | 404/ 44 | |
| 564 | +|---------------------------------------+--------------+-------------| |
| 565 | +| Scheduler, One Coroutine (seconds) | 257184/26828 | 260/ 28 | |
| 566 | +| Scheduler, Two Coroutines (seconds) | 257344/26844 | 420/ 44 | |
| 567 | +|---------------------------------------+--------------+-------------| |
| 568 | +| Scheduler, One Coroutine (setup) | 257200/26828 | 276/ 28 | |
| 569 | +| Scheduler, Two Coroutines (setup) | 257376/26844 | 452/ 44 | |
| 570 | +|---------------------------------------+--------------+-------------| |
| 571 | +| Scheduler, One Coroutine (man setup) | 257184/26828 | 260/ 28 | |
| 572 | +| Scheduler, Two Coroutines (man setup) | 257360/26844 | 436/ 44 | |
| 573 | +|---------------------------------------+--------------+-------------| |
| 574 | +| Blink Function | 257424/26816 | 500/ 16 | |
| 575 | +| Blink Coroutine | 257572/26836 | 648/ 36 | |
| 576 | ++--------------------------------------------------------------------+ |
571 | 577 | ``` |
572 | 578 |
|
573 | 579 | Comparing `Blink Function` and `Blink Coroutine` is probably the most |
@@ -653,8 +659,8 @@ This library was developed and tested using: |
653 | 659 | * [Arduino AVR Boards 1.8.3](https://github.com/arduino/ArduinoCore-avr) |
654 | 660 | * [Arduino SAMD Boards 1.8.9](https://github.com/arduino/ArduinoCore-samd) |
655 | 661 | * [SparkFun AVR Boards 1.1.13](https://github.com/sparkfun/Arduino_Boards) |
656 | | -* [SparkFun SAMD Boards 1.8.1](https://github.com/sparkfun/Arduino_Boards) |
657 | | -* [STM32duino 1.9.0](https://github.com/stm32duino/Arduino_Core_STM32) |
| 662 | +* [SparkFun SAMD Boards 1.8.3](https://github.com/sparkfun/Arduino_Boards) |
| 663 | +* [STM32duino 2.0.0](https://github.com/stm32duino/Arduino_Core_STM32) |
658 | 664 | * [ESP8266 Arduino 2.7.4](https://github.com/esp8266/Arduino) |
659 | 665 | * [ESP32 Arduino 1.0.6](https://github.com/espressif/arduino-esp32) |
660 | 666 | * [Teensydino 1.53](https://www.pjrc.com/teensy/td_download.html) |
|
0 commit comments