Commit Graph

1330 Commits

Author SHA1 Message Date
bors[bot] 1ca3c62475
Merge #392
392: use mutex-trait instead of flatten_closures r=jordens a=jordens

To have less code to maintain and clean up the API a bit.

* [x] tested on multiple applications (dual-iir, fls)

Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-06-24 12:44:46 +00:00
Robert Jördens 0a162a8096 use mutex-trait instead of flatten_closures 2021-06-24 11:03:54 +00:00
bors[bot] b7e2a3dbca
Merge #391
391: setup: use a best-effort lock for rprintln r=ryan-summers a=jordens

close #382

* [x] tested with very long log messages that would otherwise cause the DMA deadline to be missed. (use cargo-embed git to make it work with stlink v3)


Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-06-24 08:49:36 +00:00
Robert Jördens 2c5afe959b spelling, naming 2021-06-24 10:21:32 +02:00
Robert Jördens a3dd760aba setup: use a best-effort lock for rprintln
close #382
2021-06-24 10:16:31 +02:00
bors[bot] c935f97752
Merge #390
390: lowpass: make it work for k=0 r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-06-23 06:57:53 +00:00
Robert Jördens 0253214810 lowpass: make it work for k=0 2021-06-22 22:53:51 +02:00
bors[bot] 901d625764
Merge #389
389: saturating_scale: add test r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-06-22 09:05:50 +00:00
bors[bot] 8c9842f3cf
Merge #380
380: Adding data livestream capability r=ryan-summers a=ryan-summers

This PR implements livestream capability for ADC and DAC samples. The current implementation provides a static configuration.

**TODO**
- [x] Clean up documentation
- [x] Implement streaming for `lockin` app
- [x] Test new block-packetization scheme
- [x] Add reference python stream receiver
- [x] Merge #381 first

Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>
2021-06-22 08:00:59 +00:00
Ryan Summers 7a71c05316
Merge branch 'master' into feature/livestream 2021-06-22 10:00:37 +02:00
Ryan Summers 54fef888aa
Merge pull request #387 from quartiq/feature/flash-update
Cargo-flash for HITL runner
2021-06-22 10:00:14 +02:00
Ryan Summers 044d51d184 Utilize cargo-flash 2021-06-22 09:52:56 +02:00
Ryan Summers 80ded1005b Updating runner to utilize cargo-embed 2021-06-22 09:42:03 +02:00
Ryan Summers 9d34e755d8 Fixing UDP reopening bug 2021-06-21 13:18:36 +02:00
Ryan Summers 507f1f2b6c Reverting hitl change 2021-06-15 14:50:55 +02:00
Ryan Summers 40a49bc8d8 Updating HITL script to ignore failed kill step 2021-06-15 14:26:27 +02:00
Ryan Summers 260b0c7767 Updating comments 2021-06-15 14:19:28 +02:00
Ryan Summers d81e0c9323
Merge branch 'master' into feature/livestream 2021-06-15 14:15:16 +02:00
Ryan Summers 22381ee703
Merge pull request #381 from quartiq/feature/hal-update
Updating to HAL mainline
2021-06-15 14:14:57 +02:00
Ryan Summers 3cdef581b8 Removing interword-idle-delay 2021-06-15 14:10:15 +02:00
Ryan Summers c622a05f8f Updating TOML comment 2021-06-15 13:56:17 +02:00
Ryan Summers 99114e3c9c Fixing clippy 2021-06-15 13:49:06 +02:00
Ryan Summers 7294a69b66 Fixing clippy 2021-06-15 13:46:39 +02:00
Ryan Summers 9e083842ee Adding streaming to lockin app 2021-06-15 13:22:38 +02:00
Ryan Summers 2815d6d9e9 Updating docs 2021-06-15 13:18:16 +02:00
Ryan Summers a54d855cbe Updating HAL tag 2021-06-15 12:54:57 +02:00
Ryan Summers 8d1f2cf9b6 Updating versions 2021-06-15 12:51:42 +02:00
Ryan Summers b912f0c387 Merge branch 'feature/hal-update' into feature/livestream 2021-06-15 12:46:41 +02:00
Ryan Summers 9e182c850b Bumping HAL version 2021-06-15 12:46:03 +02:00
Ryan Summers c96999de52 Moving ownership of hardware cs 2021-06-14 18:51:49 +02:00
Ryan Summers d6ccf1cc83 Utilize interleaved CSn 2021-06-14 18:49:46 +02:00
Ryan Summers b8c0abcea2 Updating HAL SPI usage to master version 2021-06-14 18:47:37 +02:00
Ryan Summers 5a947e459c Finalizing updates after testing 2021-06-11 17:52:11 +02:00
Ryan Summers b40ca17fea Updating stream methodology 2021-06-11 16:36:19 +02:00
Robert Jördens 45bbfe186f saturating_scale: add test 2021-06-10 10:24:43 +02:00
Ryan Summers b9284451e4 Fixing format 2021-06-09 15:31:00 +02:00
Ryan Summers 9bc351109c Reverting unintended changes 2021-06-09 15:30:33 +02:00
Ryan Summers 92c84a6bfe Allowing target to be runtime configurable 2021-06-09 15:25:59 +02:00
Ryan Summers b5fdb31a02 Adding internal buffering to data stream blocks 2021-06-09 13:26:41 +02:00
Ryan Summers b292cf45ab Fixing merge 2021-06-09 12:52:13 +02:00
Ryan Summers e01d430e8e Merge branch 'master' into feature/livestream 2021-06-09 12:46:56 +02:00
bors[bot] b0052128e0
Merge #378
378: deps: bump indirect dependencies r=jordens a=jordens



Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-06-05 13:35:50 +00:00
Robert Jördens a3c2d8a6d4 deps: bump indirect dependencies 2021-06-04 22:32:32 +02:00
bors[bot] 57524c7740
Merge #362
362: rj/visibility cleanup r=jordens a=jordens

- dsp: reduce num dependency
- clean up item visibility


Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-06-04 15:32:57 +00:00
Robert Jördens f514205f8d stabilizer: don't flatten namespace, renames 2021-06-04 17:02:09 +02:00
Robert Jördens f60827e59a lockin: remove SPI error ISR
Let them be handled by HardFault here.
Keep them in dual-iir for debugging and show-casing their usage.
2021-06-04 12:00:15 +02:00
Robert Jördens 50ea2f360c Merge branch 'master' into rj/visibility-cleanup
* master: (34 commits)
  miniconf: update example usage
  apps: spi isrs are spi errors
  pounder/timestamp: docs updatew
  pll: update tests and benches
  pll: merge advance into update (like rpll)
  pll: add advance()
  pounder_timestamper: use input capture prescaler
  Revert "Revert "pounder timestmper: don't use DMA""
  miniconf: add some checks, simplify
  miniconf.py: make retain an option
  refactor flatten_closures
  clippy recursion
  fix a few clippy lints on files that are touched
  Revert "pounder timestmper: don't use DMA"
  pounder timestmper: don't use DMA
  lockin: dma fence
  lockin: port to fast double buffered DMA
  dma: implement overflow checking
  pounder: clippy
  pounder: add comment on channel enum
  ...
2021-06-04 11:59:54 +02:00
bors[bot] 387e9f12b8
Merge #374
374: rj/miniconf r=jordens a=jordens

- miniconf.py: make retain an option
- miniconf: add some checks, simplify


Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-06-04 09:06:30 +00:00
Robert Jördens 77ae4363fd miniconf: update example usage 2021-06-04 11:05:49 +02:00
bors[bot] 5e2c2c8f30
Merge #367
367: dma: don't swap buffers r=jordens a=jordens

* 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.
* Reduced pounder capture rate to the batch rate using the prescaler.
* Removes the Pounder Timestamper DMA (close #260)

TODO:

* [x] Tested that dual-iir still works
* [x] Tested that DMA overflows are signaled as panics (batch size 1 at full rate)
* [x] Adapt `lockin`
* [x] Tested on FLS without pounder timestamp DMA.

Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-06-04 08:57:32 +00:00