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
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
Ryan Summers
1a08634dcb
Renaming interface to avoid confusion
2021-04-19 12:17:41 +02:00
Ryan Summers
f32949ed17
Merge branch 'master' into feature/phy-reset
2021-04-19 12:10:37 +02:00
Ryan Summers
f442418f16
Merge branch 'master' into feature/telemetry
2021-04-15 15:43:40 +02:00
Ryan Summers
854f45ae15
Updating tick rates
2021-04-15 15:08:57 +02:00
Ryan Summers
330f67d3c8
Adding WIP telemetry implementation for dual-iir
2021-04-15 14:40:47 +02:00
Robert Jördens
8cc06d39c4
dual-iir: use InputPin re-export, rename digital_input
2021-04-15 13:47:10 +02:00
Robert Jördens
2bfed7b669
dual-iir: add enable_hold, force_hold
...
* Also use Settings as resource directly and copy it bulk (like
lockin-external)
2021-04-14 16:09:54 +02:00
Robert Jördens
8954c94a20
hardware: add digital input support
...
* The inputs of the buffer are not pulled up/down. That might make them
unusable if left floating.
2021-04-14 15:53:52 +02:00
Ryan Summers
033420b934
Adding custom identifier prefix calculations
2021-04-13 15:38:30 +02:00
Robert Jördens
14bae09935
load process into itcm
...
needs newer fixed cortex-m-rt 0.6.13+unreleased
relevant? https://reviews.llvm.org/D81986
2021-03-29 17:34:17 +02:00
Ryan Summers
5e448f284b
Updating net module
2021-03-24 13:48:34 +01:00
Ryan Summers
a717630c53
Adding prototype PHY reset detection
2021-03-17 20:16:39 +01:00
Ryan Summers
df2f122f84
Fixing sleep state on error
2021-03-17 14:56:31 +01:00
Ryan Summers
331e21b00a
Updating dependencies
2021-03-17 14:47:14 +01:00
Ryan Summers
4a9c2fe23a
Updating after DHCP PR review
2021-03-15 11:41:13 +01:00
Ryan Summers
c2cb9a440c
Adding initial DHCP support prototype
2021-03-04 17:26:10 +01:00
Robert Jördens
e2b54d0e53
binaries: move MQTT_ADDRESS to design_parameters
...
until some better design with DHCP and/or (m)DNS is implemented
2021-03-03 15:01:28 +01:00
Robert Jördens
ca6596c7b8
cli: rework
...
* use plain json for argument format
* rename feedback -> response to match code
* reorganize args
* tweak variable names to be more in line with miniconf and mqtt
* use `mqtt` as broker
* remove traces of stabilizer from script, rename to miniconf.py
* add usage example
* dual-iir/lockin-external: update broker address (for HITL),
change mqtt path to convention
2021-03-02 19:21:42 +01:00
Robert Jördens
1e411c1548
lockin-external: Miniconf changes
2021-03-02 17:33:53 +01:00
Robert Jördens
ca66894d51
Merge remote-tracking branch 'origin/feature/miniconf-update' into lockin-external-miniconf
...
* origin/feature/miniconf-update:
Adjusting sleep semantics
Fixing negation
Restoring sleep semantics
Updating dependencies
Updating id semantics
Updating dependencies
Updating minimq/miniconf dependencies
Updating miniconf dependencies
2021-03-02 17:24:58 +01:00
Ryan Summers
a9d16a1632
Adjusting sleep semantics
2021-03-02 17:20:31 +01:00
Ryan Summers
aca524ec85
Fixing negation
2021-03-02 17:17:51 +01:00
Ryan Summers
c13eaaba4c
Restoring sleep semantics
2021-03-02 17:16:40 +01:00
Ryan Summers
4358d07dab
Updating id semantics
2021-03-02 17:09:10 +01:00
Ryan Summers
c2b00db9e9
Updating minimq/miniconf dependencies
2021-03-02 16:43:19 +01:00
Robert Jördens
733d4243c3
lockin-external: expand output config
2021-03-02 11:46:19 +01:00
Robert Jördens
6a96160cd0
dual-iir: fix panic message
2021-03-01 19:49:21 +01:00
Robert Jördens
66536c9978
lockin-external: add miniconf
2021-03-01 19:48:45 +01:00
Ryan Summers
c553e72df4
Updating miniconf dependencies
2021-03-01 14:46:12 +01:00
Robert Jördens
41f6d971c3
avoid clippy better
2021-02-23 17:22:53 +01:00
Robert Jördens
016323c94d
avoid clippy
2021-02-23 17:15:07 +01:00
Robert Jördens
e86f449dc0
lockin bins: remove stale todos, align and document [nfc]
2021-02-23 16:58:13 +01:00
Robert Jördens
6c6c2e64a7
lockin: make order generic
2021-02-23 16:58:13 +01:00
Ryan Summers
65a0831e2d
Merge branch 'master' into feature/mqtt-convert
2021-02-19 10:30:51 +01:00
Robert Jördens
ccec9d7fed
complex: rename extension trait, fix MulScaled
2021-02-19 09:29:38 +01:00
Robert Jördens
33b9b41405
lowpass: saturating math since it's free
2021-02-18 18:51:29 +01:00
Robert Jördens
c0457787bb
lockin-external: use enum
2021-02-18 18:43:45 +01:00
Robert Jördens
f050ba8e9f
lockin: let the lowpass do all filtering
2021-02-18 14:29:47 +01:00
Robert Jördens
07b7751dbc
move lowpass gain outside lowpass/lockin
2021-02-18 14:25:54 +01:00
Robert Jördens
9983fad041
dsp: use num
2021-02-18 14:07:43 +01:00
Ryan Summers
63a2220fa0
Removing support for configuring IIR state
2021-02-17 17:56:18 +01:00
Ryan Summers
a55b30e6c4
Working around dependency injection bug
2021-02-17 17:50:17 +01:00
Ryan Summers
3c8cd58d6f
Removing lockin-external changes
2021-02-17 17:22:43 +01:00
Ryan Summers
50476f68fd
Adding settings support for lockin-external
2021-02-17 16:53:53 +01:00
Robert Jördens
b69131f5f5
impl trait on type alias instead of newtypes
2021-02-17 16:13:30 +01:00
Ryan Summers
cb16e9a85f
Updating settings update function
2021-02-17 12:59:24 +01:00
Ryan Summers
13e02710cd
Adding simplified clocking semantics
2021-02-17 12:08:03 +01:00