Commit Graph

483 Commits

Author SHA1 Message Date
Ryan Summers bf3dae814d Updating ACR to 32-bit 2021-04-08 14:58:28 +02:00
Ryan Summers 885cc1fb27 Merge branch 'master' into feature/phy-reset 2021-04-08 13:35:59 +02:00
Ryan Summers e51336dc90
Merge branch 'master' into update-hal 2021-04-07 13:41:48 +02:00
Ryan Summers 5e448f284b Updating net module 2021-03-24 13:48:34 +01:00
Ryan Summers 9459152f6f Updating dependencies 2021-03-24 13:40:17 +01:00
Ryan Summers a717630c53 Adding prototype PHY reset detection 2021-03-17 20:16:39 +01:00
Ryan Summers 3fb2bafaaa Implementing safe net storage semantics 2021-03-17 15:08:56 +01:00
Ryan Summers df2f122f84 Fixing sleep state on error 2021-03-17 14:56:31 +01:00
Ryan Summers e54a33797c Updating comment about time 2021-03-17 14:54:57 +01:00
Ryan Summers 331e21b00a Updating dependencies 2021-03-17 14:47:14 +01:00
Ryan Summers 3c574467a2 Updating dependencies 2021-03-15 12:29:03 +01:00
Ryan Summers 4a9c2fe23a Updating after DHCP PR review 2021-03-15 11:41:13 +01:00
Ryan Summers e5505925a9 Merge branch 'master' into feature/dhcp-support 2021-03-15 11:38:28 +01:00
David Nadlinger 4606d93900 Update stm32h7xx-hal
I haven't done any runtime tests using Pounder, but it seems
like the API change is just a consequence of making the QSPI
address width runtime-configurable.
2021-03-07 16:48:55 +00:00
David Nadlinger 148a3c8281 hardware: Enable DEMCR TRCENA on boot for cycle counter
Previously, the cycle counter would only work correctly when
running in the debugger (which would also enable tracing).

GitHub: Fixes #299.
2021-03-05 18:14:39 +00:00
Ryan Summers c2cb9a440c Adding initial DHCP support prototype 2021-03-04 17:26:10 +01:00
Robert Jördens 059d4faf9f re-add DefaultHandler 2021-03-03 17:05:22 +01:00
Robert Jördens 475f2b3dd2 panic: fmt 2021-03-03 17:00:29 +01:00
Robert Jördens 843173f29d panic: always turn on red leds, and halt 2021-03-03 16:36: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 90ef0836af Fixing style 2021-02-17 17:56:49 +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 e8c4829790 Adding docs for the cycle counter 2021-02-17 17:26:54 +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
Ryan Summers 9e1f4a864c Merge branch 'master' into feature/mqtt-convert 2021-02-17 11:44:10 +01:00
Robert Jördens aeaeac1f17 add comment on dma2 init 2021-02-16 15:58:16 +01:00
Robert Jördens fdb0c40764 fmt 2021-02-16 15:22:58 +01:00
Ryan Summers 3abd47494b Fixing DMA2 instantiation issue 2021-02-16 15:10:00 +01:00
Robert Jördens efbf750b20 Merge remote-tracking branch 'origin/master' into rj/misc
* origin/master:
  Upgrade to serde-json-core v0.2.0
2021-02-15 08:55:40 +01:00
Robert Jördens 5fc45a659b lockin-external: comment style [nfc] 2021-02-15 08:51:19 +01:00
Robert Jördens b581a016ce lockin: redundant new 2021-02-14 17:55:01 +01:00
David Nadlinger 4130292706 Upgrade to serde-json-core v0.2.0
This also fixes the network interface for writing IIR coefficients.
2021-02-13 00:07:15 +00:00
Robert Jördens a6d4099ed3 lowpass: expose natural gain, add bias 2021-02-12 11:06:59 +01:00
Robert Jördens 32b7058b47 lockin: 2nd order lowpass 2021-02-11 23:15:32 +01:00
Robert Jördens b49f0a2eb9 complex: log2, update bins 2021-02-11 18:14:28 +01:00
Robert Jördens 3ae0b710bc lowpass: reimplement better 2021-02-11 14:30:05 +01:00
Robert Jördens 30c2c2aac2 lowpass: i32, no multiplies 2021-02-10 11:39:19 +01:00
Robert Jördens 208ba8379a dsp, lockin: use cascaded 1st order lowpasses 2021-02-09 20:37:46 +01:00
Ryan Summers 724768a72e Adding safety docs 2021-02-09 14:37:49 +01:00
Ryan Summers 2e358dea26 Adding support for input capture prefilter configuration 2021-02-09 14:36:50 +01:00
Robert Jördens 611bd3e855 ad9959/pounder: tweaks
* make a trait public
* use self-test
* this hasn't been tested
2021-02-08 15:24:52 +01:00
Robert Jördens 1b46f081c1 better formatting 2021-02-08 11:26:58 +01:00
Robert Jördens deed11f110 lockin-external: simplify 2021-02-05 18:59:22 +01:00
Robert Jördens 0343e5d8ab pounder timer is u16 2021-02-04 16:51:34 +01:00
Robert Jördens f19988a1bd up the sample rate 2021-02-04 15:42:45 +01:00
Robert Jördens 2d492055f3 pounder stamper: overflow at u32 boundary 2021-02-04 15:42:29 +01:00
Robert Jördens 8314844aeb pounder: moved SAMPLE_BUFFER_SIZE 2021-02-04 13:36:24 +01:00
Robert Jördens d32378e6c4 lockin-external: ignore timestamps related to capture overflows 2021-02-04 12:48:58 +01:00
Robert Jördens f47ee38d31 move sample ticks and buffer size to design parameters 2021-02-04 12:48:25 +01:00
Robert Jördens 7ce90c4d31 input stamper: add deglitching 2021-02-04 12:47:35 +01:00
Ryan Summers 91f16c2961 Adding working example 2021-02-03 19:55:58 +01:00
Robert Jördens c557348523 core_intrinsics attr need to be in the lib crate 2021-02-03 15:26:13 +01:00
Ryan Summers 738516eedb Adding broken example 2021-02-03 15:13:37 +01:00
Robert Jördens 5945cfca75
Merge pull request #258 from vertigo-designs/feature/input-capture-fixes
Updating input capture for timers
2021-02-03 14:54:55 +01:00
Ryan Summers ef22f5ab92 Fixing pounder input capture source 2021-02-03 14:11:00 +01:00
Ryan Summers 9e1a6ec4d5 Updating dependencies 2021-02-03 14:06:09 +01:00
Ryan Summers 913990d531 Merge remote-tracking branch 'origin/rj/bump-hal-smoltcp' into feature/mqtt-convert 2021-02-03 14:02:20 +01:00
Ryan Summers 4e6f65b3e0 Fixing spacing 2021-02-03 13:42:43 +01:00
Robert Jördens 672ddfa3c3 pounder: also adapt to new hal 2021-02-03 13:25:00 +01:00
Robert Jördens c5fde8563c deps: bump hal and smoltcp, adapt 2021-02-03 13:16:22 +01:00
Ryan Summers b57b666473 Updating input capture for timers 2021-02-03 13:03:17 +01:00
Robert Jördens e423eff0e2 lockin-external: add doc 2021-02-02 15:50:31 +01:00
Robert Jördens bd71136cdf hw/config: add TODO on synchronization 2021-02-02 15:46:50 +01:00
Robert Jördens 145b48074e timers: remove spurious tim2 reset 2021-02-02 15:42:51 +01:00
Robert Jördens ddbfa9d988 timestamping: docs and naming 2021-02-02 14:34:48 +01:00
Robert Jördens e1c87c149f timestamping_timer: also reset counter 2021-02-02 13:25:45 +01:00
Robert Jördens 854ed29b1a timestamp: pass overflows to the top and ignore them there 2021-02-02 12:34:20 +01:00
Robert Jördens 4475a2d040 timestamping: full u32 range
The sampling timer and the timestamping timer have the same period.
The sampling interval and the batch size are powers of two.
If the timestamping timer wraps at a power of two larger than the
batch period, it will wrap in sync with the batch period.

Even if it didn't the RPLL would handle that. But it requires that the
timer wraps at the u32/i32 boundary (or be shifted left to wrap there).
2021-02-02 11:36:10 +01:00
Robert Jördens 2144af5bcd configuration: update to HITL ips 2021-02-01 19:32:20 +01:00
Robert Jördens 24a4486847 lockin-internal: rotate samples 2021-02-01 19:31:57 +01:00
Robert Jördens 9ee60824d4 lockin-internal: align processing with lockin-external 2021-02-01 18:15:51 +01:00
Robert Jördens f9b5d29450 lockin: de-nest processing flow 2021-02-01 18:14:09 +01:00