9e083842ee
Adding streaming to lockin app
2021-06-15 13:22:38 +02:00
2815d6d9e9
Updating docs
2021-06-15 13:18:16 +02:00
8d1f2cf9b6
Updating versions
2021-06-15 12:51:42 +02:00
b912f0c387
Merge branch 'feature/hal-update' into feature/livestream
2021-06-15 12:46:41 +02:00
c96999de52
Moving ownership of hardware cs
2021-06-14 18:51:49 +02:00
d6ccf1cc83
Utilize interleaved CSn
2021-06-14 18:49:46 +02:00
b8c0abcea2
Updating HAL SPI usage to master version
2021-06-14 18:47:37 +02:00
5a947e459c
Finalizing updates after testing
2021-06-11 17:52:11 +02:00
b40ca17fea
Updating stream methodology
2021-06-11 16:36:19 +02:00
b9284451e4
Fixing format
2021-06-09 15:31:00 +02:00
9bc351109c
Reverting unintended changes
2021-06-09 15:30:33 +02:00
92c84a6bfe
Allowing target to be runtime configurable
2021-06-09 15:25:59 +02:00
b5fdb31a02
Adding internal buffering to data stream blocks
2021-06-09 13:26:41 +02:00
b292cf45ab
Fixing merge
2021-06-09 12:52:13 +02:00
e01d430e8e
Merge branch 'master' into feature/livestream
2021-06-09 12:46:56 +02:00
f514205f8d
stabilizer: don't flatten namespace, renames
2021-06-04 17:02:09 +02:00
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
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
d84c79af2e
apps: spi isrs are spi errors
2021-06-04 10:50:09 +02:00
73491fcb75
pounder/timestamp: docs updatew
2021-06-04 10:45:22 +02:00
2ba9e9c2f7
pounder_timestamper: use input capture prescaler
2021-06-03 10:31:23 +02:00
35536c0623
Revert "Revert "pounder timestmper: don't use DMA""
...
This reverts commit d97ee3f0c4
.
2021-06-03 10:31:11 +02:00
93081c25c2
refactor flatten_closures
2021-06-01 17:55:42 +02:00
3b73783635
clippy recursion
2021-06-01 17:45:14 +02:00
18b6e99b10
fix a few clippy lints on files that are touched
2021-06-01 17:32:06 +02:00
d97ee3f0c4
Revert "pounder timestmper: don't use DMA"
...
This reverts commit 26b261364f
.
First needs to reduce capture rate to batch interval. Otherwise it's
jittery due to polling alignment.
2021-06-01 16:57:51 +02:00
26b261364f
pounder timestmper: don't use DMA
...
* One sample per batch is typical and sufficient.
* DMA has more overhead than direct read for one sample.
2021-06-01 16:33:47 +02:00
f8fa297b20
lockin: dma fence
2021-06-01 14:49:51 +02:00
b90f4ad185
lockin: port to fast double buffered DMA
2021-06-01 13:17:40 +02:00
c5a2704c41
dma: implement overflow checking
2021-06-01 13:11:16 +02:00
63716111df
Merge branch 'master' into rj/fast-dbm
...
* master:
pounder: clippy
pounder: add comment on channel enum
ad9959: refactor pad()
pounder: enum for gpio ext pins
pounder: fix attenuator indices (latch and shiftreg)
pounder io extender: hack around some bug
rf_power: fix measurement
attenuators: use robust latching sequence
deps: use mcp23017 release
pounder: simplify attenuator spi interface
2021-06-01 12:52:58 +02:00
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
4c01a8f929
pounder: clippy
2021-05-31 20:41:18 +02:00
da7fc08c15
pounder: add comment on channel enum
2021-05-31 18:25:34 +02:00
14bfbbe2a1
Refactoring link status polling
2021-05-31 14:28:57 +02:00
04f61db6f2
Adding functional prototype
2021-05-31 14:06:02 +02:00
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
5ee7ef388e
Merge branch 'master' into rj/pounder-fixes
...
* 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
2021-05-28 21:44:07 +02:00
eb968fb503
Adding subsampling factor
2021-05-28 19:37:28 +02:00
2edbcf1c92
Merge branch 'master' into feature/livestream
2021-05-28 19:01:24 +02:00
72637bebc0
Updating stream
2021-05-28 18:57:23 +02:00
b8da9961b8
adapt to new heapless/serde-json-core after const-generics
2021-05-28 18:34:25 +02:00
2368a4f6ed
pounder: enum for gpio ext pins
...
This is currently unused but it's better to have enums than
a set of assorted constants.
2021-05-28 16:46:06 +02:00
3616f1fa5a
pounder: fix attenuator indices (latch and shiftreg)
...
Before the discriminant was used despite being a compiler implementaiton
detail. This now fixes the discriminant to match byte index in the attenuator
shift register and latch-enable index of the gpio extender.
2021-05-28 16:44:58 +02:00
94f60c100c
pounder io extender: hack around some bug
2021-05-28 16:44:11 +02:00
79f8838104
rf_power: fix measurement
2021-05-28 16:44:11 +02:00
fc78b087ee
attenuators: use robust latching sequence
...
To ensure that eatch call to latch() generates a rising edge, first
assert low, then high, not the other way round.
2021-05-28 16:43:29 +02:00
f1a58b7811
pounder: simplify attenuator spi interface
2021-05-28 16:41:58 +02:00
79d30b4c6b
setup: cleanup
2021-05-28 16:32:26 +02:00
c5d3837745
itcm: add some comments, make it safe
2021-05-28 16:03:40 +02:00
441c81d135
Merge branch 'master' into rj/itcm
2021-05-27 18:22:22 +02:00
97911c55f9
Unwrapping enqueue
2021-05-27 17:10:03 +02:00
3ce93b8fcd
Adding WIP updates
2021-05-27 15:58:18 +02:00
aaef0e9913
Merge branch 'feature/nal-update' into feature/livestream
2021-05-27 15:35:16 +02:00
f10bce709f
Updating the embedded-nal
2021-05-27 13:42:52 +02:00
316dbb3d2e
dual-iir: fmt
2021-05-26 17:59:30 +02:00
2dd1bb9ebf
Adding WIP livestreaming implementation
2021-05-26 17:56:44 +02:00
24dd749da9
Merge branch 'master' into feature/livestream
2021-05-26 16:43:21 +02:00
bf92f6209a
Merge branch 'master' into rj/visibility-cleanup
...
* master:
Removing spurious settings updates
2021-05-26 16:04:18 +02:00
70be4c1c19
Adding WIP changes to streaming
2021-05-26 15:02:50 +02:00
23a93e9135
Removing spurious settings updates
2021-05-26 13:05:54 +02:00
c13859d486
dual-iir: add closure nesting helper macro
2021-05-25 12:05:19 +02:00
2a9657f98c
dual-iir: destructure resources
2021-05-24 22:41:22 +02:00
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
731513722f
Updating after testing
2021-05-17 18:33:43 +02:00
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
21ca8e1c8f
Adding initial streaming implementation
2021-05-17 12:43:04 +02:00
4d5f1ab5e9
itcm: implement in rust and execute during setup()
2021-05-14 17:23:38 +02:00
bd8b3cd6f3
Merge remote-tracking branch 'origin/master' into rj/itcm
...
* origin/master:
deps: fix rtt-logger->rtt-target, cleanup, bump cortex-m
build(deps): bump embedded-hal from 0.2.4 to 0.2.5
Bump rtt-target from 0.2.2 to 0.3.1
Bump serde from 1.0.125 to 1.0.126
remove unused dependencies
remove unused dependencies
2021-05-14 08:18:33 +02:00
b9cee6345a
deps: fix rtt-logger->rtt-target, cleanup, bump cortex-m
2021-05-14 07:16:47 +02:00
5d37963ec2
Merge remote-tracking branch 'origin/master' into rj/log
...
* origin/master:
remove unused dependencies
remove unused dependencies
2021-05-13 18:27:11 +02:00
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
18a8053cab
refine panic handler and add some logging info
2021-05-13 15:18:22 +02:00
401e1b0681
remove rtt feature
2021-05-13 11:14:03 +02:00
5b616a2874
use rtt logging
2021-05-13 10:55:43 +02:00
31332d220e
remove unused dependencies
2021-05-12 12:59:58 +02:00
bcdb5e3c0f
dsp/lowpass,lockin: const generics
2021-05-10 17:31:53 +02:00
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
bd491cf584
Merge branch 'master' into rj/itcm
2021-05-10 12:09:01 +02:00
81bc569f0e
Simplifying unit conversions
2021-05-10 11:40:36 +02:00
fa886d2eac
Cleaning up conversion + comments
2021-05-10 11:10:26 +02:00
65eb74b31e
Merge branch 'feature/telemetry' of github.com:quartiq/stabilizer into feature/telemetry
2021-05-10 11:07:29 +02:00
fcda2d5bd1
Addressing review feedback
2021-05-10 10:57:50 +02:00
6e94ffc138
Update src/hardware/dac.rs
...
Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-05-07 14:23:03 +02:00
60b1b112b1
Renaming AdcSample -> AdcCode
2021-05-07 14:11:25 +02:00
923790b0b9
Updating float conversion
2021-05-07 14:02:25 +02:00
b73a4d9e59
Adding adc/dac code conversion utilities
2021-05-07 13:50:34 +02:00
d68fa87fec
Simplifying settings lock
2021-05-07 13:04:25 +02:00
7b76b1f14c
Updating after review
2021-05-07 13:02:14 +02:00
89eaefd8d5
Updating delay
2021-05-06 17:14:17 +02:00
ff79e0a8ac
Fixing merge
2021-05-06 17:10:38 +02:00
e07f0a4e2a
Formatting
2021-05-06 16:37:36 +02:00
eeee5af296
Updating dependencies
2021-05-06 16:32:57 +02:00
03adb72aab
Fixing clippy
2021-05-06 16:23:41 +02:00
97cca486b5
lockin: merge sample_phase/frequency computation
2021-05-06 16:22:42 +02:00
80b8716be4
Finalizing merge
2021-05-06 14:40:28 +02:00
4780a97528
Fixing modulation waveform scale
2021-05-06 14:36:57 +02:00
9569df9e82
Renaming power -> magnitude
2021-05-06 14:34:09 +02:00
0bb7c1fdb0
Finalizing names
2021-05-06 14:33:22 +02:00
19dd57c6a8
Satisfying clippy
2021-05-06 13:46:55 +02:00