aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-07-07Full local resource syntax workingGravatar Emil Fresk 9-74/+112
2021-07-06Minimal app now compilesGravatar Emil Fresk 14-348/+284
2021-07-05Started workGravatar Emil Fresk 10-146/+283
2021-07-02Merge #492Gravatar bors[bot] 1-1/+1
492: Fix syntax error in migration guide r=korken89 a=newAM Minor problem with a minor fix. Co-authored-by: Alex Martens <alexmgit@protonmail.com>
2021-07-01Fix syntax error in migration guideGravatar Alex Martens 1-1/+1
2021-06-28Merge #491Gravatar bors[bot] 1-1/+1
491: Fix small typo in readme r=korken89 a=vladinator1000 Co-authored-by: Vlady Veselinov <vladkodmc@gmail.com>
2021-06-28Fix small typo in readmeGravatar Vlady Veselinov 1-1/+1
2021-06-07Merge #489Gravatar bors[bot] 1-0/+13
489: Allow zero sized LinkedList r=korken89 a=jhillyerd If one configures a monotonic in alpha4, but doesn't use it, TimerQueue attempts to create a zero-sized LinkedList, which causes an underflow. This PR allows for zero-sized linked lists. Co-authored-by: James Hillyerd <james@hillyerd.com>
2021-06-06assert emptyGravatar James Hillyerd 1-0/+1
2021-06-06Allow zero sized LinkedListGravatar James Hillyerd 1-0/+12
2021-05-28Merge #486Gravatar bors[bot] 1-1/+5
486: Fixed changelog r=korken89 a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-05-28Fixed changelogGravatar Emil Fresk 1-1/+5
2021-05-27Merge #485v0.6.0-alpha.4Gravatar bors[bot] 14-160/+166
485: New codegen structure to eliminate issues with paths r=korken89 a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-05-27Prepare release alpha.4Gravatar Emil Fresk 5-17/+19
2021-05-23Minor cleanupGravatar Emil Fresk 3-11/+16
2021-05-06Flattened the _ out of itGravatar Emil Fresk 11-147/+146
2021-04-22Merge #469Gravatar bors[bot] 11-58/+155
469: Goodbye static mut r=AfoHT a=korken89 Squashed and updated version of @perlindgren branch. In release there are 0 bytes difference for all examples :tada: For debug we see a bloat of ~1-2% worst case, commonly less. Complete diff of sizes for all examples (first is goodbye static mut, second is master): ``` < 27220 0 28 27248 6a70 spawn --- > 27092 0 28 27120 69f0 spawn < 16916 0 44 16960 4240 late --- > 16836 0 44 16880 41f0 late < 15952 0 12 15964 3e5c type-usage --- > 15872 0 12 15884 3e0c type-usage < 22068 0 44 22112 5660 cfg --- > 21812 0 44 21856 5560 cfg < 34784 0 40 34824 8808 periodic --- > 34496 0 40 34536 86e8 periodic < 22308 0 32 22340 5744 task --- > 21972 0 32 22004 55f4 task < 15076 8 24 15108 3b04 task-local --- > 14980 8 24 15012 3aa4 task-local < 12884 0 24 12908 326c destructure --- > 12820 0 24 12844 322c destructure < 10128 0 16 10144 27a0 init --- > 10112 0 16 10128 2790 init < 19044 0 20 19064 4a78 task_named_main --- > 18916 0 20 18936 49f8 task_named_main < 27252 0 28 27280 6a90 extern_spawn --- > 27124 0 28 27152 6a10 extern_spawn < 10176 0 16 10192 27d0 idle --- > 10160 0 16 10176 27c0 idle < 13972 0 16 13988 36a4 resource --- > 13940 0 16 13956 3684 resource < 16228 0 24 16252 3f7c multilock --- > 16116 0 24 16140 3f0c multilock < 14660 0 16 14676 3954 lock --- > 14628 0 16 14644 3934 lock < 10416 0 16 10432 28c0 task-local-minimal --- > 10400 0 16 10416 28b0 task-local-minimal < 14164 0 24 14188 376c generics --- > 14148 0 24 14172 375c generics < 30644 0 48 30692 77e4 message --- > 30308 0 48 30356 7694 message < 28964 0 36 29000 7148 spawn2 --- > 28724 0 36 28760 7058 spawn2 < 15952 0 8 15960 3e58 t-schedule-core-stable --- > 15872 0 8 15880 3e08 t-schedule-core-stable < 17408 0 20 17428 4414 t-cfg --- > 17248 0 20 17268 4374 t-cfg < 12948 0 16 12964 32a4 hardware --- > 12932 0 16 12948 3294 hardware < 54640 0 104 54744 d5d8 t-schedule --- > 53696 0 104 53800 d228 t-schedule < 26132 0 548 26680 6838 pool --- > 25876 0 548 26424 6738 pool < 22372 0 56 22428 579c cfg-whole-task --- > 22100 0 56 22156 568c cfg-whole-task < 38292 0 76 38368 95e0 schedule --- > 37828 0 76 37904 9410 schedule < 21216 0 32 21248 5300 t-spawn --- > 20880 0 32 20912 51b0 t-spawn < 22820 0 56 22876 595c capacity --- > 22580 0 56 22636 586c capacity < 17060 0 48 17108 42d4 static --- > 16980 0 48 17028 4284 static < 20288 0 24 20312 4f58 ramfunc --- > 20096 0 24 20120 4e98 ramfunc < 11760 0 20 11780 2e04 t-resource --- > 11664 0 20 11684 2da4 t-resource < 13028 0 16 13044 32f4 only-shared-access --- > 13012 0 16 13028 32e4 only-shared-access < 16576 0 16 16592 40d0 not-sync --- > 16432 0 16 16448 4040 not-sync < 13892 0 16 13908 3654 resource-user-struct --- > 13860 0 16 13876 3634 resource-user-struct < 37472 0 64 37536 92a0 double_schedule --- > 36960 0 64 37024 90a0 double_schedule < 17648 0 8 17656 44f8 t-stask-main --- > 17520 0 8 17528 4478 t-stask-main < 8816 0 4 8820 2274 t-late-not-send --- > 8800 0 4 8804 2264 t-late-not-send < 23280 0 32 23312 5b10 types --- > 23120 0 32 23152 5a70 types ``` Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-04-22Keep commentsGravatar Emil Fresk 6-1/+12
2021-04-22Merge #481Gravatar bors[bot] 2-0/+9
481: use super::xx now works with monotonics r=AfoHT a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-04-22use super::xx now works with monotonicsGravatar Emil Fresk 2-0/+9
2021-04-22Merge #479Gravatar bors[bot] 1-1/+40
479: book: detail import resolving for 0.6 migration r=korken89 a=tmplt That is, answering the question of why imports are no longer resolving during compilation. Co-authored-by: Viktor Sonesten <v@tmplt.dev>
2021-04-22Merge #480Gravatar bors[bot] 1-4/+4
480: book/migration/v5: update init signature, fix example syntax r=korken89 a=tmplt From the comment in #478. The example now migrates from v5 to v6 instead of an incorrect v6 syntax to a another incorrect v6 syntax. Co-authored-by: Viktor Sonesten <v@tmplt.dev>
2021-04-21book/migration/v5: update init signature, fix example syntaxGravatar Viktor Sonesten 1-4/+4
The example now migrates from v5 to v6 instead of an incorrect v6 syntax to a another incorrect v6 syntax.
2021-04-21book: detail import resolving for 0.6 migrationGravatar Viktor Sonesten 1-1/+40
2021-04-21Merge #478Gravatar bors[bot] 1-3/+2
478: book: update outdated required init signature r=korken89 a=tmplt As per the title. The required signature of `#[init]` in the flowing text has not yet been updated for v0.6.0. Co-authored-by: Viktor Sonesten <v@tmplt.dev>
2021-04-21book: update outdated required init signatureGravatar Viktor Sonesten 1-3/+2
2021-04-20Merge #477Gravatar bors[bot] 2-1/+9
477: Fix for default monotonic, `monotonics::now()` now properly works r=AfoHT a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-04-20Merge #476Gravatar bors[bot] 1-2/+10
476: reclaim stack space used in late init r=korken89 a=conorpp Fixes #474. Tested that there is no longer any stack overhead leftover from moving init resources. (made mistake force pushing with last PR when trying to fix lint) The expansion for an example with 2 buffers as resources changes from: ```rust let (late, mut monotonics) = crate::APP::init(init::Context::new(core.into())); __rtic_internal_mybuffer.as_mut_ptr().write(late.mybuffer); __rtic_internal_mybuffer2.as_mut_ptr().write(late.mybuffer2); rtic::export::interrupt::enable(); crate::APP::idle(idle::Context::new(&rtic::export::Priority::new(0))) ``` to: ```rust #[inline(never)] fn __rtic_init_resources<F>(f: F) where F: FnOnce(), { f(); } __rtic_init_resources(|| { let (late, mut monotonics) = crate::APP::init(init::Context::new(core.into())); __rtic_internal_mybuffer.as_mut_ptr().write(late.mybuffer); __rtic_internal_mybuffer2.as_mut_ptr().write(late.mybuffer2); rtic::export::interrupt::enable(); }); crate::APP::idle(idle::Context::new(&rtic::export::Priority::new(0))) ``` Co-authored-by: Conor Patrick <conorpp94@gmail.com>
2021-04-20Fix for default monotonic, `monotonics::now()` now properly worksGravatar Emil Fresk 2-1/+9
2021-04-18reclaim stack space used in initGravatar Conor Patrick 1-2/+10
2021-04-13Merge #471Gravatar bors[bot] 1-0/+1
471: Force push to gh-pages branch r=korken89 a=AfoHT As suggested in https://github.com/rtic-rs/rfcs/pull/48#issuecomment-815730654 Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2021-04-13Force push to gh-pages branchGravatar Henrik Tjäder 1-0/+1
2021-04-08Goodbye static mutGravatar Emil Fresk 11-58/+144
2021-04-08Merge #465Gravatar bors[bot] 28-426/+3116
465: update russian translation of the book r=korken89 a=burrbull Co-authored-by: Andrey Zgarbul <zgarbul.andrey@gmail.com>
2021-04-08Merge #468Gravatar bors[bot] 1-1/+1
468: Tiny fix of README-link r=korken89 a=AfoHT Want to try GH-pages rebuild by GHA Co-authored-by: Henrik Tjäder <henrik@grepit.se>
2021-04-08Tiny fix of README-linkGravatar Henrik Tjäder 1-1/+1
Want to try GH-pages rebuild by GHA
2021-04-08Merge #467v0.6.0-alpha.2Gravatar bors[bot] 3-3/+22
467: 0.6.0-alpha.2 release r=AfoHT a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-04-08update russian translation of the bookGravatar Andrey Zgarbul 28-426/+3116
2021-04-080.6.0-alpha.2 releaseGravatar Emil Fresk 3-3/+22
2021-04-08Merge #466Gravatar bors[bot] 7-39/+75
466: Fix for type aliases in `mod app`, UB in `spawn_at`, and `#[cfg]` in hardware tasks r=AfoHT a=korken89 Type aliases such as the following did not work in `0.6-alpha`: ```rust use rtic::app; #[app(device = lm3s6965, dispatchers = [SSI0])] mod app { type Test = u32; #[task] fn t1(_: t1::Context, _val: Test) {} } ``` Plus that accessing associated constants of monotonic timers was not working as it should dues to the syntax and codegen transforming: ```rust #[monotonic(binds = SysTick, default = true)] type MyMono = DwtSystick<8_000_000>; // 8 MHz ``` into ```rust mod MyMono { // ... } ``` causing the original `type MyMono` to not exist anymore. This PR fixes this and adds test to check for this by doing the following expansion instead: ```rust #[monotonic(binds = SysTick, default = true)] type MyMono = DwtSystick<8_000_000>; // 8 MHz ``` into ```rust type MyMono = DwtSystick<8_000_000>; mod monotonics { mod MyMono { // ... } // And other monotonics go here as well } ``` **Breaking change** This causes a breaking change in accessing the `MyMono::now()` method which now exists under `monotonics::MyMono::now()`. --- Moreover a UB issue was found and fixed in `spawn_at` and hardware tasks properly propagate `#[cfg]`s. Closes #460 Closes #462 Closes #463 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-04-08Fixed UB in `spawn_at`Gravatar Emil Fresk 4-17/+11
2021-04-08Type aliases now work in the app moduleGravatar Emil Fresk 6-25/+67
2021-04-07Merge #456Gravatar bors[bot] 14-297/+873
456: Cancel/reschedule support for monotonics r=AfoHT a=korken89 Design document: https://hackmd.io/lhUCzrKBS-66aadO4KsSzw?view Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2021-04-07Updated dwt-systick-monotonicGravatar Emil Fresk 5-25/+10
2021-03-22Updated schedule example with all combinationsGravatar Emil Fresk 4-30/+80
2021-03-20Cancel and reschedule workingGravatar Emil Fresk 7-36/+717
Support cfgs in the imports Account for extern tasks
2021-03-13Added interface for cancel/rescheduleGravatar Emil Fresk 6-249/+108
Use wrapping add for marker No need to store handle to queue Remove unnecessary `SpawnHandle::new` Fix test Updated interface to follow proposal
2021-03-13Macros versionGravatar Emil Fresk 1-1/+2
2021-03-04Merge pull request #455 from rtic-rs/macros_versionGravatar Emil Fresk 1-1/+2
Macros version
2021-03-04Macros versionGravatar Emil Fresk 1-1/+2