Commit Graph

583 Commits

Author SHA1 Message Date
Robert Jördens 941a94bbf6 dsp/pll: style 2020-12-05 11:44:09 +01:00
Robert Jördens 47806a155d
Merge branch 'master' into feature/unwrap 2020-12-05 09:58:15 +01:00
Robert Jördens 2179560a3c unwrap: add phase unwrapping tools 2020-12-05 09:56:41 +01:00
Robert Jördens a7d0f8d774
Merge pull request #177 from matthuszagh/lockin-2
Lock-in
2020-12-05 08:16:25 +01:00
Robert Jördens 628845d356 pll: rename to just PLL 2020-12-05 08:12:07 +01:00
Robert Jördens 0072cda85f pll: add convergence test 2020-12-04 23:13:22 +01:00
bors[bot] e87376314f
Merge #187
187: Added cascaded IIR with server commands for up to 2 cascaded IIRs per… r=jordens a=nkuh

… channel.

Note: If the number of cascaded IIRs is set to 1 the still existent server commands for the unused 2nd cascade level will be aliases for the 1st level. 

Co-authored-by: Niklas Kuhrmeyer <niklas.kuhrmeyer@ptb.de>
Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-12-04 18:21:54 +00:00
Robert Jördens 4f8bdb971b
main.rs: style 2020-12-04 18:22:53 +01:00
Robert Jördens b23d5fa0dc
main.rs: whitespace 2020-12-04 18:22:38 +01:00
Matt Huszagh 43a760e57a dsp testing: improve api for tolerance checking 2020-12-04 09:16:10 -08:00
Matt Huszagh 1b02f558f6 CI: specify test location using --package dsp 2020-12-04 09:16:10 -08:00
Matt Huszagh 55e7f1f0db dsp: fix small comment grammar error 2020-12-04 09:16:10 -08:00
Matt Huszagh 0cca4589fd lockin: compute reference period from the closest 2 timestamps to the ADC sample 2020-12-04 09:16:10 -08:00
Matt Huszagh 277a5d2d81 dsp: move common test code to testing.rs file 2020-12-04 09:16:09 -08:00
Matt Huszagh 260206e4f0 dsp: implement Complex as type alias for tuple 2020-12-04 09:15:33 -08:00
Matt Huszagh d1b7efad48 dsp: replace in_phase and quadrature with Complex 2020-12-04 09:15:13 -08:00
Matt Huszagh fcdfcb0be7 lockin: use single iir instance for both in-phase and quadrature signals 2020-12-04 09:14:39 -08:00
Matt Huszagh 785c98f93d lockin: remove TIMESTAMP_BUFFER_SIZE constant 2020-12-04 09:14:39 -08:00
Matt Huszagh 90ef9f1e6a lockin: borrow adc samples and timestamps as slices 2020-12-04 09:14:39 -08:00
Matt Huszagh f259d6cf65 lockin: minor variable name changes 2020-12-04 09:14:39 -08:00
Matt Huszagh 9592bb74a7 lockin: change zip order in decimate for clarity 2020-12-04 09:14:39 -08:00
Matt Huszagh 4edda09d86 lockin: change demodulate to return result instead of option 2020-12-04 09:14:39 -08:00
Matt Huszagh da4430e912 lockin: add documentation explaining timestamp decrement 2020-12-04 09:14:39 -08:00
Matt Huszagh 3c4e83bf0f lockin: move fifo trait before use
This clarifies what it means to "push" to an array.
2020-12-04 09:14:39 -08:00
Matt Huszagh 8806feb423 lockin_low_pass: compute magnitude noise analytically 2020-12-04 09:14:39 -08:00
Matt Huszagh 8ae20009d7 add lock-in low-pass integration tests 2020-12-04 09:14:39 -08:00
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
Robert Jördens 644d85c115 pll: init 2020-12-04 10:53:36 +01:00
Niklas Kuhrmeyer 24222821b5 Added cascaded IIR with server commands for up to 2 cascaded IIRs per channel. 2020-12-03 14:10:28 +01:00
Ryan Summers f4a4357396 Fixing semantics 2020-12-02 18:08:49 +01:00
Ryan Summers 677d017c3c Adding documentation 2020-12-02 17:40:24 +01:00
Ryan Summers 91f722f450 Fixing buffer size 2020-12-02 17:11:06 +01:00
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