TaskScheduler
Arduino-Libs
Our great sponsors
TaskScheduler | Arduino-Libs | |
---|---|---|
5 | 2 | |
1,155 | 167 | |
- | 0.6% | |
0.0 | 3.7 | |
3 months ago | 4 months ago | |
C++ | C++ | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
TaskScheduler
-
How do you make a code that does like 2 or 3 things simulatneously?
When you get a little more advanced it's not hard to extend the BWD code to hsndle any number of "time when something should happen". Or you can use something like the TaskScheduler library.
-
Understanding the rarely seen EVERY_N_MILLIS_I ?
Or just use TaskScheduler and never have to worry about this again. https://github.com/arkhipenko/TaskScheduler
-
Event-driven architecture
For reference, I'm a big fan of this scheduler in particular, due to it's simplicity, OO support and a neat extra of sleeping each unused millisecond (low power for free).
-
Current consumption between arduino and HAL?
One of my favourite low power techniques involves using a scheduller for your loop code, and sleep for 1 ms at a time when there are no tasks to run. As seen here.
-
Garden irrigation system based on ESP32
Have you looked at the task scheduler library? https://github.com/arkhipenko/TaskScheduler
Arduino-Libs
-
Path forward from Arduino to embedded C/C++
There are some design decisions Arduino made that maybe restrict in one aspect, but there's nothing wrong with dropping down to a lower level or jumping sideways to a slightly customized version that does just the right thing. e.g. If digitalWrite() isn't fast enough, somebody wrote a digitalWriteFast() that works with some AVRs. Otherwise, you can probably just hunt down the source yourself, make your own copy of it, and change it to be the way you need. That's a great way to learn, too
- Follow-up to speeding up your code with registers: don't forget masking!
What are some alternatives?
FastLED_examples - FastLED example code, tests, demos, etc
ArduinoXInput - XInput library for USB capable Arduino boards
LoLa - Low Latency Radio System
Adafruit_Sensor - Common sensor library
MD_MAX72XX - LED Matrix Library
Arduino-AppleMIDI-Library - Send and receive MIDI messages over Ethernet (rtpMIDI or AppleMIDI)
CoopCommand - CoopCommand aims to increase automation in small scale egg-laying chicken flocks for the hobby farmer. Final product aims to have ease of installation and use for non-technical users.
lcdgfx - Driver for LCD displays running on Arduino/Avr/ESP32/Linux (including Rasperry) platforms
EBYTE - Libraries to program and use UART-based EBYTE wireless data transceivers
Arduino-USBMIDI - Allows a microcontroller, with native USB capabilities, to appear as a MIDI device over USB to a connected computer
ArduinoCore-avr - The Official Arduino AVR core