Commit Graph

948 Commits

Author SHA1 Message Date
Ryan Summers d3bb5ab0e4 Merge branch 'master' into feature/qspi-stream 2020-12-02 17:08:33 +01:00
Ryan Summers d93d0c7125 Adding updated QSPI stream writer 2020-12-02 17:01:40 +01:00
bors[bot] 051715ea32
Merge #180
180: Feature/adc dac io macros r=jordens a=jordens

I wanted to try macros.
This moves the ADC and DAC DMA setup into macros reducing code footprint. Hopefully no functional changes there.
I didn't test this on hardware and I may have missed differences between `Adc0`/`Adc1` and `Dac0`/`Dac1`.

It removes the `AdcInputs` and `DacOutputs` structs and replaces them with tuples as they were just fan-outs/fan-ins.
It also does some minor tweaks in the `process()` ISR towards higher flexibility enforces some data patterns to help the compiler.

Differences missing:
* [x] `.transfer_complete_interrupt(true)` for `Adc1` only: needed
* [x] `.circular_buffer(true);` for `Dac1` only: close #183 

Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-12-02 13:57:50 +00:00
Robert Jördens 31fcdcc97d Merge branch 'master' into feature/adc-dac-io-macros
* master:
  cargo: add docs for target cpu/features
  iir: more generic math helpers, use core::intrinsics
  cargo fmt [nfc]
  iir: vminnm/vmaxnm
  iir: fmt [nfc]
  iir: fix comment [nfc]
  cargo-config: cm7 features
  iir: copy_within is better than rotate_right
  processing: use faster unsafe truncate
2020-12-02 14:56:52 +01:00
Ryan Summers 01a169ca69 Merge branch 'master' into feature/qspi-stream 2020-12-02 14:13:53 +01:00
bors[bot] 708e31dcb7
Merge #178
178: Feature/iir tweaks r=ryan-summers a=jordens

Some minor IIR tweaks and a couple more relevant compiler flags.

**Untested on hardware.**

Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-12-02 12:46:20 +00:00
Robert Jördens 34d59dac5d adc: merge acquire_buffer and release_buffer again 2020-11-30 15:38:23 +01:00
Robert Jördens b1301a6184 dac,adc: spelling 2020-11-30 15:06:15 +01:00
Robert Jördens c72f959933 Merge remote-tracking branch 'origin/master' into feature/adc-dac-io-macros
* origin/master:
  more nightly clippy lints
  clippy lints
  gha: clippy-check
  build(deps): bump paste from 1.0.2 to 1.0.3
  build(deps): bump panic-semihosting from 0.5.4 to 0.5.6
2020-11-30 15:03:42 +01:00
Robert Jördens 8769194166 Merge remote-tracking branch 'origin/master' into feature/iir-tweaks
* origin/master:
  more nightly clippy lints
  clippy lints
  gha: clippy-check
  build(deps): bump paste from 1.0.2 to 1.0.3
  build(deps): bump panic-semihosting from 0.5.4 to 0.5.6
2020-11-30 12:57:58 +01:00
Robert Jördens 8ef6c0679f
Merge pull request #182 from quartiq/feature/clippy-lints
clippy lints
2020-11-30 12:57:42 +01:00
Robert Jördens feb229ddd5 cargo: add docs for target cpu/features 2020-11-30 12:02:14 +01:00
Robert Jördens 74349e5d68 iir: more generic math helpers, use core::intrinsics 2020-11-27 10:36:30 +01:00
Robert Jördens 128e7dd78e more nightly clippy lints 2020-11-26 16:45:57 +01:00
Robert Jördens 7fc6f5c4ad clippy lints 2020-11-26 16:41:09 +01:00
Robert Jördens ab50f55062 adc/dac: docstrings 2020-11-26 15:42:33 +01:00
bors[bot] 6bdec8239c
Merge #181
181: gha: clippy-check r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-11-26 13:48:52 +00:00
Robert Jördens fe764a47a5 gha: clippy-check 2020-11-26 14:48:02 +01:00
Robert Jördens 8cf380a488 dac/adc: doc cleanup [nfc] 2020-11-26 14:40:24 +01:00
Robert Jördens ea3e343c39 cargo fmt [nfc] 2020-11-26 14:30:09 +01:00
Robert Jördens 468929690d iir: vminnm/vmaxnm 2020-11-26 14:26:44 +01:00
bors[bot] 9478df253c
Merge #179
179: build(deps): bump paste from 1.0.2 to 1.0.3 r=jordens a=dependabot[bot]

Bumps [paste](https://github.com/dtolnay/paste) from 1.0.2 to 1.0.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/paste/releases">paste's releases</a>.</em></p>
<blockquote>
<h2>1.0.3</h2>
<ul>
<li>Support paste inside cfg and other name-value attributes (<a href="https://github-redirect.dependabot.com/dtolnay/paste/issues/56">#56</a>, <a href="https://github-redirect.dependabot.com/dtolnay/paste/issues/57">#57</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a3e4ace709"><code>a3e4ace</code></a> Release 1.0.3</li>
<li><a href="466556ee99"><code>466556e</code></a> Resolve clippy collapsible_if lint</li>
<li><a href="97cd2b7c85"><code>97cd2b7</code></a> Restore support for rustc 1.31</li>
<li><a href="4d04c18a13"><code>4d04c18</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/paste/issues/57">#57</a> from scalexm/attr</li>
<li><a href="82e3f0346d"><code>82e3f03</code></a> Support paste in arbitrary name-value attributes</li>
<li>See full diff in <a href="https://github.com/dtolnay/paste/compare/1.0.2...1.0.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=paste&package-manager=cargo&previous-version=1.0.2&new-version=1.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)

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>
2020-11-26 13:10:19 +00:00
Robert Jördens d8c6f39d0f adc/dac: make the buffer handling more symmetric 2020-11-26 13:51:39 +01:00
Robert Jördens 754ebed50d adc: transfer complete interrupt on Adc1 2020-11-26 11:55:15 +01:00
Robert Jördens 7189830896 main: put AFEs into a tuple 2020-11-26 11:34:43 +01:00
Robert Jördens 911fb66146 main: process() code duplication a bit 2020-11-26 11:34:43 +01:00
Robert Jördens c04180635b dacs: macros 2020-11-26 11:34:43 +01:00
Robert Jördens 1906185286 adc: macro 2020-11-26 11:02:37 +01:00
dependabot[bot] de827acdc8
build(deps): bump paste from 1.0.2 to 1.0.3
Bumps [paste](https://github.com/dtolnay/paste) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/dtolnay/paste/releases)
- [Commits](https://github.com/dtolnay/paste/compare/1.0.2...1.0.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-26 04:04:37 +00:00
Robert Jördens cc64f47004 iir: fmt [nfc] 2020-11-25 18:55:07 +01:00
bors[bot] 506d59c206
Merge #169
169: build(deps): bump panic-semihosting from 0.5.4 to 0.5.6 r=jordens a=dependabot[bot]

[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

If you make any changes to it yourself then they will take precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [panic-semihosting](https://github.com/rust-embedded/cortex-m) from 0.5.4 to 0.5.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-embedded/cortex-m/blob/master/CHANGELOG.md">panic-semihosting's changelog</a>.</em></p>
<blockquote>
<h2>[v0.5.6] - 2018-08-27</h2>
<h3>Fixed</h3>
<ul>
<li>
<p>Removed duplicated symbols from binary blobs</p>
</li>
<li>
<p>The check-blobs.sh script</p>
</li>
</ul>
<h2>[v0.5.5] - 2018-08-27 - YANKED</h2>
<h3>Changed</h3>
<ul>
<li>This crate no longer depends on <code>arm-none-eabi-gcc</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="278ab0d5b9"><code>278ab0d</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/110">#110</a></li>
<li><a href="6cbe16430b"><code>6cbe164</code></a> fix check-blobs.sh</li>
<li><a href="399793b26b"><code>399793b</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/109">#109</a></li>
<li><a href="ca61baec53"><code>ca61bae</code></a> v0.5.5</li>
<li><a href="478418c0eb"><code>478418c</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-embedded/cortex-m/issues/108">#108</a></li>
<li><a href="945e2683f8"><code>945e268</code></a> test PRs</li>
<li><a href="c33d890dcb"><code>c33d890</code></a> remove build dependency on arm-none-eabi-gcc</li>
<li>See full diff in <a href="https://github.com/rust-embedded/cortex-m/compare/v0.5.4...v0.5.6">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=panic-semihosting&package-manager=cargo&previous-version=0.5.4&new-version=0.5.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)

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>
2020-11-25 17:01:26 +00:00
Robert Jördens 38dfd48c14 iir: fix comment [nfc] 2020-11-25 17:57:24 +01:00
dependabot[bot] 7e6cabe9c1
build(deps): bump panic-semihosting from 0.5.4 to 0.5.6
Bumps [panic-semihosting](https://github.com/rust-embedded/cortex-m) from 0.5.4 to 0.5.6.
- [Release notes](https://github.com/rust-embedded/cortex-m/releases)
- [Changelog](https://github.com/rust-embedded/cortex-m/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-embedded/cortex-m/compare/v0.5.4...v0.5.6)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-25 16:40:47 +00:00
Robert Jördens cf086abaed Merge remote-tracking branch 'origin/master' into fast-truncate
* origin/master:
  Adding comment about checking for flag pass completion
  Adding comments about execution hanging to transfer complete waits
  Removing default parameter settings
  Updating DAC SPI structures to own HAL SPI structure for safety guarantees
  Moving constants to a new file
  Removing copy to DAC buffers, adding in-place borrow of output buffers
  Marking AXISRAM as NOLOAD
  Refactoring timer channels to macros, adding safety notes
  Adding DMA support for DAC writes
  Adding sampling_timer file
  Adding compile-time management of TIM2 channels
  Reverting changeset
  Adding documentation
  Reverting openocd change
  Adding updated docs for adc file
  Combining ADC + DAC ISRs
  Adding WIP updates
  Formatting
  Adding ADC/DAC modules
  Adding WIP updates to using DMA
2020-11-25 17:38:03 +01:00
Robert Jördens 4c9c65bf2d cargo-config: cm7 features 2020-11-25 17:33:16 +01:00
Robert Jördens d9e4f6a052 iir: copy_within is better than rotate_right 2020-11-25 17:24:49 +01:00
Ryan Summers b0153b8e78
Merge pull request #165 from vertigo-designs/feature/dma-updates
Stabilizer asynchronous batch sampling support
2020-11-25 07:58:37 -08:00
Ryan Summers a07be010b6 Adding comment about checking for flag pass completion 2020-11-25 16:46:42 +01:00
Ryan Summers 88da225e4b Adding comments about execution hanging to transfer complete waits 2020-11-25 16:43:49 +01:00
Ryan Summers 7d13627a0c Removing default parameter settings 2020-11-25 16:30:06 +01:00
Ryan Summers d236ea94c4 Updating DAC SPI structures to own HAL SPI structure for safety guarantees 2020-11-24 17:21:14 +01:00
Ryan Summers bf8b950fe6 Moving constants to a new file 2020-11-24 17:09:36 +01:00
Ryan Summers 720e0291f5 Removing copy to DAC buffers, adding in-place borrow of output buffers 2020-11-24 16:57:36 +01:00
Ryan Summers 2b443f9334 Merge branch 'master' into feature/dma-updates 2020-11-24 16:49:11 +01:00
Ryan Summers b7c6b6d203 Marking AXISRAM as NOLOAD 2020-11-24 16:46:14 +01:00
Robert Jördens b0e0b5144f processing: use faster unsafe truncate 2020-11-24 09:27:47 +01:00
bors[bot] 769cfdfb7f
Merge #175
175: iir: document r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-11-23 14:01:23 +00:00
Ryan Summers 11e6688a14 Refactoring timer channels to macros, adding safety notes 2020-11-23 14:30:29 +01:00
Robert Jördens 6808d32e0f iir: document 2020-11-23 08:49:30 +01:00
bors[bot] c91e395d12
Merge #174
174: move iir to new dsp crate r=jordens a=matthuszagh

As mentioned [here](https://github.com/quartiq/stabilizer/pull/173#issuecomment-731751931).

Co-authored-by: Matt Huszagh <huszaghmatt@gmail.com>
2020-11-22 18:36:24 +00:00