Commit Graph

428 Commits

Author SHA1 Message Date
6e1444f070
Merge pull request #247 from quartiq/dsp-iir-benches
Dsp iir benches
2021-01-31 19:24:56 +01:00
8dc811da11
Merge pull request #240 from vertigo-designs/feature/lockin-app-refactor
Adding internal lock-in integration demo
2021-01-31 19:14:08 +01:00
47089c267c dsp: align iir and iir_int, add iir micro benches 2021-01-31 19:12:24 +01:00
80055076b8 lockin: scale output 2021-01-31 17:41:20 +01:00
82c8fa1a07 rpll: extend tests 2021-01-31 17:10:03 +01:00
ab20d67a07 rpll: remove redundant time tracking 2021-01-31 13:42:15 +01:00
096f786795 Expanding miniconf to lockin 2021-01-30 18:57:06 +01:00
411a847a88 Updating smoltcp-nal 2021-01-30 18:48:27 +01:00
0d1b237202 complex: richer API 2021-01-30 18:05:54 +01:00
9a1bb5da91 Fixing build 2021-01-30 15:07:26 +01:00
b73286c188 Removing MQTT interface 2021-01-30 15:00:58 +01:00
e954ba3c52 Merge branch 'master' into feature/mqtt-convert 2021-01-30 14:48:54 +01:00
8b46c3c768 Updating internal lockin demo 2021-01-29 18:55:54 +01:00
b152343aaf Style 2021-01-29 11:05:46 +01:00
ab7d725235 Updating lockin demo after testing 2021-01-29 11:01:21 +01:00
1ebbe0f6d7 Cleaning up demo 2021-01-29 10:11:56 +01:00
cf8b06be81 Merge branch 'master' into feature/lockin-app-refactor 2021-01-29 10:06:45 +01:00
Ryan Summers
c628b8d57a
Update src/bin/lockin-internal-demo.rs
Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-01-29 09:55:23 +01:00
c34e330663 lockin: fmt 2021-01-28 23:00:55 +01:00
36288225b3 rpll: extend to above-nyquist frequencies 2021-01-28 22:21:42 +01:00
702ccc231d Using custom branch of miniconf 2021-01-27 18:15:35 +01:00
1749d48ca3 Revert "rpll: auto-align counter"
This reverts commit dbacc5293e12f712fef7bd85848e1b0bd8fde823.
2021-01-27 09:01:07 +01:00
45e7d6de3c rpll: auto-align counter 2021-01-27 09:01:07 +01:00
a772ccc38a Adding WIP updates for StringSet 2021-01-26 19:14:23 +01:00
7b9fc3b2b3 iir_int: move lowpass coefficient calculation to iirstate 2021-01-26 18:51:20 +01:00
ea7b08fc64 rpll: refine 2021-01-26 14:40:44 +01:00
f0e7c153ba Adding WIP refactor for MQTT + settings 2021-01-26 14:28:06 +01:00
Ryan Summers
c030b97714
Apply suggestions from code review
Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-01-26 12:49:45 +01:00
51085d175e Removing dead-code allowance 2021-01-26 12:23:17 +01:00
e161f49822 Adding WIP lockin demo 2021-01-26 12:21:44 +01:00
43ff186bc6 Merge branch 'master' into feature/lockin-app-refactor 2021-01-26 10:53:25 +01:00
7c5a74c35e Renaming internal lockin 2021-01-26 10:52:35 +01:00
9f9744b9e6 rpll: implement 2021-01-25 11:45:59 +01:00
df337f85b8 reciprocal_pll -> rpll 2021-01-25 09:54:56 +01:00
57a5c4ff9b make lockin a unittest, not integration test 2021-01-22 16:04:02 +01:00
d0d2c6352d lockin: refactor to use common lockin processing 2021-01-22 16:00:05 +01:00
0cd2140668 rafactor complex, cossin, atan2 2021-01-21 16:12:59 +01:00
948e58c910 lockin: refactor Lockin 2021-01-21 14:57:44 +01:00
5af2b9c63a fmt 2021-01-20 15:34:56 +01:00
c078de05cc lockin: fix adc value conversion 2021-01-20 15:31:46 +01:00
d014ed0fe0 add lockin bin 2021-01-20 14:29:29 +01:00
603d6df6a4 Merge branch 'master' into lockin-bin
* master:
  Reordering lib.rs
  Removing main.rs
  Adding support for multiple applications
  Fixing build
  Moving panic configuration
  Reordering
  Refactoring to support multiple apps
2021-01-20 14:19:28 +01:00
507e334ec5 lockin: tweak impl 2021-01-20 14:07:57 +01:00
4d0b1b5566 Reordering lib.rs 2021-01-20 13:44:53 +01:00
86355c9c5d Removing main.rs 2021-01-20 13:44:16 +01:00
26677063ea Adding support for multiple applications 2021-01-20 13:43:34 +01:00
2ef27b8187 Formatting 2021-01-20 12:55:55 +01:00
b2cbc6791d Restructuring 2021-01-20 12:55:45 +01:00
f1f15aca65 Refactoring app structure 2021-01-20 12:49:07 +01:00
a715680482 Merge branch 'master' into feature/lockin-app-refactor 2021-01-20 12:36:20 +01:00
778f4ac4d5 lockin: wrapping_neg 2021-01-19 11:30:12 +01:00
720b143132 Merge remote-tracking branch 'origin/master' into lockin-bin
* origin/master:
  Updating timer compare offsets
  Removing dac isr clear
  Adding information about DSP timing specifications
  Specifying consequences of failing to meet timing
  Updating dependencies
  Apply suggestions from code review
  Adding documentation about double-buffered mode to DACs
  Updating DACs to utilize DBM
  Adding safety documentation
  Adding docs
  Updating DAC output format, adding DDS stream docs
  Adding documentation for ADCs and DACs
2021-01-19 11:12:50 +01:00
20488ea3bc lockin: refine 2021-01-19 11:01:21 +01:00
ac06f811ab Adding framework for initial lockin demo 2021-01-18 18:02:00 +01:00
573189bdd9 Fixing build 2021-01-18 17:23:21 +01:00
9d90d7b0d2 Adding WIP apps 2021-01-18 17:20:33 +01:00
6618e921fe Moving panic configuration 2021-01-18 16:55:56 +01:00
8dd72ae75e Reordering 2021-01-18 16:52:09 +01:00
20535a721d Refactoring to support multiple apps 2021-01-18 16:47:47 +01:00
7a2f950667 Updating timer compare offsets 2021-01-18 13:41:23 +01:00
598a48b178 Merge branch 'master' into feature/io-docs 2021-01-18 13:25:03 +01:00
Matt Huszagh
f0eb58dfb2 swap sin and cos for demodulation
The in-phase component should be multiplied by the sin value and the
quadrature component should be multiplied by the cos value.
2021-01-14 14:51:07 -08:00
Matt Huszagh
9d0aa40ce8 Revert "revert changes in main.rs and server.rs"
This reverts commit e599977983.
2021-01-13 09:54:04 -08:00
Matt Huszagh
e599977983 revert changes in main.rs and server.rs 2021-01-13 08:59:27 -08:00
Matt Huszagh
76088efda5 dsp: add reciprocal_pll 2021-01-13 08:37:33 -08:00
Matt Huszagh
6aad92af43 fix bug in which real signal component is assigned twice 2021-01-12 18:36:18 -08:00
Matt Huszagh
07b7201b49 fix cargo fmt style 2021-01-12 17:26:42 -08:00
Matt Huszagh
a0d472b398 use only integer iir 2021-01-12 17:21:55 -08:00
Matt Huszagh
f974f4099c remove TODO note relating ADC_BATCHES and calculate_timestamp_timer_period
Having both is not really redundant.
2021-01-12 16:17:58 -08:00
Matt Huszagh
80ed715f5a shift sin/cos before demodulation product to avoid i64 2021-01-12 16:07:04 -08:00
Matt Huszagh
41ea2ebed4 use round up half integer rounding 2021-01-12 15:59:03 -08:00
Matt Huszagh
4c033c0f3e move timestamp handling into new TimestampHandler struct 2021-01-12 13:06:49 -08:00
Matt Huszagh
e14aa8b613 move lock-in code to main.rs 2021-01-12 10:45:34 -08:00
Matt Huszagh
028f4a1bb2 fix small typos 2021-01-12 07:36:56 -08:00
Ryan Summers
db3a42a7b9
Update src/adc.rs
Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-01-12 06:54:16 -08:00
bcf7a59993 Removing dac isr clear 2021-01-12 14:15:45 +01:00
09ecd3291a Merge branch 'rs/issue-219/adc-setup' into feature/io-docs 2021-01-12 14:02:19 +01:00
6b170c25ed Fixing timing synchronization 2021-01-12 13:29:15 +01:00
91975993cf Fixing docs 2021-01-11 12:38:20 +01:00
d5c21efc9d Adding extra DMA transfer to clear TXTF in ADC SPI transfers 2021-01-11 12:31:15 +01:00
5eab732d93 Adding information about DSP timing specifications 2021-01-06 15:38:04 +01:00
56366a013f Specifying consequences of failing to meet timing 2021-01-06 15:34:12 +01:00
4b3ceb0c0b Merge branch 'feature/io-docs' of github.com:vertigo-designs/stabilizer into feature/io-docs 2021-01-06 15:12:25 +01:00
eefb2acfda Updating dependencies 2021-01-06 15:12:03 +01:00
cd4721b506 Merge branch 'master' into feature/io-docs 2021-01-06 15:10:30 +01:00
Ryan Summers
f825f52785
Apply suggestions from code review
Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-01-06 06:08:07 -08:00
18068082ac Fixing CI 2021-01-06 15:04:06 +01:00
e9cef7bbac Fixing after review 2021-01-06 14:59:01 +01:00
8a98428ed4 Adding documentation 2021-01-06 14:42:36 +01:00
37595405c3 Merge branch 'feature/digital-input-stamp' into feature/pounder-timestamping 2021-01-06 13:34:55 +01:00
da34756df7 Adding support for pounder v1.1 2021-01-06 13:29:19 +01:00
3332a8e927 Updating branch dependencies 2021-01-06 12:59:24 +01:00
9e7bfd4371 Adding updates after review 2021-01-06 12:24:09 +01:00
2b6e6f59a4 Adding comment about sample rate 2021-01-04 18:09:16 +01:00
7ecd08d86b More updates after PR review 2021-01-04 18:04:01 +01:00
67b6990fc0 Addressing PR review 2021-01-04 17:12:24 +01:00
ee8f4d849f Adding documentation about double-buffered mode to DACs 2020-12-17 14:32:53 +01:00
fb1ea765ce Updating DACs to utilize DBM 2020-12-17 14:27:47 +01:00
ec2aaecb48 Adding safety documentation 2020-12-17 14:11:28 +01:00
8fb37c2db9 Adding docs 2020-12-17 14:10:36 +01:00
438b291974 Updating DAC output format, adding DDS stream docs 2020-12-17 14:09:18 +01:00
8e4a7c8fa9 Adding documentation for ADCs and DACs 2020-12-15 16:46:12 +01:00
fc81f3d55d Removing DMA support from DI0 timestamping 2020-12-15 14:34:14 +01:00
352884ea06 Fixing pounder timestamps after manual testing 2020-12-15 13:13:05 +01:00
72d14adfbf Adding support for pounder ETR timestamping 2020-12-09 18:19:33 +01:00
e9d74ae6da Adding support for pounder DDS timestamping 2020-12-09 15:13:04 +01:00
f8cab17ffc Adding WIP for pounder timestamps 2020-12-09 13:44:26 +01:00
2e0681ebcc Fixing power-of-two calculation 2020-12-08 16:38:07 +01:00
645a1cd832 Updating timestamper after testing 2020-12-08 16:14:27 +01:00
Ryan Summers
3886dab961
Update src/digital_input_stamper.rs
Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-12-08 15:15:58 +01:00
Ryan Summers
4da892b8a2
Update src/digital_input_stamper.rs
Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-12-08 15:15:51 +01:00
1a1d8fd8b9 Adding precise control of timer periods and prescalers 2020-12-08 14:25:46 +01:00
a134340726 Adding direct and DMA collection support for DI0 timestamps 2020-12-08 13:53:34 +01:00
f2e4f497fa Removing DBM from input stamper 2020-12-08 11:29:59 +01:00
c00ac46c2c Merge branch 'master' into feature/qspi-stream 2020-12-07 18:51:32 +01:00
35b4287fe1 Merge branch 'feature/qspi-stream' into feature/digital-input-stamp 2020-12-07 18:49:35 +01:00
551cc5d742 Adding support for DBM 2020-12-07 18:44:45 +01:00
6eaf2cc073 Updating timestamp buffer logic 2020-12-07 18:19:20 +01:00
b191a3f01d Updating timestamp timer to be more precise 2020-12-07 18:11:46 +01:00
ec046bc42d Refactoring timer timestamping 2020-12-07 17:58:36 +01:00
fc81c8b5d8 Updating API 2020-12-07 17:29:36 +01:00
93ab3b7dfd Merge branch 'master' into feature/digital-input-stamp 2020-12-07 16:12:55 +01:00
14a647867a Updating after review 2020-12-07 10:55:09 +01:00
4f8bdb971b
main.rs: style 2020-12-04 18:22:53 +01:00
b23d5fa0dc
main.rs: whitespace 2020-12-04 18:22:38 +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
f4a4357396 Fixing semantics 2020-12-02 18:08:49 +01:00
677d017c3c Adding documentation 2020-12-02 17:40:24 +01:00
91f722f450 Fixing buffer size 2020-12-02 17:11:06 +01:00
d3bb5ab0e4 Merge branch 'master' into feature/qspi-stream 2020-12-02 17:08:33 +01:00
d93d0c7125 Adding updated QSPI stream writer 2020-12-02 17:01:40 +01: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
01a169ca69 Merge branch 'master' into feature/qspi-stream 2020-12-02 14:13:53 +01: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
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
8cf380a488 dac/adc: doc cleanup [nfc] 2020-11-26 14:40:24 +01:00
468929690d iir: vminnm/vmaxnm 2020-11-26 14:26:44 +01: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
38dfd48c14 iir: fix comment [nfc] 2020-11-25 17:57:24 +01: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