Commit Graph

1268 Commits

Author SHA1 Message Date
bors[bot] 8045c19f53
Merge #49
49: fix memory safety issue in ethernet interface (closes #33) r=jordens a=cjbe

The CPU is allowed to implement normal memory writes out-of-order. Here
the write to the OWN flag in the DMA descriptor (normal memory) was
placed after the DMA tail pointer advance (in device memory, so not
reorderable). This meant the ethernet DMA engine stalled as it saw
a descriptor it did not own, and only restarted and sent the packet
when the next packet was released.

This fix will work as long as the CPU data cache is disabled. If we
want to enable the cache, the simplest method would be to mark SRAM3
as uncacheable via the MPU.

Co-authored-by: Chris Ballance <chris.ballance@physics.ox.ac.uk>
2019-11-16 07:26:22 +00:00
Chris Ballance ab1735950b fix memory safety issue in ethernet interface (closes #33)
The CPU is allowed to access normal memory writes out-of-order. Here
the write to the OWN flag in the DMA descriptor (normal memory) was
placed after the DMA tail pointer advance (in device memory, so not
reorderable). This meant the ethernet DMA engine stalled as it saw
a descriptor it did not own, and only restarted and sent the packet
when the next packet was released.

This fix will work as long as the CPU data cache is disabled. If we
want to enable the cache, the simplest method would be to mark SRAM3
as uncacheable via the MPU.
2019-11-16 03:25:42 +00:00
bors[bot] 53352d1281
Merge #53
53: build(deps): bump cortex-m-rtfm from v0.5.0-beta.1 to v0.5.0 r=jordens a=dependabot-preview[bot]

Bumps [cortex-m-rtfm](https://github.com/rtfm-rs/cortex-m-rtfm) from v0.5.0-beta.1 to v0.5.0.
<details>
<summary>Changelog</summary>

*Sourced from [cortex-m-rtfm's changelog](https://github.com/rtfm-rs/cortex-m-rtfm/blob/master/CHANGELOG.md).*

> ## v0.5.0 - 2019-11-14
> 
> ### Added
> 
> - Experimental support for homogeneous and heterogeneous multi-core
>   microcontrollers has been added. Support is gated behind the `homogeneous` and
>   `heterogeneous` Cargo features.
> 
> ### Changed
> 
> - [breaking-change][] [RFC 155] "explicit `Context` parameter" has been
>   implemented.
> 
> [RFC 155]: [rtfm-rs/cortex-m-rtfm#155](https://github-redirect.dependabot.com/rtfm-rs/cortex-m-rtfm/issues/155)
> 
> - [breaking-change][] [RFC 147] "all functions must be safe" has been
>   implemented.
> 
> [RFC 147]: [rtfm-rs/cortex-m-rtfm#147](https://github-redirect.dependabot.com/rtfm-rs/cortex-m-rtfm/issues/147)
> 
> - All the queues internally used by the framework now use `AtomicU8` indices
>   instead of `AtomicUsize`; this reduces the static memory used by the
>   framework.
> 
> - [breaking-change][] when the `capacity` argument is omitted, the capacity of
>   the task is assumed to be `1`. Before, a reasonable (but hard to predict)
>   capacity was computed based on the number of `spawn` references the task had.
> 
> - [breaking-change][] resources that are appear as exclusive references
>   (`&mut-`) no longer appear behind the `Exclusive` newtype.
> 
> - [breaking-change][] the `timer-queue` Cargo feature has been removed. The
>   `schedule` API can be used without enabling any Cargo feature.
> 
> - [breaking-change][] when the `schedule` API is used the type of
>   `init::Context.core` changes from `cortex_m::Peripherals` to
>   `rtfm::Peripherals`. The fields of `rtfm::Peripherals` do not change when
>   Cargo features are enabled.
> 
> - [breaking-change][] the monotonic timer used to implement the `schedule` API
>   is now user configurable via the `#[app(monotonic = ..)]` argument. IMPORTANT:
>   it is now the responsibility of the application author to configure and
>   initialize the chosen `monotonic` timer during the `#[init]` phase.
> 
> - [breaking-change][] the `peripherals` field is not include in `init::Context`
>   by default. One must opt-in using the `#[app(peripherals = ..)]` argument.
> 
> - [breaking-change][] the `#[exception]` and `#[interrupt]` attributes have been
>   removed. Hardware tasks are now declared using the `#[task(binds = ..)]`
>   attribute.
></tr></table> ... (truncated)
</details>
<details>
<summary>Commits</summary>

- [`6b0a2df`](6b0a2df41c) Merge [#272](https://github-redirect.dependabot.com/rtfm-rs/cortex-m-rtfm/issues/272)
- [`4fcb6ab`](4fcb6ab7cc) v0.5.0 final release
- [`e28294b`](e28294b220) Merge [#271](https://github-redirect.dependabot.com/rtfm-rs/cortex-m-rtfm/issues/271)
- [`2441b7e`](2441b7e389) Minor docs update to monotonic
- [`85463ed`](85463ed6c3) Merge [#268](https://github-redirect.dependabot.com/rtfm-rs/cortex-m-rtfm/issues/268) [#270](https://github-redirect.dependabot.com/rtfm-rs/cortex-m-rtfm/issues/270)
- [`76e2345`](76e234599f) Added struct de-structure-ing example in tips & tricks
- [`e9a8394`](e9a83947bc) fix bash comparison
- [`da9c6a7`](da9c6a714e) run cfail tests only when rustc --version == $MSRV
- [`31b392f`](31b392fe3a) CI: replace compiletest-rs with trybuild
- [`72e84cb`](72e84cb297) Merge [#266](https://github-redirect.dependabot.com/rtfm-rs/cortex-m-rtfm/issues/266)
- Additional commits viewable in [compare view](1fe9767eba...6b0a2df41c)
</details>
<br />

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)



</details>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-11-15 08:13:11 +00:00
dependabot-preview[bot] 74a31be801
build(deps): bump cortex-m-rtfm from v0.5.0-beta.1 to v0.5.0
Bumps [cortex-m-rtfm](https://github.com/rtfm-rs/cortex-m-rtfm) from v0.5.0-beta.1 to v0.5.0.
- [Release notes](https://github.com/rtfm-rs/cortex-m-rtfm/releases)
- [Changelog](https://github.com/rtfm-rs/cortex-m-rtfm/blob/master/CHANGELOG.md)
- [Commits](1fe9767eba...6b0a2df41c)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-15 04:38:21 +00:00
Sebastien Bourdeauducq 749c42d4a7 update cargosha256 2019-11-15 11:23:21 +08:00
bors[bot] 53f2a134a1
Merge #52
52: deps: bump smoltcp and serde-json-core r=jordens a=jordens

bors r+

Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-11-14 15:12:44 +00:00
Robert Jördens 41a2aaf2aa deps: bump smoltcp and serde-json-core 2019-11-14 16:11:47 +01:00
Sebastien Bourdeauducq 5c89d2ba48 update cargosha256 2019-11-14 16:44:17 +08:00
bors[bot] e923dd6993
Merge #51
51: factor CPU and board-specific initialisation out of main r=jordens a=cjbe



Co-authored-by: Chris Ballance <chris.ballance@physics.ox.ac.uk>
2019-11-13 22:19:48 +00:00
Chris Ballance d7f46c1f12 factor CPU and board-specific initialisation out of main (NFC) 2019-11-13 22:13:04 +00:00
bors[bot] 4ee902027f
Merge #50
50: Fix TCP command interface rx buffer wrapping r=jordens a=dnadlinger

Previously, if a message spanned the end of the
receive ring buffer, the last byte in the buffer
would be missing from the to-be-decoded message,
leading to a parse error or panic.

With this commit, >3M commands were exchanged
over one socket without further issues.

Co-authored-by: David Nadlinger <code@klickverbot.at>
2019-11-13 09:57:02 +00:00
David Nadlinger 2297286360 Fix TCP command interface rx buffer wrapping
Previously, if a message spanned the end of the
receive ring buffer, the last byte in the buffer
would be missing from the to-be-decoded message,
leading to a parse error or panic.

With this commit, >3M commands were exchanged
over one socket without further issues.
2019-11-13 01:50:18 +00:00
bors[bot] bc85cd478b
Merge #44
44: build(deps): bump serde from 1.0.101 to 1.0.102 r=jordens a=dependabot-preview[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.101 to 1.0.102.
<details>
<summary>Release notes</summary>

*Sourced from [serde's releases](https://github.com/serde-rs/serde/releases).*

> ## v1.0.102
> - Support deserializing `PathBuf` from bytes like `&Path` already did, and support deserializing `Box<Path>` ([#1656](https://github-redirect.dependabot.com/serde-rs/serde/issues/1656), thanks [@&#8203;heftig](https://github.com/heftig))
</details>
<details>
<summary>Commits</summary>

- [`2ceabad`](2ceabad360) Release 1.0.102
- [`a00aee1`](a00aee1495) Use a dedicated cfg for PathBuf::into_boxed_path
- [`4e31c99`](4e31c9984d) Merge pull request [#1656](https://github-redirect.dependabot.com/serde-rs/serde/issues/1656) from heftig/path-improvements
- [`b8772a1`](b8772a1e40) Deserialize Box\<Path> through PathBuf::into_boxed_path
- [`42990d8`](42990d8264) Deserialize PathBuf from bytes
- [`cf31418`](cf31418555) Resolve unused_self lint
- [`5db72b8`](5db72b8ad9) Ignore must_use_candidate pedantic lint
- [`fe8f8bc`](fe8f8bcf7b) Address needless_doctest_main lint in serde_test
- [`d4d737d`](d4d737de8d) Resolve redundant_clone lint
- [`52f6e96`](52f6e96ee8) Ignore needless_doctest_main lint
- Additional commits viewable in [compare view](https://github.com/serde-rs/serde/compare/v1.0.101...v1.0.102)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.101&new-version=1.0.102)](https://dependabot.com/compatibility-score.html?dependency-name=serde&package-manager=cargo&previous-version=1.0.101&new-version=1.0.102)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)



</details>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-11-11 11:58:56 +00:00
bors[bot] 39cb1afcfd
Merge #48
48: remove unused code, deny warnings r=jordens a=jordens

bors r+

Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-11-11 11:20:53 +00:00
dependabot-preview[bot] 34ddcf1a90
build(deps): bump serde from 1.0.101 to 1.0.102
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.101 to 1.0.102.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.101...v1.0.102)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 11:15:32 +00:00
Robert Jördens 0b4f7c9201 remove unused code, deny warnings 2019-11-11 12:04:50 +01:00
bors[bot] 0cb1643779
Merge #45
45: build(deps): bump stm32h7 from 0.8.0 to 0.9.0 r=jordens a=dependabot-preview[bot]

Bumps [stm32h7](https://github.com/stm32-rs/stm32-rs) from 0.8.0 to 0.9.0.
<details>
<summary>Changelog</summary>

*Sourced from [stm32h7's changelog](https://github.com/stm32-rs/stm32-rs/blob/master/CHANGELOG.md).*

> ## [v0.9.0] 2019-11-10
> 
> Family-specific:
> 
> * F1:
>     * F100 ADC ([#270](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/270))
> * F3:
>     * ADC, COMP, DAC, HRTIM, OPAMP ([#287](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/287))
>     * HRTIM interrupt numbers ([#289](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/289))
>     * Update README concerning parts in each module ([#295](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/295))
> * F4:
>     * F401 and F411 USB OTG FS patch ([#272](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/272))
> * F7:
>     * Update SVD files to latest from vendor ([#299](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/299))
> * L0:
>     * L0xx: NVIC priority bits ([#275](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/275))
>     * L0xx: fixes ([#291](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/291), [#292](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/292), [#293](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/293))
>     * L0x1: RCC APB1ENR TIM3 fix ([#297](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/297))
>     * L0xx: SYSCFG CFGR3 fixes ([#300](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/300))
> * H7:
>     * Add dual core parts ([#276](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/276), [#285](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/285))
>     * Correct PLL2DIVR names ([#281](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/281))
>     * Split ethernet peripheral in dual core parts ([#288](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/288))
> * G0:
>     * Update G0 SVD files ([#286](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/286))
> * G4:
>     * RCC fixes ([#294](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/294))
> 
> Common:
> 
> * OTG HS patches ([#272](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/272), [#274](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/274))
> * Updated to svd2rust 0.16.1 ([#271](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/271), [#283](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/283))
> * Explicitly open YAML files in UTF-8 ([#277](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/277))
> * Makefile improvements ([#278](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/278), [#279](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/279), [#280](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/280))
> * svdpatch supports copying peripherals from another SVD ([#298](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/298))
> 
> Thanks to:
> 
> [@&#8203;burrbull] [@&#8203;disasm] [@&#8203;albru123] [@&#8203;kitzin] [@&#8203;richardeoin] [@&#8203;dotcypress]
> [@&#8203;richard7770] [@&#8203;jonas-schievink] [@&#8203;ajfrantz] [@&#8203;aurelj] [@&#8203;osannolik] [@&#8203;rfuest]
</details>
<details>
<summary>Commits</summary>

- [`5d2c088`](5d2c08864c) v0.9.0
- [`523683b`](523683b06a) Merge [#298](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/298)
- [`2894624`](28946241ff) Merge [#299](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/299)
- [`bc4467b`](bc4467b94a) Update stm32_part_table.yaml for STM32F7x5
- [`c04f809`](c04f809cdc) Merge [#300](https://github-redirect.dependabot.com/stm32-rs/stm32-rs/issues/300)
- [`a82df3a`](a82df3abad) Mark REF_LOCK as read-write
- [`8b5eb0a`](8b5eb0a5cb) Fix SYSCFG CFGR3 register fields
- [`b33a2f0`](b33a2f02a4) Rename conflicting LCD-TFT interrupts
- [`76be6f7`](76be6f7d3b) Split stm32f7x5 feature into stm32f745 and stm32f765
- [`7589009`](758900938c) Update devices for new SVD files
- Additional commits viewable in [compare view](https://github.com/stm32-rs/stm32-rs/compare/v0.8.0...v0.9.0)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=stm32h7&package-manager=cargo&previous-version=0.8.0&new-version=0.9.0)](https://dependabot.com/compatibility-score.html?dependency-name=stm32h7&package-manager=cargo&previous-version=0.8.0&new-version=0.9.0)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)



</details>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-11-11 10:56:05 +00:00
Robert Jördens 65cf0c1594 rcc: pac 0.9 renames 2019-11-11 11:46:07 +01:00
bors[bot] c52172f753
Merge #47
47: Travis nightly r=jordens a=jordens

bors r+

Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-11-11 10:42:52 +00:00
Robert Jördens 404ece616a travis: try nightly as well 2019-11-11 11:31:39 +01:00
bors[bot] 5a86aca3ef
Merge #46
46: travis: stable r=jordens a=jordens

bors r+

Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-11-11 10:31:27 +00:00
Robert Jördens f11e33921f travis: stable 2019-11-11 11:30:41 +01:00
dependabot-preview[bot] 305bb0397b
build(deps): bump stm32h7 from 0.8.0 to 0.9.0
Bumps [stm32h7](https://github.com/stm32-rs/stm32-rs) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/stm32-rs/stm32-rs/releases)
- [Changelog](https://github.com/stm32-rs/stm32-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stm32-rs/stm32-rs/compare/v0.8.0...v0.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 04:33:07 +00:00
Sebastien Bourdeauducq 2aaa47ced1 add cargosha256.nix 2019-11-01 10:10:19 +08:00
bors[bot] 7970508de2
Merge #43
43: Stable rust r=jordens a=jordens

bors r+

Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-10-22 13:49:52 +00:00
Robert Jördens 1a669909aa deps: bump 2019-10-22 13:47:19 +00:00
Robert Jördens 07cbf61b23 rtfm: v0.5.0-beta.1 2019-10-22 13:44:40 +00:00
Robert Jördens 4c205f1a93 openocd.gdb: modern gdb is stricter 2019-10-22 13:44:04 +00:00
Robert Jördens 17012621dd use stable rust (1.38.0) 2019-10-22 13:43:49 +00:00
bors[bot] 1b846c6d19
Merge #42
42: Bump deps r=jordens a=jordens

bors r+

Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-10-13 12:36:01 +00:00
Robert Jördens 7e366f08ea dependencies: bump indirect 2019-10-13 14:34:54 +02:00
Robert Jördens e3ffa992ab dependencies: bump cortex-m-rtfm 2019-10-13 14:31:12 +02:00
Robert Jördens 69476bfd1e dependencies: bump smoltcp 2019-10-13 14:26:58 +02:00
bors[bot] 476be9ea15
Merge #40
40: build(deps): bump serde from 1.0.100 to 1.0.101 r=jordens a=dependabot-preview[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.100 to 1.0.101.
<details>
<summary>Release notes</summary>

*Sourced from [serde's releases](https://github.com/serde-rs/serde/releases).*

> ## v1.0.101
> - Report errors on malformed serde attributes, like `#[serde(rename =)]` -- the compiler used to reject these itself, but when the compiler relaxed its requirements on attribute syntax these malformed attributes began silently being ignored by serde_derive
> 
> - Eliminate unused variable warning when using skip_serializing inside a tuple variant of an adjacently tagged enum  ([#1617](https://github-redirect.dependabot.com/serde-rs/serde/issues/1617), thanks [@&#8203;arilotter](https://github.com/arilotter))
> 
> - Support skip attribute inside of newtype variants ([#1622](https://github-redirect.dependabot.com/serde-rs/serde/issues/1622), thanks [@&#8203;Xaeroxe](https://github.com/Xaeroxe))
</details>
<details>
<summary>Commits</summary>

- [`4aba6fa`](4aba6fae78) Release 1.0.101
- [`fe06bc2`](fe06bc2f88) More concise explanation of allow(unused_variables)
- [`8dfb4cd`](8dfb4cd02f) Merge pull request [#1617](https://github-redirect.dependabot.com/serde-rs/serde/issues/1617) from arilotter/master
- [`d1ade37`](d1ade37827) Ignore new too_many_lines lint
- [`9de4924`](9de49241fb) Bug fix for [#1610](https://github-redirect.dependabot.com/serde-rs/serde/issues/1610)
- [`b24d501`](b24d50160a) Remove use of ref keyword from serde_derive
- [`e46463e`](e46463e69f) Add tests for attribute parse errors
- [`a3157c9`](a3157c9572) Produce errors on attr that fails to parse as Meta
- [`0d47226`](0d4722680a) Use flatten() to iterate serde meta items
- [`7ab1259`](7ab12597bb) Un-wrap error message strings for better grepping
- Additional commits viewable in [compare view](https://github.com/serde-rs/serde/compare/v1.0.100...v1.0.101)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.100&new-version=1.0.101)](https://dependabot.com/compatibility-score.html?dependency-name=serde&package-manager=cargo&previous-version=1.0.100&new-version=1.0.101)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-10-13 12:01:37 +00:00
dependabot-preview[bot] 012ba18fbd
build(deps): bump serde from 1.0.100 to 1.0.101
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.100 to 1.0.101.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.100...v1.0.101)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-17 04:31:27 +00:00
Sebastien Bourdeauducq 80052f089b fix Unix permissions 2019-09-13 13:52:24 +08:00
bors[bot] 0a5329f38b
Merge #38
38: Fix system time counter r=jordens a=cjbe

Previously the time counter was incrementing every 0.5ms, versus the expected 1ms.

Co-authored-by: Chris Ballance <chris.ballance@physics.ox.ac.uk>
2019-09-12 20:36:49 +00:00
Chris Ballance 1f1e588744 fix system time counter
The CYCCNT module used to calculate the system
time counts every processor clock cycle =
400 MHz.
2019-09-12 00:35:00 +01:00
Robert Jördens 5dffe1c456
try github actions 2019-09-11 17:28:53 +02:00
bors[bot] bdc9f40adc
Merge #35
35: cargo: bump indirect dependencies r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-09-11 15:06:00 +00:00
Robert Jördens 83a4034c91 cargo: bump indirect dependencies 2019-09-11 17:04:45 +02:00
bors[bot] d40e400a0c
Merge #26
26: build(deps): bump panic-semihosting from 0.5.2 to 0.5.3 r=jordens a=dependabot-preview[bot]

Bumps [panic-semihosting](https://github.com/rust-embedded/panic-semihosting) from 0.5.2 to 0.5.3.
<details>
<summary>Changelog</summary>

*Sourced from [panic-semihosting's changelog](https://github.com/rust-embedded/panic-semihosting/blob/master/CHANGELOG.md).*

> ## [v0.5.3] - 2019-09-01
> 
> - Added feature `jlink-quirks` to work with JLink
</details>
<details>
<summary>Commits</summary>

- [`a47fb7d`](a47fb7df79) Merge [#19](https://github-redirect.dependabot.com/rust-embedded/panic-semihosting/issues/19)
- [`1ba4090`](1ba4090ef9) Prepare for v0.5.3
- [`9677b77`](9677b776c2) Merge [#18](https://github-redirect.dependabot.com/rust-embedded/panic-semihosting/issues/18)
- [`e4fe382`](e4fe382a5f) Add feature jlink-quirks
- See full diff in [compare view](https://github.com/rust-embedded/panic-semihosting/compare/v0.5.2...v0.5.3)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=panic-semihosting&package-manager=cargo&previous-version=0.5.2&new-version=0.5.3)](https://dependabot.com/compatibility-score.html?dependency-name=panic-semihosting&package-manager=cargo&previous-version=0.5.2&new-version=0.5.3)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-09-11 14:30:43 +00:00
dependabot-preview[bot] df46213ef0
build(deps): bump panic-semihosting from 0.5.2 to 0.5.3
Bumps [panic-semihosting](https://github.com/rust-embedded/panic-semihosting) from 0.5.2 to 0.5.3.
- [Release notes](https://github.com/rust-embedded/panic-semihosting/releases)
- [Changelog](https://github.com/rust-embedded/panic-semihosting/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-embedded/panic-semihosting/compare/v0.5.2...v0.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-11 14:30:17 +00:00
bors[bot] 7f295285da
Merge #28 #30
28: Read MAC address from EEPROM r=jordens a=cjbe

Try and read the unique MAC address from EEPROM.
If the EEPROM can not be read (e.g. on the unpatched hardware version 1.0 where the EEPROM is unpowered) a hardcoded default of 10:E2:D5:00:03:00 is used.

The MAC address found / used is logged. At the moment the only way of accessing this log is via semihosting.

Closes #23 

30: build(deps): bump serde from 1.0.99 to 1.0.100 r=jordens a=dependabot-preview[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.99 to 1.0.100.
<details>
<summary>Release notes</summary>

*Sourced from [serde's releases](https://github.com/serde-rs/serde/releases).*

> ## v1.0.100
> - Provide `serde::ser::StdError` and `serde:🇩🇪:StdError` which are either a re-export of `std::error::Error` (if Serde's "std" feature is enabled) or a new identical trait (otherwise).
> 
>     ```rust
>     #[cfg(feature = "std")]
>     pub use std::error::Error as StdError;
> 
>     #[cfg(not(feature = "std"))]
>     pub trait StdError: Debug + Display {
>         fn source(&self) -> Option<&(StdError + 'static)> { None }
>     }
>     ```
> 
>     Serde's error traits `serde::ser::Error` and `serde:🇩🇪:Error` require `std::error::Error` as a supertrait, but only when Serde is built with "std" enabled. Data formats that don't care about no\_std support should generally provide their error types with a `std::error::Error` impl directly:
> 
>     ```rust
>     #[derive(Debug)]
>     struct MySerError {...}
> 
>     impl serde::ser::Error for MySerError {...}
> 
>     impl std::fmt::Display for MySerError {...}
> 
>     // We don't support no_std!
>     impl std::error::Error for MySerError {}
>     ```
> 
>     Data formats that *do* support no\_std may either have a "std" feature of their own as has been required in the past:
> 
>     ```toml
>     [features]
>     std = ["serde/std"]
>     ```
> 
>     ```rust
>     #[cfg(feature = "std")]
>     impl std::error::Error for MySerError {}
>     ```
> 
>     ... or else now may provide the std Error impl unconditionally via Serde's re-export:
> 
>     ```rust
>     impl serde::ser::StdError for MySerError {}
>     ```
</details>
<details>
<summary>Commits</summary>

- [`b6a77c4`](b6a77c4413) Release 1.0.100
- [`3343885`](33438850a6) Merge pull request [#1620](https://github-redirect.dependabot.com/serde-rs/serde/issues/1620) from dtolnay/error
- [`c083cfd`](c083cfd65e) Export std error type so downstream doesn't need "std" feature
- [`4cea81f`](4cea81f93f) Merge pull request [#1615](https://github-redirect.dependabot.com/serde-rs/serde/issues/1615) from jamesmunns/patch-1
- [`2d36be7`](2d36be753a) Add Postcard to the list of Serde Data Formats
- [`738d29e`](738d29eaa9) Update serde_derive_internals to syn 1.0
- [`b536fb6`](b536fb67a4) Merge pull request [#1604](https://github-redirect.dependabot.com/serde-rs/serde/issues/1604) from UnHumbleBen/patch-1
- [`b10c23a`](b10c23a950) Fixed a typo
- [`85a5cf7`](85a5cf7cb1) Document serde_derive minimum rustc
- See full diff in [compare view](https://github.com/serde-rs/serde/compare/v1.0.99...v1.0.100)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.99&new-version=1.0.100)](https://dependabot.com/compatibility-score.html?dependency-name=serde&package-manager=cargo&previous-version=1.0.99&new-version=1.0.100)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

Co-authored-by: Chris Ballance <chris.ballance@physics.ox.ac.uk>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-09-11 14:18:18 +00:00
dependabot-preview[bot] 85b037c486
build(deps): bump serde from 1.0.99 to 1.0.100
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.99 to 1.0.100.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.99...v1.0.100)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-11 14:11:37 +00:00
bors[bot] 62b0a6ae6b
Merge #25
25: build(deps): bump heapless from 0.5.0 to 0.5.1 r=jordens a=dependabot-preview[bot]

Bumps [heapless](https://github.com/japaric/heapless) from 0.5.0 to 0.5.1.
<details>
<summary>Changelog</summary>

*Sourced from [heapless's changelog](https://github.com/japaric/heapless/blob/master/CHANGELOG.md).*

> ## [v0.5.1] - 2019-08-29
> 
> ### Added
> 
> - Added armv8 support
> - Added `Queue::peek`
> - Added `BinaryHeap::peek_mut`
</details>
<details>
<summary>Commits</summary>

- [`5ffd0df`](5ffd0df2cc) Merge [#118](https://github-redirect.dependabot.com/japaric/heapless/issues/118)
- [`7c93606`](7c93606372) Prepared for 0.5.1 release
- [`e8aa152`](e8aa152993) Merge [#117](https://github-redirect.dependabot.com/japaric/heapless/issues/117)
- [`fde6afe`](fde6afe6cc) Added peek_mut based on the std-lib
- [`03b890f`](03b890f161) Merge [#110](https://github-redirect.dependabot.com/japaric/heapless/issues/110)
- [`eae66b9`](eae66b9b87) Add Queue::peek.
- [`9e2e5ae`](9e2e5ae03f) Merge [#113](https://github-redirect.dependabot.com/japaric/heapless/issues/113)
- [`902460c`](902460cd18) Added armv8 base to CI
- [`14cef0f`](14cef0fbc3) Added distinction between armv8 base and main
- [`24ffc4a`](24ffc4a399) Added armv8 support
- Additional commits viewable in [compare view](https://github.com/japaric/heapless/compare/v0.5.0...v0.5.1)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=heapless&package-manager=cargo&previous-version=0.5.0&new-version=0.5.1)](https://dependabot.com/compatibility-score.html?dependency-name=heapless&package-manager=cargo&previous-version=0.5.0&new-version=0.5.1)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-09-11 14:02:56 +00:00
bors[bot] 43f58ebb62
Merge #34
34: enable cycle counter r=jordens a=jordens

c.f. japaric/cortex-m-rtfm#184

close #31 

Signed-off-by: Robert Jördens <rj@quartiq.de>

Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-09-11 13:36:53 +00:00
Robert Jördens fc93de432d enable cycle counter
c.f. japaric/cortex-m-rtfm#184

Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-09-11 15:35:06 +02:00
Chris Ballance 30faa5b703 read MAC address from EEPROM 2019-09-08 16:02:09 +01:00
Chris Ballance 12b06a0fa9 add I2C and 24xx EEPROM driver 2019-09-05 12:45:57 +01:00