e1064bf403
Allowing signal generator to update any time
2021-07-16 12:58:59 +02:00
b319fe2c6b
Refactoring signal generation to utilize static tuning words
2021-07-16 12:55:11 +02:00
f1947db6c9
Squashing manual changes
2021-07-15 13:28:19 +02:00
0884d84fea
Merge branch 'feature/scan-mode' of github.com:quartiq/stabilizer into feature/scan-mode
2021-06-29 13:24:03 +02:00
386259bf6a
Updating after review
2021-06-29 13:23:42 +02:00
d911622645
Merge branch 'master' into feature/scan-mode
2021-06-28 15:02:25 +02:00
24c0075b7a
Adding signal generator refactor
2021-06-28 14:11:52 +02:00
68859c387a
Adding initial working proof of concept
2021-06-28 13:40:59 +02:00
9cca1497b7
Adding signal generator control to dual-iir
2021-06-28 13:16:54 +02:00
c7bac73bde
derive Defgault for StreamTarget
2021-06-25 09:46:03 +02:00
60ed1876b2
stream: redo socket management logic
...
* Make process only open and set_remote only close sockets
* Streamline queue flushing in all cases where we just opened the socket
* Streamline dequeuing using Option/Result API, removing a
queue.ready() check
2021-06-25 09:45:50 +02:00
0ba3259374
network: add some useful log messages
2021-06-25 09:43:24 +02:00
0a162a8096
use mutex-trait instead of flatten_closures
2021-06-24 11:03:54 +00:00
2c5afe959b
spelling, naming
2021-06-24 10:21:32 +02:00
a3dd760aba
setup: use a best-effort lock for rprintln
...
close #382
2021-06-24 10:16:31 +02:00
45638caa43
Simplifying and correcting triangle wave generation
2021-06-21 20:57:36 +02:00
986e7cc457
Adding initial take at scan mode signal generation
2021-06-21 16:59:38 +02:00
9d34e755d8
Fixing UDP reopening bug
2021-06-21 13:18:36 +02:00
260b0c7767
Updating comments
2021-06-15 14:19:28 +02:00
d81e0c9323
Merge branch 'master' into feature/livestream
2021-06-15 14:15:16 +02:00
3cdef581b8
Removing interword-idle-delay
2021-06-15 14:10:15 +02:00
99114e3c9c
Fixing clippy
2021-06-15 13:49:06 +02:00
7294a69b66
Fixing clippy
2021-06-15 13:46:39 +02:00
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