Commit Graph

1365 Commits

Author SHA1 Message Date
Ryan Summers 2dd1bb9ebf Adding WIP livestreaming implementation 2021-05-26 17:56:44 +02:00
Ryan Summers 24dd749da9 Merge branch 'master' into feature/livestream 2021-05-26 16:43:21 +02:00
Robert Jördens bf92f6209a Merge branch 'master' into rj/visibility-cleanup
* master:
  Removing spurious settings updates
2021-05-26 16:04:18 +02:00
Ryan Summers 70be4c1c19 Adding WIP changes to streaming 2021-05-26 15:02:50 +02:00
bors[bot] 9c92100c6d
Merge #369
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>
2021-05-26 11:32:48 +00:00
Ryan Summers 23a93e9135 Removing spurious settings updates 2021-05-26 13:05:54 +02:00
Robert Jördens c13859d486 dual-iir: add closure nesting helper macro 2021-05-25 12:05:19 +02:00
Robert Jördens 2a9657f98c dual-iir: destructure resources 2021-05-24 22:41:22 +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
Robert Jördens e58e7f179e clean up item visibility
* 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.
2021-05-17 13:01:45 +02:00
Ryan Summers 21ca8e1c8f Adding initial streaming implementation 2021-05-17 12:43:04 +02:00
Robert Jördens 261ed12798 dsp: reduce num dependency 2021-05-17 12:32:20 +02:00
bors[bot] d8cc3c74d9
Merge #361
361: deps: adjust mcp23017 git after merging r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-05-17 07:31:34 +00: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
bors[bot] 97afdb5783
Merge #360
360: deps: fix rtt-logger->rtt-target, cleanup, bump cortex-m r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-05-14 05:17:45 +00:00
Robert Jördens b9cee6345a deps: fix rtt-logger->rtt-target, cleanup, bump cortex-m 2021-05-14 07:16:47 +02:00
bors[bot] 00a460c816
Merge #348
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>
2021-05-13 17:28:37 +00: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
bors[bot] ff9e69edf8
Merge #359
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>
2021-05-13 17:09:28 +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
bors[bot] 59721cc213
Merge #357
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>
2021-05-13 16:47:11 +00:00
dependabot[bot] 0e2eaa3d1d
Bump serde from 1.0.125 to 1.0.126
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.125 to 1.0.126.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.125...v1.0.126)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-13 16:35:43 +00:00
bors[bot] 567e877485
Merge #358
358: RTT logging, probe-run r=jordens a=jordens

- use rtt logging
- remove rtt feature
- update hitl script
- README: streamline docs a bit, add probe-run
- CHANGELOG: update
- README: document lockin, cleanup instructions, use probe-run
- set target-cpu=cortex-m7, MSRV 1.52.0, use probe-run


Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-05-13 16:29:34 +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
bors[bot] a6e030a69a
Merge #356
356: Dependency cleanup, s/enum-iterator/num-enum/ r=jordens a=jordens

* remove unused dependencies
* replace `enum-iterator` and manual matching with `num-enum`.


Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-05-13 15:33:46 +00:00
Robert Jördens ff5f3af8a4 remove duplicate linker option 2021-05-13 15:22:44 +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 18a8053cab refine panic handler and add some logging info 2021-05-13 15:18:22 +02:00
Robert Jördens 6cd5c4182a hitl: kill probe-run cleanly 2021-05-13 12:27:42 +02:00
Robert Jördens 5e5f9c92a6 set target-cpu=cortex-m7, MSRV 1.52.0, use probe-run 2021-05-13 11:58:36 +02:00
Robert Jördens ed2c048fdd README: document lockin, cleanup instructions, use probe-run 2021-05-13 11:57:56 +02:00
Robert Jördens 74b52c6420 CHANGELOG: update 2021-05-13 11:35:06 +02:00
Robert Jördens 5d73c0c164 README: streamline docs a bit, add probe-run 2021-05-13 11:34:17 +02:00
Robert Jördens 32de5506ee update hitl script 2021-05-13 11:21:41 +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
Robert Jördens 057f3dccf6 remove unused dependencies 2021-05-12 13:09:22 +02:00
Robert Jördens 31332d220e remove unused dependencies 2021-05-12 12:59:58 +02:00
bors[bot] 76b9be6d93
Merge #355
355: dsp/lowpass,lockin: const generics r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-05-10 15:53:39 +00:00
Robert Jördens bcdb5e3c0f dsp/lowpass,lockin: const generics 2021-05-10 17:31:53 +02:00
Robert Jördens 66184ca089 Merge remote-tracking branch 'origin/master' into rj/itcm
* origin/master: (34 commits)
  Simplifying unit conversions
  Cleaning up conversion + comments
  Addressing review feedback
  Update src/hardware/dac.rs
  Renaming AdcSample -> AdcCode
  Updating float conversion
  Adding adc/dac code conversion utilities
  Simplifying settings lock
  Updating after review
  Updating delay
  Fixing merge
  Formatting
  Updating dependencies
  Fixing clippy
  Finalizing merge
  Merging lockin app functions
  Fixing system timer
  Fixing build, formatting
  Adding documentation
  Renaming files
  ...
2021-05-10 17:00:57 +02:00
bors[bot] 33549793ca
Merge #341
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>
2021-05-10 11:04:53 +00:00
Robert Jördens bd491cf584
Merge branch 'master' into rj/itcm 2021-05-10 12:09:01 +02:00
Ryan Summers 81bc569f0e Simplifying unit conversions 2021-05-10 11:40:36 +02:00
Ryan Summers fa886d2eac Cleaning up conversion + comments 2021-05-10 11:10:26 +02:00
Ryan Summers 65eb74b31e Merge branch 'feature/telemetry' of github.com:quartiq/stabilizer into feature/telemetry 2021-05-10 11:07:29 +02:00