Commit Graph

432 Commits

Author SHA1 Message Date
Matt Huszagh
85adc8b1e1 add lockin module 2020-12-04 09:14:37 -08:00
Matt Huszagh
9a83d565ae add dsp/target to gitignore 2020-12-04 09:13:58 -08:00
Matt Huszagh
b34c8bb8a1 add github CI test workflow 2020-12-04 09:13:58 -08:00
bors[bot]
4412ad28c3
Merge #188
188: pll: init r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-12-04 10:05:45 +00:00
644d85c115 pll: init 2020-12-04 10:53:36 +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
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
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
34d59dac5d adc: merge acquire_buffer and release_buffer again 2020-11-30 15:38:23 +01:00
b1301a6184 dac,adc: spelling 2020-11-30 15:06:15 +01:00
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
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
8ef6c0679f
Merge pull request #182 from quartiq/feature/clippy-lints
clippy lints
2020-11-30 12:57:42 +01:00
feb229ddd5 cargo: add docs for target cpu/features 2020-11-30 12:02:14 +01:00
74349e5d68 iir: more generic math helpers, use core::intrinsics 2020-11-27 10:36:30 +01:00
128e7dd78e more nightly clippy lints 2020-11-26 16:45:57 +01:00
7fc6f5c4ad clippy lints 2020-11-26 16:41:09 +01:00
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
fe764a47a5 gha: clippy-check 2020-11-26 14:48:02 +01:00
8cf380a488 dac/adc: doc cleanup [nfc] 2020-11-26 14:40:24 +01:00
ea3e343c39 cargo fmt [nfc] 2020-11-26 14:30:09 +01:00
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
d8c6f39d0f adc/dac: make the buffer handling more symmetric 2020-11-26 13:51:39 +01:00
754ebed50d adc: transfer complete interrupt on Adc1 2020-11-26 11:55:15 +01:00
7189830896 main: put AFEs into a tuple 2020-11-26 11:34:43 +01:00
911fb66146 main: process() code duplication a bit 2020-11-26 11:34:43 +01:00
c04180635b dacs: macros 2020-11-26 11:34:43 +01:00
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
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
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
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
4c9c65bf2d cargo-config: cm7 features 2020-11-25 17:33:16 +01:00
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
a07be010b6 Adding comment about checking for flag pass completion 2020-11-25 16:46:42 +01:00
88da225e4b Adding comments about execution hanging to transfer complete waits 2020-11-25 16:43:49 +01:00
7d13627a0c Removing default parameter settings 2020-11-25 16:30:06 +01:00
d236ea94c4 Updating DAC SPI structures to own HAL SPI structure for safety guarantees 2020-11-24 17:21:14 +01:00
bf8b950fe6 Moving constants to a new file 2020-11-24 17:09:36 +01:00
720e0291f5 Removing copy to DAC buffers, adding in-place borrow of output buffers 2020-11-24 16:57:36 +01:00
2b443f9334 Merge branch 'master' into feature/dma-updates 2020-11-24 16:49:11 +01:00
b7c6b6d203 Marking AXISRAM as NOLOAD 2020-11-24 16:46:14 +01:00
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
11e6688a14 Refactoring timer channels to macros, adding safety notes 2020-11-23 14:30:29 +01:00