aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-12-25Edition: Bump to 2021Henrik Tjäder
2021-12-14Idle: Switch to NOP instead of WFIHenrik Tjäder
Add example how to get old WFI behaviour
2021-11-25Remove #[deny(warnings)], but deny warnings for CIHenrik Tjäder
2021-11-25Docs: add RTIC logoHenrik Tjäder
2021-11-09New monotonic trait workingEmil Fresk
2021-11-02added doc for RacyCellPer Lindgren
2021-11-02Fixed aliasing issue due to RacyCell implementationEmil Fresk
2021-09-28Fix export of SYSTEmil Fresk
2021-09-27Fix a bug in the timer queue due to comparison bug in embedded-timeEmil Fresk
2021-09-14Cleanup export and actually use rtic::export, made fn init inlineEmil Fresk
2021-08-16Remove linked list impl - use heapless, linked list init now const fnEmil Fresk
2021-07-09const genericsAndrey Zgarbul
2021-06-06assert emptyJames Hillyerd
2021-06-06Allow zero sized LinkedListJames Hillyerd
2021-04-08Goodbye static mutEmil Fresk
2021-04-08Fixed UB in `spawn_at`Emil Fresk
2021-03-22Updated schedule example with all combinationsEmil Fresk
2021-03-20Cancel and reschedule workingEmil Fresk
Support cfgs in the imports Account for extern tasks
2021-03-13Added interface for cancel/rescheduleEmil Fresk
Use wrapping add for marker No need to store handle to queue Remove unnecessary `SpawnHandle::new` Fix test Updated interface to follow proposal
2021-02-25Review fixesEmil Fresk
2021-02-22Updated to new interfaceEmil Fresk
2021-02-22Added enable/disable timer callsEmil Fresk
2021-02-22Of by 1Emil Fresk
2021-02-18Now with new monotonic trait and crateEmil Fresk
2021-02-06Merge branch 'master' into new_monotonicEmil Fresk
2021-01-10cleanupEmil Fresk
2021-01-04Bump cortex-m to 0.7.0Nicolas Stalder
2020-12-13CleanupEmil Fresk
2020-12-13Double check the compare instantEmil Fresk
2020-12-13Less ... hacky?Emil Fresk
2020-12-13Reexport embedded-time as rtic::timeEmil Fresk
2020-12-12Monotonic codegen now passing compile stageEmil Fresk
2020-12-10More workEmil Fresk
2020-12-08TQ handlers being generatedEmil Fresk
2020-12-03Save, init generation fixedEmil Fresk
2020-12-03Removed monotonic trait, moved to rtic-coreEmil Fresk
2020-11-26Removed cortex-m-rtEmil Fresk
2020-11-14Add multilock to the bookEmil Fresk
2020-11-14Multilock supportEmil Fresk
2020-10-15Implement all clippy suggestionsHenrik Tjäder
2020-10-01Remove exports related to heterogeneous multi-core supportHenrik Tjäder
2020-10-01Added `bare_metal::CriticalSection` to `init::Context`Emil Fresk
2020-09-01Remove stale code, fix comment stylingHenrik Tjäder
2020-09-01Brutally yank out multicoreHenrik Tjäder
2020-06-11Rename RTFM to RTICHenrik Tjäder
2020-06-11FmtEmil Fresk
2020-05-26touch src/lib.rsJorge Aparicio
2020-01-24Merge #295bors[bot]
295: docs: do not use Instant::now in #[init] r=korken89 a=japaric Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2020-01-21docs: do not use Instant::now in #[init]Jorge Aparicio
2019-11-19Merge #277bors[bot]
277: TimerQueue.dequeue: don't set SYST reload to 0 r=korken89 a=mpasternacki ARM Architecture Reference Manual says: "Setting SYST_RVR to zero has the effect of disabling the SysTick counter independently of the counter enable bit." If Monotonic's ratio is less than one, the timeout calculations can compute zero if next task is scheduled after current instant, but before next timer tick. This results in disabling SYST and freezing the timer queue. The division by ratio's denominator rounds downward and the dequeue condition is `if instant < now`. If ratio is small enough, this results in unnecessary interrupts: Let's say `instant - now` is 99 and ratio is 1/25. Then, `dur` will equal 3 and the next tick will happen at `now + 75`. In the next interrupt, `instant > now` and additional tick needs to be scheduled (which doesn't happen, because now `instant - now` is less than 25, so reload will be set to 0 and timer queue will stop). Adding one to computed duration will prevent both freezing and additional interrupts. When ratio is 1 or close, timer queue code overhead will prevent this from happening. I am working with a chip where CPU is clocked at 600MHz and SysTick is 100kHz and the freeze happens quite often. Co-authored-by: Maciej Pasternacki <maciej@3ofcoins.net>