Commit Graph

172 Commits (b90f4ad18563f1577d7c383be255e9ebfa3b4277)

Author SHA1 Message Date
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
Robert Jördens 441c81d135
Merge branch 'master' into rj/itcm 2021-05-27 18:22:22 +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 8eef23da6b Merge branch 'rj/log' into rj/itcm
* rj/log:
  refine panic handler and add some logging info
  hitl: kill probe-run cleanly
  set target-cpu=cortex-m7, MSRV 1.52.0, use probe-run
  README: document lockin, cleanup instructions, use probe-run
  CHANGELOG: update
  README: streamline docs a bit, add probe-run
  update hitl script
  remove rtt feature
  use rtt logging
  dsp/lowpass,lockin: const generics
2021-05-13 15:20:20 +02:00
Robert Jördens bcdb5e3c0f dsp/lowpass,lockin: const generics 2021-05-10 17:31:53 +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 89eaefd8d5 Updating delay 2021-05-06 17:14:17 +02:00
Ryan Summers ff79e0a8ac Fixing merge 2021-05-06 17:10:38 +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
Robert Jördens 97cca486b5 lockin: merge sample_phase/frequency computation 2021-05-06 16:22:42 +02:00
Ryan Summers 80b8716be4 Finalizing merge 2021-05-06 14:40:28 +02:00
Ryan Summers 4780a97528 Fixing modulation waveform scale 2021-05-06 14:36:57 +02:00
Ryan Summers 9569df9e82 Renaming power -> magnitude 2021-05-06 14:34:09 +02:00
Ryan Summers 0bb7c1fdb0 Finalizing names 2021-05-06 14:33:22 +02:00
Ryan Summers 19dd57c6a8 Satisfying clippy 2021-05-06 13:46:55 +02:00
Ryan Summers a5c5e807b1 Fixing build 2021-05-06 13:26:02 +02:00
Ryan Summers ffc7f5f437 Removing telemetry period 2021-05-06 13:20:52 +02:00
Ryan Summers 1858257fc4 Formatting code 2021-05-06 13:18:40 +02:00
Ryan Summers e7b5334f6b Refactoring output configuration for lockin 2021-05-06 13:17:29 +02:00
Ryan Summers 19b606c385 Refactoring lockin binaries 2021-05-06 13:08:10 +02:00
Ryan Summers 8c581ea0a6 Merging lockin app functions 2021-05-06 13:02:39 +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
Ryan Summers 8144b3acf2 Updating constructors 2021-05-05 16:16:54 +02:00
Ryan Summers 4a656eedd2 Adding refactor for telemetry 2021-05-05 15:39:33 +02:00
Ryan Summers 06b328ff52 Adding WIP updates for telemetry 2021-05-05 14:42:17 +02:00
Ryan Summers 5767973548 Merge branch 'feature/mqtt-rework' into feature/telemetry 2021-05-04 18:19:38 +02:00
Ryan Summers 5c4ba78dd1 Refactoring MQTT architecture 2021-05-04 13:13:44 +02:00
Ryan Summers b35250efbf Fixing ADC/voltage conversion functions 2021-04-29 17:39:19 +02:00
Robert Jördens f0c50d9678 Merge branch 'master' into rj/itcm
* master: (70 commits)
  Updating JSON syntax
  Updating trigger
  Adding bors timeout
  dual-iir: add some mqtt parameter docs
  changelog: spelling
  update lock
  let bors handle hitl
  prepare v0.5.0 release
  Updating code after review
  Adding comment, reverting change
  Adding sleep to HITL run
  Updating ping deadline
  Reverting unintended change
  Updating dependency revision
  Renaming interface to avoid confusion
  dual-iir: use InputPin re-export, rename digital_input
  Updating dependency
  dual-iir: add enable_hold, force_hold
  fix bench
  hardware: add digital input support
  ...
2021-04-29 17:28:58 +02:00
Ryan Summers e746e2a12c Adding WIP telemetry 2021-04-29 15:55:36 +02:00
Ryan Summers f49ba30e2d Merge branch 'feature/mqtt-rework' into feature/telemetry 2021-04-29 12:26:46 +02:00
Ryan Summers 01349a39b3 Merge branch 'master' into feature/mqtt-rework 2021-04-29 11:07:00 +02:00
Robert Jördens 61dc6e340e dual-iir: add some mqtt parameter docs 2021-04-28 16:27:59 +02:00
Ryan Summers 36cc423f70 Refactoring MQTT to support telemetry 2021-04-22 15:16:33 +02:00
Ryan Summers afcf058590 Refactoring telemetry to support binaries 2021-04-20 14:12:47 +02:00
Ryan Summers 1c9f30b4d5 Merge branch 'rs/issue-276/unique-identifiers' into feature/telemetry 2021-04-20 13:46:37 +02:00
Ryan Summers 065221e89f Merge branch 'master' into rs/issue-276/unique-identifiers 2021-04-19 15:52:29 +02:00