Commit Graph

608 Commits

Author SHA1 Message Date
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
a5c5e807b1 Fixing build 2021-05-06 13:26:02 +02:00
ffc7f5f437 Removing telemetry period 2021-05-06 13:20:52 +02:00
1858257fc4 Formatting code 2021-05-06 13:18:40 +02:00
e7b5334f6b Refactoring output configuration for lockin 2021-05-06 13:17:29 +02:00
19b606c385 Refactoring lockin binaries 2021-05-06 13:08:10 +02:00
8c581ea0a6 Merging lockin app functions 2021-05-06 13:02:39 +02:00
81a292a77e Fixing system timer 2021-05-06 12:45:13 +02:00
949ea9c1b3 Fixing build, formatting 2021-05-06 12:35:04 +02:00
4cbc826f00 Adding documentation 2021-05-06 12:33:07 +02:00
e9c3e24863 Merge branch 'master' into feature/telemetry 2021-05-05 17:47:34 +02:00
740e41d7cb Renaming files 2021-05-05 16:50:51 +02:00
8efd7d4417 Fixing design parameters file 2021-05-05 16:49:11 +02:00
0c6935587e Adding updated telemetry implementation 2021-05-05 16:46:53 +02:00
8144b3acf2 Updating constructors 2021-05-05 16:16:54 +02:00
4a656eedd2 Adding refactor for telemetry 2021-05-05 15:39:33 +02:00
06b328ff52 Adding WIP updates for telemetry 2021-05-05 14:42:17 +02:00
e6180de147 Fixing style 2021-05-05 14:38:43 +02:00
f9b1b8df13 Adding comment about subscription failures 2021-05-05 14:33:34 +02:00
4888f18f88 Adding rework to network module 2021-05-04 19:52:41 +02:00
5767973548 Merge branch 'feature/mqtt-rework' into feature/telemetry 2021-05-04 18:19:38 +02:00
1f8f63018a Cleaning up API 2021-05-04 13:50:17 +02:00
5c4ba78dd1 Refactoring MQTT architecture 2021-05-04 13:13:44 +02:00
b35250efbf Fixing ADC/voltage conversion functions 2021-04-29 17:39:19 +02:00
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
4169cd8251 Adding AFE functions 2021-04-29 16:22:06 +02:00
e746e2a12c Adding WIP telemetry 2021-04-29 15:55:36 +02:00
f49ba30e2d Merge branch 'feature/mqtt-rework' into feature/telemetry 2021-04-29 12:26:46 +02:00
7ddf2271f3 Refactoring net module 2021-04-29 11:54:16 +02:00
aad026161f Refactoring to support DHCP 2021-04-29 11:28:35 +02:00
01349a39b3 Merge branch 'master' into feature/mqtt-rework 2021-04-29 11:07:00 +02:00
0922cc42af Adding new miniconf implementation 2021-04-28 21:03:38 +02:00
61dc6e340e dual-iir: add some mqtt parameter docs 2021-04-28 16:27:59 +02:00
f38e3b9608 Simplifying MQTT handling 2021-04-22 15:57:24 +02:00
36cc423f70 Refactoring MQTT to support telemetry 2021-04-22 15:16:33 +02:00
afcf058590 Refactoring telemetry to support binaries 2021-04-20 14:12:47 +02:00
1c9f30b4d5 Merge branch 'rs/issue-276/unique-identifiers' into feature/telemetry 2021-04-20 13:46:37 +02:00
65073d11b9 Updating code after review 2021-04-20 13:37:49 +02:00
060781f2b2 Merge branch 'master' into rs/issue-276/unique-identifiers 2021-04-20 13:32:41 +02:00
dfda6b6d75 Reverting unintended change 2021-04-19 15:57:52 +02:00
065221e89f Merge branch 'master' into rs/issue-276/unique-identifiers 2021-04-19 15:52:29 +02:00
6be642d3d7 Merge branch 'feature/phy-reset' into feature/tcp-randomizer 2021-04-19 12:19:24 +02:00
1a08634dcb Renaming interface to avoid confusion 2021-04-19 12:17:41 +02:00
f32949ed17 Merge branch 'master' into feature/phy-reset 2021-04-19 12:10:37 +02:00
403ff16dde Resetting IP 2021-04-15 15:44:03 +02:00
f442418f16 Merge branch 'master' into feature/telemetry 2021-04-15 15:43:40 +02:00
854f45ae15 Updating tick rates 2021-04-15 15:08:57 +02:00
330f67d3c8 Adding WIP telemetry implementation for dual-iir 2021-04-15 14:40:47 +02:00
8cc06d39c4 dual-iir: use InputPin re-export, rename digital_input 2021-04-15 13:47:10 +02:00
cc3673d94f Merge branch 'master' into feature/tcp-randomizer 2021-04-15 12:13:58 +02:00
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
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
033420b934 Adding custom identifier prefix calculations 2021-04-13 15:38:30 +02:00
f96f49befa
Merge branch 'master' into feature/phy-reset 2021-04-13 14:45:20 +02:00
61e1a2a1c6 Correcting I2C MAC address read 2021-04-13 12:28:05 +02:00
e4740ce1b5
Merge branch 'master' into feature/phy-reset 2021-04-09 11:04:18 +02:00
1b4d31dbd9 Updating NAL to support TCP port randomization 2021-04-08 15:28:11 +02:00
bf3dae814d Updating ACR to 32-bit 2021-04-08 14:58:28 +02:00
885cc1fb27 Merge branch 'master' into feature/phy-reset 2021-04-08 13:35:59 +02:00
e51336dc90
Merge branch 'master' into update-hal 2021-04-07 13:41:48 +02:00
fc7374424a enable itcm/dtcm explicitly 2021-03-29 18:51:50 +02:00
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
5e448f284b Updating net module 2021-03-24 13:48:34 +01:00
9459152f6f Updating dependencies 2021-03-24 13:40:17 +01:00
a717630c53 Adding prototype PHY reset detection 2021-03-17 20:16:39 +01:00
3fb2bafaaa Implementing safe net storage semantics 2021-03-17 15:08:56 +01:00
df2f122f84 Fixing sleep state on error 2021-03-17 14:56:31 +01:00
e54a33797c Updating comment about time 2021-03-17 14:54:57 +01:00
331e21b00a Updating dependencies 2021-03-17 14:47:14 +01:00
3c574467a2 Updating dependencies 2021-03-15 12:29:03 +01:00
4a9c2fe23a Updating after DHCP PR review 2021-03-15 11:41:13 +01:00
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
c2cb9a440c Adding initial DHCP support prototype 2021-03-04 17:26:10 +01:00
059d4faf9f re-add DefaultHandler 2021-03-03 17:05:22 +01:00
475f2b3dd2 panic: fmt 2021-03-03 17:00:29 +01:00
843173f29d panic: always turn on red leds, and halt 2021-03-03 16:36:10 +01:00
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
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
1e411c1548 lockin-external: Miniconf changes 2021-03-02 17:33:53 +01:00
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
a9d16a1632 Adjusting sleep semantics 2021-03-02 17:20:31 +01:00
aca524ec85 Fixing negation 2021-03-02 17:17:51 +01:00
c13eaaba4c Restoring sleep semantics 2021-03-02 17:16:40 +01:00
4358d07dab Updating id semantics 2021-03-02 17:09:10 +01:00
c2b00db9e9 Updating minimq/miniconf dependencies 2021-03-02 16:43:19 +01:00
733d4243c3 lockin-external: expand output config 2021-03-02 11:46:19 +01:00
6a96160cd0 dual-iir: fix panic message 2021-03-01 19:49:21 +01:00
66536c9978 lockin-external: add miniconf 2021-03-01 19:48:45 +01:00
c553e72df4 Updating miniconf dependencies 2021-03-01 14:46:12 +01:00
41f6d971c3 avoid clippy better 2021-02-23 17:22:53 +01:00
016323c94d avoid clippy 2021-02-23 17:15:07 +01:00
e86f449dc0 lockin bins: remove stale todos, align and document [nfc] 2021-02-23 16:58:13 +01:00
6c6c2e64a7 lockin: make order generic 2021-02-23 16:58:13 +01:00
65a0831e2d Merge branch 'master' into feature/mqtt-convert 2021-02-19 10:30:51 +01:00
ccec9d7fed complex: rename extension trait, fix MulScaled 2021-02-19 09:29:38 +01:00
33b9b41405 lowpass: saturating math since it's free 2021-02-18 18:51:29 +01:00
c0457787bb lockin-external: use enum 2021-02-18 18:43:45 +01:00
f050ba8e9f lockin: let the lowpass do all filtering 2021-02-18 14:29:47 +01:00
07b7751dbc move lowpass gain outside lowpass/lockin 2021-02-18 14:25:54 +01:00
9983fad041 dsp: use num 2021-02-18 14:07:43 +01:00
90ef0836af Fixing style 2021-02-17 17:56:49 +01:00
63a2220fa0 Removing support for configuring IIR state 2021-02-17 17:56:18 +01:00
a55b30e6c4 Working around dependency injection bug 2021-02-17 17:50:17 +01:00
e8c4829790 Adding docs for the cycle counter 2021-02-17 17:26:54 +01:00
3c8cd58d6f Removing lockin-external changes 2021-02-17 17:22:43 +01:00
50476f68fd Adding settings support for lockin-external 2021-02-17 16:53:53 +01:00
b69131f5f5 impl trait on type alias instead of newtypes 2021-02-17 16:13:30 +01:00
cb16e9a85f Updating settings update function 2021-02-17 12:59:24 +01:00
13e02710cd Adding simplified clocking semantics 2021-02-17 12:08:03 +01:00
9e1f4a864c Merge branch 'master' into feature/mqtt-convert 2021-02-17 11:44:10 +01:00
aeaeac1f17 add comment on dma2 init 2021-02-16 15:58:16 +01:00
fdb0c40764 fmt 2021-02-16 15:22:58 +01:00
3abd47494b Fixing DMA2 instantiation issue 2021-02-16 15:10:00 +01:00
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
5fc45a659b lockin-external: comment style [nfc] 2021-02-15 08:51:19 +01:00
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
a6d4099ed3 lowpass: expose natural gain, add bias 2021-02-12 11:06:59 +01:00
32b7058b47 lockin: 2nd order lowpass 2021-02-11 23:15:32 +01:00
b49f0a2eb9 complex: log2, update bins 2021-02-11 18:14:28 +01:00
3ae0b710bc lowpass: reimplement better 2021-02-11 14:30:05 +01:00
30c2c2aac2 lowpass: i32, no multiplies 2021-02-10 11:39:19 +01:00
208ba8379a dsp, lockin: use cascaded 1st order lowpasses 2021-02-09 20:37:46 +01:00
724768a72e Adding safety docs 2021-02-09 14:37:49 +01:00
2e358dea26 Adding support for input capture prefilter configuration 2021-02-09 14:36:50 +01:00
611bd3e855 ad9959/pounder: tweaks
* make a trait public
* use self-test
* this hasn't been tested
2021-02-08 15:24:52 +01:00
1b46f081c1 better formatting 2021-02-08 11:26:58 +01:00
deed11f110 lockin-external: simplify 2021-02-05 18:59:22 +01:00
0343e5d8ab pounder timer is u16 2021-02-04 16:51:34 +01:00
f19988a1bd up the sample rate 2021-02-04 15:42:45 +01:00
2d492055f3 pounder stamper: overflow at u32 boundary 2021-02-04 15:42:29 +01:00
8314844aeb pounder: moved SAMPLE_BUFFER_SIZE 2021-02-04 13:36:24 +01:00