Commit Graph

113 Commits (e1cfeff65f747bc78eeff2af7bfad5c51572e5ff)

Author SHA1 Message Date
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 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 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 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 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
Ryan Summers 21ca8e1c8f Adding initial streaming implementation 2021-05-17 12:43:04 +02:00
Robert Jördens 66184ca089 Merge remote-tracking branch 'origin/master' into rj/itcm
* origin/master: (34 commits)
  Simplifying unit conversions
  Cleaning up conversion + comments
  Addressing review feedback
  Update src/hardware/dac.rs
  Renaming AdcSample -> AdcCode
  Updating float conversion
  Adding adc/dac code conversion utilities
  Simplifying settings lock
  Updating after review
  Updating delay
  Fixing merge
  Formatting
  Updating dependencies
  Fixing clippy
  Finalizing merge
  Merging lockin app functions
  Fixing system timer
  Fixing build, formatting
  Adding documentation
  Renaming files
  ...
2021-05-10 17:00:57 +02:00
Robert Jördens bd491cf584
Merge branch 'master' into rj/itcm 2021-05-10 12:09:01 +02:00
Ryan Summers fa886d2eac Cleaning up conversion + comments 2021-05-10 11:10:26 +02:00
Ryan Summers 60b1b112b1 Renaming AdcSample -> AdcCode 2021-05-07 14:11:25 +02:00
Ryan Summers b73a4d9e59 Adding adc/dac code conversion utilities 2021-05-07 13:50:34 +02:00
Ryan Summers d68fa87fec Simplifying settings lock 2021-05-07 13:04:25 +02:00
Ryan Summers 7b76b1f14c Updating after review 2021-05-07 13:02:14 +02:00
Ryan Summers e07f0a4e2a Formatting 2021-05-06 16:37:36 +02:00
Ryan Summers 03adb72aab Fixing clippy 2021-05-06 16:23:41 +02:00
Ryan Summers 4cbc826f00 Adding documentation 2021-05-06 12:33:07 +02:00
Ryan Summers 0c6935587e Adding updated telemetry implementation 2021-05-05 16:46:53 +02:00