369: Removing spurious settings updates r=jordens a=ryan-summers
This PR fixes#368 by refactoring logic in the network stack. This prevents spurious updates of Stabilizer's settings.
Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>
* This uses a new closure-based method to the DMA HAL implementation which
gives access to the inactive buffer directly.
* It removes changing addresses, the third buffer for DBM, the inactive
address poisoning, and allows the cancellation of the redundant repeat
memory barriers and compiler fences.
* This is now around 20 instructions per buffer down from about 100 cycles
before.
* Also introduces a new `SampleBuffer` type alias.
* The required unpacking of the resources structure is a bit annoying
but could probably abstraced away.
TODO:
* Test
* Adapt `lockin`
* There isn't much API that would only be used accross modules within
stabilizer/dsp but should not be pub beyond stabilizer/dsp.
* Therefore it's easier to let the definition determine visibility and
the mod.rs/lib.rs determine location in the namesapce.
* Blanket use pub items in mod and lib.
348: build(deps): bump embedded-hal from 0.2.4 to 0.2.5 r=jordens a=dependabot[bot]
Bumps [embedded-hal](https://github.com/rust-embedded/embedded-hal) from 0.2.4 to 0.2.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-embedded/embedded-hal/blob/v0.2.5/CHANGELOG.md">embedded-hal's changelog</a>.</em></p>
<blockquote>
<h2>[v0.2.5] - 2021-04-28</h2>
<h3>Changed</h3>
<ul>
<li>Updated <code>nb</code> dependency to version <code>0.1.3</code> to ensure compatibility with <code>nb</code> version <code>1.0</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7dc440c97c"><code>7dc440c</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-embedded/embedded-hal/issues/275">#275</a></li>
<li><a href="0950d0ca68"><code>0950d0c</code></a> Prepare 0.2.5 release</li>
<li><a href="6b4b15da54"><code>6b4b15d</code></a> Update repository URL</li>
<li><a href="f85f5bd816"><code>f85f5bd</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-embedded/embedded-hal/issues/253">#253</a></li>
<li><a href="cb03917306"><code>cb03917</code></a> Use nb version 0.1.3 for compatibility with nb 1.0</li>
<li><a href="6d360d6988"><code>6d360d6</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-embedded/embedded-hal/issues/272">#272</a></li>
<li><a href="4df0da2575"><code>4df0da2</code></a> Update codeowners to current team</li>
<li><a href="c48b2a3a14"><code>c48b2a3</code></a> Code formatting</li>
<li><a href="0711f6e8b5"><code>0711f6e</code></a> Backport moving CI to github actions</li>
<li><a href="98ab776106"><code>98ab776</code></a> Adapt to new Pin interface</li>
<li>See full diff in <a href="https://github.com/rust-embedded/embedded-hal/compare/v0.2.4...v0.2.5">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=embedded-hal&package-manager=cargo&previous-version=0.2.4&new-version=0.2.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
359: Bump rtt-target from 0.2.2 to 0.3.1 r=jordens a=dependabot[bot]
Bumps [rtt-target](https://github.com/mvirkkunen/rtt-target) from 0.2.2 to 0.3.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="e1d3813f4e"><code>e1d3813</code></a> Release 0.3.1</li>
<li><a href="5fc2460bc7"><code>5fc2460</code></a> Remove note about example features</li>
<li><a href="d0259d5629"><code>d0259d5</code></a> Formatting</li>
<li><a href="af1dcd75be"><code>af1dcd7</code></a> Move examples to separate project</li>
<li><a href="e41d104bbd"><code>e41d104</code></a> Update cortex-m to 0.7.1</li>
<li><a href="c505ed19d0"><code>c505ed1</code></a> Release 0.3.0</li>
<li><a href="7531280b42"><code>7531280</code></a> Document RISC-V a bit more</li>
<li><a href="970a498ca8"><code>970a498</code></a> Remove superfluous no_mangle</li>
<li><a href="0d37eb84bb"><code>0d37eb8</code></a> Merge branch 'Disasm-add-riscv' into master</li>
<li><a href="f61d420a32"><code>f61d420</code></a> Add RISC-V support</li>
<li>See full diff in <a href="https://github.com/mvirkkunen/rtt-target/compare/v0.2.2...v0.3.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rtt-target&package-manager=cargo&previous-version=0.2.2&new-version=0.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
357: Bump serde from 1.0.125 to 1.0.126 r=jordens a=dependabot[bot]
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.125 to 1.0.126.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.126</h2>
<ul>
<li>Resolve conflict with <code>forbid(future_incompatible)</code> lint setting in generated code (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2026">#2026</a>, thanks <a href="https://github.com/hyd-dev"><code>@hyd-dev</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d9c338ec4a"><code>d9c338e</code></a> Release 1.0.126</li>
<li><a href="699bf3a75d"><code>699bf3a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2026">#2026</a> from hyd-dev/warning</li>
<li><a href="dd29825217"><code>dd29825</code></a> Allow only <code>unused_extern_crates</code> instead of the whole <code>rust_2018_idioms</code> lin...</li>
<li><a href="6366f17da7"><code>6366f17</code></a> Ignore clone_instead_of_copied pedantic clippy lint</li>
<li><a href="1120e5af4a"><code>1120e5a</code></a> Remove suppression of removed clippy lint</li>
<li><a href="1093f7e232"><code>1093f7e</code></a> Resolve flat_map_option pedantic clippy lint</li>
<li><a href="2ea132b8c4"><code>2ea132b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2018">#2018</a> from dtolnay/nonascii</li>
<li><a href="2ebc771b88"><code>2ebc771</code></a> Remove non_ascii_idents feature gate from test suite</li>
<li><a href="c17c4eef18"><code>c17c4ee</code></a> Unify stable and beta CI workflow</li>
<li><a href="7aa4950504"><code>7aa4950</code></a> Release serde_derive_internals 0.26.0</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.125...v1.0.126">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.125&new-version=1.0.126)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
341: Feature/telemetry r=ryan-summers a=ryan-summers
This PR fixes#149
This PR adds the following:
* A `SystemTimer` used for RTIC scheduling (required for schedule periods > ~2 seconds)
* A refactor of the `src/net` directory
* Addition of network stack sharing via proxy (identical to implementation from `shared-bus`)
* Addition of a telemetry task
This must be merged after #352
Future Work:
* move `src/net/shared.rs` into `embedded-nal` or some other separate crate.
* Investigate removal of shared network stack by making smoltcp sockets owned and interrupt-safe
Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>