Commit Graph

215 Commits

Author SHA1 Message Date
Ryan Summers 8a143a3f58 Adding stream format, updating header format 2021-07-23 15:08:07 +02:00
Ryan Summers 6c87db3778 Updating comments 2021-07-23 14:12:59 +02:00
Ryan Summers 9b3bb62811 Adding WIP refactored streaming API 2021-07-22 14:45:58 +02:00
Ryan Summers 1c32695a49 Fixing math 2021-07-19 14:37:34 +02:00
Ryan Summers 1c605623c2 fixing clippy 2021-07-19 13:30:12 +02:00
Ryan Summers 19bcc87c7f Adding error message 2021-07-19 13:05:15 +02:00
Ryan Summers e1cfeff65f Updating config to reject out-of-bounds amplitudes 2021-07-19 13:01:31 +02:00
Ryan Summers 2f6e2a5ef5 Simplifying calculation for signals 2021-07-19 12:46:06 +02:00
Ryan Summers 6d8273ec42 Merge branch 'master' into feature/scan-mode 2021-07-19 11:55:18 +02:00
Ryan Summers b319fe2c6b Refactoring signal generation to utilize static tuning words 2021-07-16 12:55:11 +02:00
Ryan Summers f1947db6c9 Squashing manual changes 2021-07-15 13:28:19 +02:00
Ryan Summers 0884d84fea Merge branch 'feature/scan-mode' of github.com:quartiq/stabilizer into feature/scan-mode 2021-06-29 13:24:03 +02:00
Ryan Summers 386259bf6a Updating after review 2021-06-29 13:23:42 +02:00
Ryan Summers d911622645
Merge branch 'master' into feature/scan-mode 2021-06-28 15:02:25 +02:00
Ryan Summers 24c0075b7a Adding signal generator refactor 2021-06-28 14:11:52 +02:00
Ryan Summers 68859c387a Adding initial working proof of concept 2021-06-28 13:40:59 +02:00
Ryan Summers 9cca1497b7 Adding signal generator control to dual-iir 2021-06-28 13:16:54 +02:00
Robert Jördens 0a162a8096 use mutex-trait instead of flatten_closures 2021-06-24 11:03:54 +00:00
Ryan Summers 986e7cc457 Adding initial take at scan mode signal generation 2021-06-21 16:59:38 +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 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
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
Robert Jördens d84c79af2e apps: spi isrs are spi errors 2021-06-04 10:50:09 +02:00
Robert Jördens 93081c25c2 refactor flatten_closures 2021-06-01 17:55:42 +02:00
Robert Jördens f8fa297b20 lockin: dma fence 2021-06-01 14:49:51 +02:00
Robert Jördens b90f4ad185 lockin: port to fast double buffered DMA 2021-06-01 13:17:40 +02:00
Robert Jördens c5a2704c41 dma: implement overflow checking 2021-06-01 13:11:16 +02:00
Robert Jördens 73187ba053 Merge branch 'master' into rj/fast-dbm
* master:
  adapt to new heapless/serde-json-core after const-generics
  Bump serde-json-core from 0.3.0 to 0.4.0
  build(deps): bump heapless from 0.6.1 to 0.7.1
  setup: cleanup
  itcm: add some comments, make it safe
  build(deps): bump ndarray from 0.15.1 to 0.15.2
  Updating dependencies
  Updating the embedded-nal
  Removing spurious settings updates
  deps: add rationales for git dependencies
  itcm: implement in rust and execute during setup()
  remove duplicate linker option
  gha: install gcc
  fmt
  dependencies: align with master
  bump cortex-m-rt to 0.6.13+git
  memory.x: remove comment about old cortex-m-rt
  enable itcm/dtcm explicitly
  load process into itcm
2021-06-01 12:52:05 +02:00
Ryan Summers 14bfbbe2a1 Refactoring link status polling 2021-05-31 14:28:57 +02:00
Robert Jördens 8ccc2f2275 Merge branch 'master' into rj/visibility-cleanup
* master:
  adapt to new heapless/serde-json-core after const-generics
  Bump serde-json-core from 0.3.0 to 0.4.0
  build(deps): bump heapless from 0.6.1 to 0.7.1
  setup: cleanup
  itcm: add some comments, make it safe
  build(deps): bump ndarray from 0.15.1 to 0.15.2
  Updating dependencies
  Updating the embedded-nal
  deps: add rationales for git dependencies
  itcm: implement in rust and execute during setup()
  remove duplicate linker option
  gha: install gcc
  fmt
  dependencies: align with master
  bump cortex-m-rt to 0.6.13+git
  memory.x: remove comment about old cortex-m-rt
  enable itcm/dtcm explicitly
  load process into itcm
2021-05-28 21:50:53 +02:00
Ryan Summers 2edbcf1c92 Merge branch 'master' into feature/livestream 2021-05-28 19:01:24 +02:00
Robert Jördens 441c81d135
Merge branch 'master' into rj/itcm 2021-05-27 18:22:22 +02:00
Robert Jördens 316dbb3d2e dual-iir: fmt 2021-05-26 17:59:30 +02:00
Ryan Summers 2dd1bb9ebf Adding WIP livestreaming implementation 2021-05-26 17:56:44 +02:00
Ryan Summers 24dd749da9 Merge branch 'master' into feature/livestream 2021-05-26 16:43:21 +02:00
Robert Jördens bf92f6209a Merge branch 'master' into rj/visibility-cleanup
* master:
  Removing spurious settings updates
2021-05-26 16:04:18 +02:00
Ryan Summers 70be4c1c19 Adding WIP changes to streaming 2021-05-26 15:02:50 +02:00
Ryan Summers 23a93e9135 Removing spurious settings updates 2021-05-26 13:05:54 +02:00
Robert Jördens c13859d486 dual-iir: add closure nesting helper macro 2021-05-25 12:05:19 +02:00
Robert Jördens 2a9657f98c dual-iir: destructure resources 2021-05-24 22:41:22 +02:00
Robert Jördens 3165c680d6 dma: don't swap buffers
* 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.

TODO:

* Test
* Adapt `lockin`
2021-05-24 20:56:11 +02:00
Robert Jördens e58e7f179e clean up item visibility
* There isn't much API that would only be used accross modules within
  stabilizer/dsp but should not be pub beyond stabilizer/dsp.
* Therefore it's easier to let the definition determine visibility and
  the mod.rs/lib.rs determine location in the namesapce.
* Blanket use pub items in mod and lib.
2021-05-17 13:01:45 +02:00