* master:
adapt to new heapless/serde-json-core after const-generics
Bump serde-json-core from 0.3.0 to 0.4.0
build(deps): bump heapless from 0.6.1 to 0.7.1
setup: cleanup
itcm: add some comments, make it safe
build(deps): bump ndarray from 0.15.1 to 0.15.2
Updating dependencies
Updating the embedded-nal
Removing spurious settings updates
deps: add rationales for git dependencies
itcm: implement in rust and execute during setup()
remove duplicate linker option
gha: install gcc
fmt
dependencies: align with master
bump cortex-m-rt to 0.6.13+git
memory.x: remove comment about old cortex-m-rt
enable itcm/dtcm explicitly
load process into itcm
371: rj/pounder fixes r=jordens a=jordens
- pounder: simplify attenuator spi interface
- deps: use mcp23017 release
- attenuators: use robust latching sequence
- rf_power: fix measurement
- pounder io extender: hack around some bug
- pounder: fix attenuator indices (latch and shiftreg)
- pounder: enum for gpio ext pins
- ad9959: refactor pad()
One big issue was the apparently broken mcp23017 `digital_write`. I couldn't get it to work.
For now, and since (a) we aren't handling the other pins in any configurable way, and (b) the readback-style modification is slow let's just to whole-port writes of constants.
Co-authored-by: Robert Jördens <rj@quartiq.de>
* master:
adapt to new heapless/serde-json-core after const-generics
Bump serde-json-core from 0.3.0 to 0.4.0
build(deps): bump heapless from 0.6.1 to 0.7.1
372: rj/const gen r=ryan-summers a=jordens
- build(deps): bump heapless from 0.6.1 to 0.7.1
- Bump serde-json-core from 0.3.0 to 0.4.0
- adapt to new heapless/serde-json-core after const-generics
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Robert Jördens <rj@quartiq.de>
Before the discriminant was used despite being a compiler implementaiton
detail. This now fixes the discriminant to match byte index in the attenuator
shift register and latch-enable index of the gpio extender.
322: rj/itcm r=jordens a=jordens
* close#315
* would profit from cortex-m-rtic 0.6 elevating the attributes to the actual ISR thus removing the veneer
Co-authored-by: Robert Jördens <rj@quartiq.de>
363: build(deps): bump ndarray from 0.15.1 to 0.15.2 r=jordens a=dependabot[bot]
Bumps [ndarray](https://github.com/rust-ndarray/ndarray) from 0.15.1 to 0.15.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-ndarray/ndarray/blob/master/RELEASES.md">ndarray's changelog</a>.</em></p>
<blockquote>
<h1>Version 0.15.2 (2021-05-17 🇳🇴)</h1>
<h2>New features</h2>
<ul>
<li>
<p>New methods for growing/appending to owned <code>Array</code>s. These methods allow
building an array efficiently chunk by chunk. By [<a href="https://github.com/bluss"><code>@bluss</code></a>].</p>
<ul>
<li><code>.push_row()</code>, <code>.push_column()</code></li>
<li><code>.push(axis, array)</code>, <code>.append(axis, array)</code></li>
</ul>
<p><code>stack</code>, <code>concatenate</code> and <code>.select()</code> now support all <code>Clone</code>-able elements
as a result.</p>
<p><a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/pull/932">rust-ndarray/ndarray#932</a> <!-- raw HTML omitted -->
<a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/pull/990">rust-ndarray/ndarray#990</a></p>
</li>
<li>
<p>New reshaping method <code>.to_shape(...)</code>, called with new shape and optional
ordering parameter, this is the first improvement for reshaping in terms of
added features and increased consistency, with more to come. By [<a href="https://github.com/bluss"><code>@bluss</code></a>].</p>
<p><a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/pull/982">rust-ndarray/ndarray#982</a></p>
</li>
<li>
<p><code>Array</code> now implements a by-value iterator, by [<a href="https://github.com/bluss"><code>@bluss</code></a>].</p>
<p><a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/pull/986">rust-ndarray/ndarray#986</a></p>
</li>
<li>
<p>New methods <code>.move_into()</code> and <code>.move_into_uninit()</code> which allow assigning
into an array by moving values from an array into another, by [<a href="https://github.com/bluss"><code>@bluss</code></a>].</p>
<p><a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/pull/932">rust-ndarray/ndarray#932</a> <!-- raw HTML omitted -->
<a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/pull/997">rust-ndarray/ndarray#997</a></p>
</li>
<li>
<p>New method <code>.remove_index()</code> for owned arrays by [<a href="https://github.com/bluss"><code>@bluss</code></a>]</p>
<p><a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/pull/967">rust-ndarray/ndarray#967</a></p>
</li>
<li>
<p>New constructor <code>build_uninit</code> which makes it easier to initialize
uninitialized arrays in a way that's generic over all owned array kinds.
By [<a href="https://github.com/bluss"><code>@bluss</code></a>].</p>
<p><a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/pull/1001">rust-ndarray/ndarray#1001</a></p>
</li>
</ul>
<h2>Enhancements</h2>
<ul>
<li>
<p>Preserve the allocation of the input array in some more cases for arithmetic ops by [<a href="https://github.com/SparrowLii"><code>@SparrowLii</code></a>]</p>
<p><a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/pull/963">rust-ndarray/ndarray#963</a></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="864cccf90b"><code>864cccf</code></a> 0.15.2</li>
<li><a href="71fba9b104"><code>71fba9b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/issues/1004">#1004</a> from rust-ndarray/layout</li>
<li><a href="2ddc9dbd02"><code>2ddc9db</code></a> debloat: Debloat pointer inbounds assert</li>
<li><a href="2a8b58a289"><code>2a8b58a</code></a> debloat: Factor out layout c/f check from layout computation</li>
<li><a href="f81e7ca582"><code>f81e7ca</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/issues/1000">#1000</a> from rust-ndarray/doc-0.15.2</li>
<li><a href="74c7994238"><code>74c7994</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/issues/997">#997</a> from rust-ndarray/move-into-fixes</li>
<li><a href="7172504f0b"><code>7172504</code></a> DOC: Update changelog for 0.15.2</li>
<li><a href="dd49b77e65"><code>dd49b77</code></a> move_into: Split into .move_into() and .move_into_unit()</li>
<li><a href="cbf12d2ace"><code>cbf12d2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-ndarray/ndarray/issues/1001">#1001</a> from rust-ndarray/build-uninit</li>
<li><a href="a02383292d"><code>a023832</code></a> uninit: Make build_uninit public</li>
<li>Additional commits viewable in <a href="https://github.com/rust-ndarray/ndarray/compare/0.15.1...0.15.2">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ndarray&package-manager=cargo&previous-version=0.15.1&new-version=0.15.2)](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>
370: Updating dependencies + embedded-nal r=ryan-summers a=ryan-summers
This PR updates Stabilizer to utilize updated `smoltcp-nal` and `minimq`.
This is pending the following PRs:
* [x] https://github.com/quartiq/smoltcp-nal/pull/15
* [x] https://github.com/quartiq/minimq/pull/45
This is in preparation for further improvements to the smoltcp-nal to facilitate livestreaming.
Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>
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`
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>