aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-06-11Merge pull request #323 from rtfm-rs/bors_to_ghaEmil Fresk
Moved bors to GHA
2020-06-11Merge pull request #313 from russell/patch-1Emil Fresk
Update example to use better initial value
2020-06-11Merge #314bors[bot]
314: do not optimize build deps r=korken89 a=japaric this may make CI faster Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2020-06-11Merge #315bors[bot]
315: allow handlers to be named 'main' r=korken89 a=japaric `#[init]`, `#[idle]` and `#[task]` handlers can now be named `main` fixes #311 Co-authored-by: Jorge Aparicio <jorge.aparicio@ferrous-systems.com>
2020-06-11Merge pull request #319 from AfoHT/fixoddexEmil Fresk
Use cargo feature instead of conditional compilation hacks
2020-06-11Merge #320 #322bors[bot]
320: No build opt on msrv r=korken89 a=AfoHT #314 is failing the tests since 1.36.0 is not capable of 'build-override' profiles. This extends current CI setup for both Travis and GHA to remove any `build-override` before running in case toolchain is 1.36.0. 322: Update resources.md r=korken89 a=lonesometraveler This fixes some typos. Co-authored-by: Henrik Tjäder <henrik@tjaders.com> Co-authored-by: KENTARO OKUDA <lonesometraveler@mac.com>
2020-06-11Moved bors to GHAEmil Fresk
2020-06-11Update resources.mdKENTARO OKUDA
2020-06-10Disable optimisation profiles in GHA for 1.36.0Henrik Tjäder
2020-06-10Remove compilation optimisations on 1.36.0Henrik Tjäder
2020-06-10Use cargo feature instead of conditional compilation hacksHenrik Tjäder
2020-06-09Merge #310bors[bot]
310: Update app.md r=korken89 a=lonesometraveler - Fix typos - Improve readability Co-authored-by: KENTARO OKUDA <lonesometraveler@mac.com>
2020-06-09Merge #318bors[bot]
318: Run cargo fmt r=korken89 a=AfoHT Fix style issues reported by cargo fmt Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-06-03Merge #316bors[bot]
316: Testing GHA v0.1 r=korken89 a=AfoHT Implementing previous Travis CI setup on Github Actions Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-06-03Run cargo fmtHenrik Tjäder
2020-06-02Merge #317bors[bot]
317: Use statically compiled mdbook r=perlindgren a=AfoHT Instead of building mdbook, get a precompiled version Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-06-02Use travis to set the PATH properlyHenrik Tjäder
2020-06-02Use statically compiled mdbookHenrik Tjäder
2020-06-02Testing GHA v0.1Henrik Tjäder
Implementing previous Travis CI setup on Github Actions
2020-05-29allow handlers to be named 'main'Jorge Aparicio
`#[init]`, `#[idle]` and `#[task]` handlers can now be named `main` fixes #311
2020-05-26TODO(remove) codegen no-opJorge Aparicio
2020-05-26touch src/lib.rsJorge Aparicio
2020-05-26trigger incremental CI re-buildJorge Aparicio
2020-05-26do not optimize build depsJorge Aparicio
2020-05-26Update example to use better initial valueRussell Sim
The example above this in the documentation states ``` // semantically, the monotonic timer is frozen at time "zero" during `init` // NOTE do *not* call `Instant::now` in this context; it will return a nonsense value let now = cx.start; // the start time of the system ``` It results in weird scheduling issues, but still eventually works. `cx.start` is much more reliable. Relates to https://github.com/rtfm-rs/cortex-m-rtfm/issues/196
2020-05-13Update app.mdKENTARO OKUDA
2020-04-22Merge #306bors[bot]
306: Retain cfg-attributes on resources r=korken89 a=AfoHT When rust 1.43 lands as stable this will resolve #301 and allow for the kind of conditional compilation exemplified in the issue. Tested on beta and nightly. Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-04-22Retain cfg-attributes on resourcesHenrik Tjäder
2020-04-21Merge #307bors[bot]
307: Use build.rs for conditional compilation r=korken89 a=AfoHT Extend the current test suite to allow for running tests on newer rustc-versions than current MSRV. Required by #306 to add special tests for future MSRV. To exclude an example from the regular non-nightly testing: ``` #![no_main] #![no_std] #[cfg(rustc_is_nightly)] mod example { use panic_halt as _; #[rtfm::app(device = lm3s6965)] const APP: () = { <more code> } } ``` Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-04-21Temporarily disable extra test stub since tests are not merged yetHenrik Tjäder
2020-04-21Remove reference to exampleHenrik Tjäder
This example will be reintroduced in #306 instead
2020-04-20Use buildrs for conditional compilationHenrik Tjäder
2020-04-14Merge #305bors[bot]
305: Updated dead links to SLEEPONEXIT reference on developer.arm.com r=korken89 a=FluenTech Co-authored-by: Peter Taylor <40178570+FluenTech@users.noreply.github.com>
2020-04-13fix SLEEPONEXIT reference link in Russian versionPeter Taylor
2020-04-13correct SLEEPONEXIT reference linkPeter Taylor
2020-01-28Merge #297bors[bot]
297: Reference the correct example in the by-example book r=japaric a=AfoHT closes #298 Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-01-24Merge #294bors[bot]
294: use the safe DWT::unlock API r=korken89 a=japaric instead of a unsafe write_volatile call Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2020-01-24Reference the correct exampleHenrik Tjäder
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
2020-01-21use the safe DWT::unlock APIJorge Aparicio
instead of a unsafe write_volatile call
2019-12-04Merge #284bors[bot]
284: book, Russian lang: fix "idle not defined" typo r=burbull a=kolen Fix typo in Russian translation of book, was "When idle function is declared", should be "When no idle function is declared" "не" means "not". Corresponding text in English: ```markdown When no `idle` function is declared, the runtime sets the [SLEEPONEXIT] bit and then sends the microcontroller to sleep after running `init`. ``` Co-authored-by: Konstantin Mochalov <incredible.angst@gmail.com>
2019-12-04book, Russian lang: fix "idle not defined" typoKonstantin Mochalov
Fix typo in Russian translation of book, was "When idle function is declared", should be "When no idle function is declared"
2019-12-03Merge #283bors[bot]
283: Include DWT enable in migration guide r=korken89 a=MabezDev Makes note of the fact the DWT has to be enabled manually in rtfm 0.5.0; an easy one to miss considering debuggers generally enable the DWT automatically. Co-authored-by: Scott Mabin <scott@mabez.dev>
2019-12-03Update migration guide to include the enabling of the the DWT peripheral. ↵Scott Mabin
Also makes note of enable trace with the DCB to allow the DWT to work without a debugger connected.
2019-11-19Merge #280bors[bot]
280: Fixed link to API reference r=TeXitoi a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2019-11-19Fixed link to API referenceEmil Fresk
2019-11-19Merge #279bors[bot]
279: Preparation for v0.5.1 r=perlindgren a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2019-11-19Preparation for v0.5.1Emil Fresk
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>