Commit Graph

209 Commits

Author SHA1 Message Date
bors[bot] 62d1a16b4a
Merge #414
414: Feature/generic stream r=jordens a=ryan-summers

This PR fixes #385 by improving the semantics by which streams are generated. Specifically, serialization format is now application-defined and data is only copied once.

TODO:
- [x] Add documentation for streaming architecture
- [x] Add format specifiers
- [x] Clean up reception script
- [x] Update lockin serialization

Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>
2021-07-27 11:52:48 +00:00
Robert Jördens f27d0899c2 relicense as MIT OR Apache-2.0
close #413

For explicit individual contributor permissions see the issue.
2021-07-26 17:32:48 +02:00
Ryan Summers 9b3bb62811 Adding WIP refactored streaming API 2021-07-22 14:45:58 +02:00
Ryan Summers cacf519583 Updating NAL and minimq to allow broker reconnection 2021-07-20 17:53:25 +02:00
bors[bot] 6ffc4b36fa
Merge #398 #399 #402
398: build(deps): bump cortex-m from 0.7.2 to 0.7.3 r=jordens a=dependabot[bot]

Bumps [cortex-m](https://github.com/rust-embedded/cortex-m) from 0.7.2 to 0.7.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-embedded/cortex-m/releases">cortex-m's releases</a>.</em></p>
<blockquote>
<h2>v0.7.3</h2>
<h2>[v0.7.3] - 2021-07-03</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed compilation for native targets on non-x86 host systems (<a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/336">#336</a>, <a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/337">#337</a>).</li>
</ul>
<h3>Added</h3>
<ul>
<li>The <code>Delay</code> struct now offers direct <code>delay_us()</code> and <code>delay_ms()</code> methods
without having to go through the embedded-hal traits (<a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/344">#344</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-embedded/cortex-m/blob/master/CHANGELOG.md">cortex-m's changelog</a>.</em></p>
<blockquote>
<h2>[v0.7.3] - 2021-07-03</h2>
<h3>Fixed</h3>
<ul>
<li>Fixed compilation for native targets on non-x86 host systems (<a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/336">#336</a>, <a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/337">#337</a>).</li>
</ul>
<h3>Added</h3>
<ul>
<li>The <code>Delay</code> struct now offers direct <code>delay_us()</code> and <code>delay_ms()</code> methods
without having to go through the embedded-hal traits (<a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/344">#344</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="45e7ab7266"><code>45e7ab7</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/345">#345</a></li>
<li><a href="1747d44c2a"><code>1747d44</code></a> Prepare for v0.7.3.</li>
<li><a href="47246ecc06"><code>47246ec</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/344">#344</a></li>
<li><a href="4a393e091b"><code>4a393e0</code></a> Update src/delay.rs</li>
<li><a href="81336573bc"><code>8133657</code></a> Use from instead of as</li>
<li><a href="7329f57108"><code>7329f57</code></a> remove inline on delay_us, and made u32 conversion syntax consistent</li>
<li><a href="d13ebd2015"><code>d13ebd2</code></a> Use . syntax instead of :: on delay_ms</li>
<li><a href="1a2b6eaaf6"><code>1a2b6ea</code></a> Use overflow-workaround on delay_ms</li>
<li><a href="cf5dbcd902"><code>cf5dbcd</code></a> Remove dependence on embedded-hal for Delay</li>
<li><a href="1a4e09646a"><code>1a4e096</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/341">#341</a></li>
<li>Additional commits viewable in <a href="https://github.com/rust-embedded/cortex-m/compare/v0.7.2...v0.7.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cortex-m&package-manager=cargo&previous-version=0.7.2&new-version=0.7.3)](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>

399: build(deps): bump cortex-m-rtic from 0.5.6 to 0.5.7 r=jordens a=dependabot[bot]

Bumps [cortex-m-rtic](https://github.com/rtic-rs/cortex-m-rtic) from 0.5.6 to 0.5.7.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rtic-rs/cortex-m-rtic/blob/v0.5.7/CHANGELOG.md">cortex-m-rtic's changelog</a>.</em></p>
<blockquote>
<h2>[v0.5.7] - 2021-07-05</h2>
<ul>
<li>Backport: &quot;you must enable the rt feature&quot; compile time detection</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="356f53ddc3"><code>356f53d</code></a> v0.5.7 release</li>
<li><a href="aa835e848b"><code>aa835e8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rtic-rs/cortex-m-rtic/issues/493">#493</a> from rtic-rs/you-must-enable-the-rt-feature</li>
<li><a href="b704894b03"><code>b704894</code></a> run cargo fmt</li>
<li><a href="73a4d7c8bd"><code>73a4d7c</code></a> improve the error message</li>
<li><a href="f042807d43"><code>f042807</code></a> generate error if &quot;rt&quot; feature is not enabled</li>
<li>See full diff in <a href="https://github.com/rtic-rs/cortex-m-rtic/compare/v0.5.6...v0.5.7">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cortex-m-rtic&package-manager=cargo&previous-version=0.5.6&new-version=0.5.7)](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>

402: build(deps): bump num_enum from 0.5.1 to 0.5.2 r=jordens a=dependabot[bot]

Bumps [num_enum](https://github.com/illicitonion/num_enum) from 0.5.1 to 0.5.2.
<details>
<summary>Commits</summary>
<ul>
<li><a href="bb8a680bd3"><code>bb8a680</code></a> Release 0.5.2 (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/51">#51</a>)</li>
<li><a href="606b5d37b8"><code>606b5d3</code></a> Use extended_key_value_attributes for rustdoc (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/50">#50</a>)</li>
<li><a href="8385dc995b"><code>8385dc9</code></a> Bump proc-macro-crate to 1 (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/48">#48</a>)</li>
<li><a href="1c820e2bef"><code>1c820e2</code></a> Update expected error messages (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/49">#49</a>)</li>
<li><a href="d0ac4cd13e"><code>d0ac4cd</code></a> Give a friendly error for enums with fields (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/45">#45</a>)</li>
<li><a href="0e2030c2ef"><code>0e2030c</code></a> Fix test expectations on nightly (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/46">#46</a>)</li>
<li><a href="83dab7df14"><code>83dab7d</code></a> Fix test expectation on beta (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/43">#43</a>)</li>
<li><a href="380e108908"><code>380e108</code></a> Remove unnecessary <code>unsafe</code> blocks from FromPrimitive example (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/42">#42</a>)</li>
<li><a href="6b52ecdab0"><code>6b52ecd</code></a> Fix nightly test expectation again (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/40">#40</a>)</li>
<li><a href="7343332c02"><code>7343332</code></a> Fix nightly test expectation (<a href="https://github-redirect.dependabot.com/illicitonion/num_enum/issues/39">#39</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/illicitonion/num_enum/compare/0.5.1...0.5.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=num_enum&package-manager=cargo&previous-version=0.5.1&new-version=0.5.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>
2021-07-16 14:42:25 +00:00
dependabot[bot] 2a41740493
build(deps): bump cortex-m-rtic from 0.5.6 to 0.5.7
Bumps [cortex-m-rtic](https://github.com/rtic-rs/cortex-m-rtic) from 0.5.6 to 0.5.7.
- [Release notes](https://github.com/rtic-rs/cortex-m-rtic/releases)
- [Changelog](https://github.com/rtic-rs/cortex-m-rtic/blob/v0.5.7/CHANGELOG.md)
- [Commits](https://github.com/rtic-rs/cortex-m-rtic/compare/v0.5.6...v0.5.7)

---
updated-dependencies:
- dependency-name: cortex-m-rtic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-16 13:51:31 +00:00
dependabot[bot] 42d4cb6a86
build(deps): bump num_enum from 0.5.1 to 0.5.2
Bumps [num_enum](https://github.com/illicitonion/num_enum) from 0.5.1 to 0.5.2.
- [Release notes](https://github.com/illicitonion/num_enum/releases)
- [Commits](https://github.com/illicitonion/num_enum/compare/0.5.1...0.5.2)

---
updated-dependencies:
- dependency-name: num_enum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-16 13:51:16 +00:00
Ryan Summers b9c1a80df0 Fixing feature unification issue 2021-07-15 14:07:30 +02:00
Ryan Summers f1947db6c9 Squashing manual changes 2021-07-15 13:28:19 +02:00
Robert Jördens 0a162a8096 use mutex-trait instead of flatten_closures 2021-06-24 11:03:54 +00:00
Ryan Summers 9d34e755d8 Fixing UDP reopening bug 2021-06-21 13:18:36 +02:00
Ryan Summers d81e0c9323
Merge branch 'master' into feature/livestream 2021-06-15 14:15:16 +02:00
Ryan Summers c622a05f8f Updating TOML comment 2021-06-15 13:56:17 +02:00
Ryan Summers a54d855cbe Updating HAL tag 2021-06-15 12:54:57 +02:00
Ryan Summers 8d1f2cf9b6 Updating versions 2021-06-15 12:51:42 +02:00
Ryan Summers b912f0c387 Merge branch 'feature/hal-update' into feature/livestream 2021-06-15 12:46:41 +02:00
Ryan Summers 9e182c850b Bumping HAL version 2021-06-15 12:46:03 +02:00
Ryan Summers b8c0abcea2 Updating HAL SPI usage to master version 2021-06-14 18:47:37 +02:00
Ryan Summers 9bc351109c Reverting unintended changes 2021-06-09 15:30:33 +02:00
Ryan Summers e01d430e8e Merge branch 'master' into feature/livestream 2021-06-09 12:46:56 +02:00
Robert Jördens c5a2704c41 dma: implement overflow checking 2021-06-01 13:11:16 +02:00
Robert Jördens 63716111df Merge branch 'master' into rj/fast-dbm
* master:
  pounder: clippy
  pounder: add comment on channel enum
  ad9959: refactor pad()
  pounder: enum for gpio ext pins
  pounder: fix attenuator indices (latch and shiftreg)
  pounder io extender: hack around some bug
  rf_power: fix measurement
  attenuators: use robust latching sequence
  deps: use mcp23017 release
  pounder: simplify attenuator spi interface
2021-06-01 12:52:58 +02:00
Robert Jördens 73187ba053 Merge branch 'master' into rj/fast-dbm
* 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
2021-06-01 12:52:05 +02:00
Robert Jördens 5ee7ef388e Merge branch 'master' into rj/pounder-fixes
* 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
2021-05-28 21:44:07 +02:00
Ryan Summers 2edbcf1c92 Merge branch 'master' into feature/livestream 2021-05-28 19:01:24 +02:00
Robert Jördens b8da9961b8 adapt to new heapless/serde-json-core after const-generics 2021-05-28 18:34:25 +02:00
Robert Jördens d493867c76 Merge remote-tracking branch 'origin/dependabot/cargo/serde-json-core-0.4.0' into rj/const-gen
* origin/dependabot/cargo/serde-json-core-0.4.0:
  Bump serde-json-core from 0.3.0 to 0.4.0
2021-05-28 18:24:58 +02:00
Robert Jördens a9f5943296 deps: use mcp23017 release 2021-05-28 16:42:42 +02:00
dependabot[bot] 440e542eae
Bump serde-json-core from 0.3.0 to 0.4.0
Bumps [serde-json-core](https://github.com/rust-embedded-community/serde-json-core) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/rust-embedded-community/serde-json-core/releases)
- [Changelog](https://github.com/rust-embedded-community/serde-json-core/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-embedded-community/serde-json-core/compare/v0.3.0...v0.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-28 14:40:51 +00:00
dependabot[bot] e9e98678c1
build(deps): bump heapless from 0.6.1 to 0.7.1
Bumps [heapless](https://github.com/japaric/heapless) from 0.6.1 to 0.7.1.
- [Release notes](https://github.com/japaric/heapless/releases)
- [Changelog](https://github.com/japaric/heapless/blob/master/CHANGELOG.md)
- [Commits](https://github.com/japaric/heapless/compare/v0.6.1...v0.7.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-28 14:40:46 +00:00
Ryan Summers 7012cbdc29 Merge branch 'master' into feature/livestream 2021-05-28 14:54:47 +02:00
Robert Jördens 441c81d135
Merge branch 'master' into rj/itcm 2021-05-27 18:22:22 +02:00
Ryan Summers fc2801ecbb Updating dependencies 2021-05-27 17:15:31 +02:00
Ryan Summers aaef0e9913 Merge branch 'feature/nal-update' into feature/livestream 2021-05-27 15:35:16 +02:00
Ryan Summers f10bce709f Updating the embedded-nal 2021-05-27 13:42:52 +02:00
Ryan Summers 70be4c1c19 Adding WIP changes to streaming 2021-05-26 15:02:50 +02:00
Robert Jördens 3165c680d6 dma: don't swap buffers
* 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`
2021-05-24 20:56:11 +02:00
Ryan Summers 731513722f Updating after testing 2021-05-17 18:33:43 +02:00
Ryan Summers 21ca8e1c8f Adding initial streaming implementation 2021-05-17 12:43:04 +02:00
Robert Jördens b3c7a450f5 deps: adjust mcp23017 git after merging 2021-05-17 09:29:43 +02:00
Robert Jördens 75a38dfba9 deps: add rationales for git dependencies 2021-05-14 17:36:47 +02:00
Robert Jördens 4d5f1ab5e9 itcm: implement in rust and execute during setup() 2021-05-14 17:23:38 +02:00
Robert Jördens bd8b3cd6f3 Merge remote-tracking branch 'origin/master' into rj/itcm
* origin/master:
  deps: fix rtt-logger->rtt-target, cleanup, bump cortex-m
  build(deps): bump embedded-hal from 0.2.4 to 0.2.5
  Bump rtt-target from 0.2.2 to 0.3.1
  Bump serde from 1.0.125 to 1.0.126
  remove unused dependencies
  remove unused dependencies
2021-05-14 08:18:33 +02:00
Robert Jördens b9cee6345a deps: fix rtt-logger->rtt-target, cleanup, bump cortex-m 2021-05-14 07:16:47 +02:00
dependabot[bot] 012c4fe375
build(deps): bump embedded-hal from 0.2.4 to 0.2.5
Bumps [embedded-hal](https://github.com/rust-embedded/embedded-hal) from 0.2.4 to 0.2.5.
- [Release notes](https://github.com/rust-embedded/embedded-hal/releases)
- [Changelog](https://github.com/rust-embedded/embedded-hal/blob/v0.2.5/CHANGELOG.md)
- [Commits](https://github.com/rust-embedded/embedded-hal/compare/v0.2.4...v0.2.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-13 17:15:34 +00:00
dependabot[bot] d8469cac92
Bump rtt-target from 0.2.2 to 0.3.1
Bumps [rtt-target](https://github.com/mvirkkunen/rtt-target) from 0.2.2 to 0.3.1.
- [Release notes](https://github.com/mvirkkunen/rtt-target/releases)
- [Commits](https://github.com/mvirkkunen/rtt-target/compare/v0.2.2...v0.3.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-13 16:53:07 +00:00
Robert Jördens 5d37963ec2 Merge remote-tracking branch 'origin/master' into rj/log
* origin/master:
  remove unused dependencies
  remove unused dependencies
2021-05-13 18:27:11 +02:00
Robert Jördens 8eef23da6b Merge branch 'rj/log' into rj/itcm
* rj/log:
  refine panic handler and add some logging info
  hitl: kill probe-run cleanly
  set target-cpu=cortex-m7, MSRV 1.52.0, use probe-run
  README: document lockin, cleanup instructions, use probe-run
  CHANGELOG: update
  README: streamline docs a bit, add probe-run
  update hitl script
  remove rtt feature
  use rtt logging
  dsp/lowpass,lockin: const generics
2021-05-13 15:20:20 +02:00
Robert Jördens 401e1b0681 remove rtt feature 2021-05-13 11:14:03 +02:00
Robert Jördens 5b616a2874 use rtt logging 2021-05-13 10:55:43 +02:00