Ryan Summers
7c5a74c35e
Renaming internal lockin
2021-01-26 10:52:35 +01:00
Robert Jördens
9f9744b9e6
rpll: implement
2021-01-25 11:45:59 +01:00
Robert Jördens
df337f85b8
reciprocal_pll -> rpll
2021-01-25 09:54:56 +01:00
Robert Jördens
57a5c4ff9b
make lockin a unittest, not integration test
2021-01-22 16:04:02 +01:00
Robert Jördens
d0d2c6352d
lockin: refactor to use common lockin processing
2021-01-22 16:00:05 +01:00
Robert Jördens
0cd2140668
rafactor complex, cossin, atan2
2021-01-21 16:12:59 +01:00
Robert Jördens
948e58c910
lockin: refactor Lockin
2021-01-21 14:57:44 +01:00
Robert Jördens
5af2b9c63a
fmt
2021-01-20 15:34:56 +01:00
Robert Jördens
c078de05cc
lockin: fix adc value conversion
2021-01-20 15:31:46 +01:00
Robert Jördens
d014ed0fe0
add lockin bin
2021-01-20 14:29:29 +01:00
Robert Jördens
603d6df6a4
Merge branch 'master' into lockin-bin
...
* master:
Reordering lib.rs
Removing main.rs
Adding support for multiple applications
Fixing build
Moving panic configuration
Reordering
Refactoring to support multiple apps
2021-01-20 14:19:28 +01:00
Robert Jördens
507e334ec5
lockin: tweak impl
2021-01-20 14:07:57 +01:00
Ryan Summers
4d0b1b5566
Reordering lib.rs
2021-01-20 13:44:53 +01:00
Ryan Summers
86355c9c5d
Removing main.rs
2021-01-20 13:44:16 +01:00
Ryan Summers
26677063ea
Adding support for multiple applications
2021-01-20 13:43:34 +01:00
Ryan Summers
2ef27b8187
Formatting
2021-01-20 12:55:55 +01:00
Ryan Summers
b2cbc6791d
Restructuring
2021-01-20 12:55:45 +01:00
Ryan Summers
f1f15aca65
Refactoring app structure
2021-01-20 12:49:07 +01:00
Ryan Summers
a715680482
Merge branch 'master' into feature/lockin-app-refactor
2021-01-20 12:36:20 +01:00
Robert Jördens
778f4ac4d5
lockin: wrapping_neg
2021-01-19 11:30:12 +01:00
Robert Jördens
720b143132
Merge remote-tracking branch 'origin/master' into lockin-bin
...
* origin/master:
Updating timer compare offsets
Removing dac isr clear
Adding information about DSP timing specifications
Specifying consequences of failing to meet timing
Updating dependencies
Apply suggestions from code review
Adding documentation about double-buffered mode to DACs
Updating DACs to utilize DBM
Adding safety documentation
Adding docs
Updating DAC output format, adding DDS stream docs
Adding documentation for ADCs and DACs
2021-01-19 11:12:50 +01:00
Robert Jördens
20488ea3bc
lockin: refine
2021-01-19 11:01:21 +01:00
Ryan Summers
ac06f811ab
Adding framework for initial lockin demo
2021-01-18 18:02:00 +01:00
Ryan Summers
573189bdd9
Fixing build
2021-01-18 17:23:21 +01:00
Ryan Summers
9d90d7b0d2
Adding WIP apps
2021-01-18 17:20:33 +01:00
Ryan Summers
6618e921fe
Moving panic configuration
2021-01-18 16:55:56 +01:00
Ryan Summers
8dd72ae75e
Reordering
2021-01-18 16:52:09 +01:00
Ryan Summers
20535a721d
Refactoring to support multiple apps
2021-01-18 16:47:47 +01:00
Ryan Summers
7a2f950667
Updating timer compare offsets
2021-01-18 13:41:23 +01:00
Ryan Summers
598a48b178
Merge branch 'master' into feature/io-docs
2021-01-18 13:25:03 +01:00
Matt Huszagh
f0eb58dfb2
swap sin and cos for demodulation
...
The in-phase component should be multiplied by the sin value and the
quadrature component should be multiplied by the cos value.
2021-01-14 14:51:07 -08:00
Matt Huszagh
9d0aa40ce8
Revert "revert changes in main.rs and server.rs"
...
This reverts commit e599977983
.
2021-01-13 09:54:04 -08:00
Matt Huszagh
e599977983
revert changes in main.rs and server.rs
2021-01-13 08:59:27 -08:00
Matt Huszagh
76088efda5
dsp: add reciprocal_pll
2021-01-13 08:37:33 -08:00
Matt Huszagh
6aad92af43
fix bug in which real signal component is assigned twice
2021-01-12 18:36:18 -08:00
Matt Huszagh
07b7201b49
fix cargo fmt style
2021-01-12 17:26:42 -08:00
Matt Huszagh
a0d472b398
use only integer iir
2021-01-12 17:21:55 -08:00
Matt Huszagh
f974f4099c
remove TODO note relating ADC_BATCHES and calculate_timestamp_timer_period
...
Having both is not really redundant.
2021-01-12 16:17:58 -08:00
Matt Huszagh
80ed715f5a
shift sin/cos before demodulation product to avoid i64
2021-01-12 16:07:04 -08:00
Matt Huszagh
41ea2ebed4
use round up half integer rounding
2021-01-12 15:59:03 -08:00
Matt Huszagh
4c033c0f3e
move timestamp handling into new TimestampHandler struct
2021-01-12 13:06:49 -08:00
Matt Huszagh
e14aa8b613
move lock-in code to main.rs
2021-01-12 10:45:34 -08:00
Matt Huszagh
028f4a1bb2
fix small typos
2021-01-12 07:36:56 -08:00
Ryan Summers
db3a42a7b9
Update src/adc.rs
...
Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-01-12 06:54:16 -08:00
Ryan Summers
bcf7a59993
Removing dac isr clear
2021-01-12 14:15:45 +01:00
Ryan Summers
09ecd3291a
Merge branch 'rs/issue-219/adc-setup' into feature/io-docs
2021-01-12 14:02:19 +01:00
Ryan Summers
6b170c25ed
Fixing timing synchronization
2021-01-12 13:29:15 +01:00
Ryan Summers
91975993cf
Fixing docs
2021-01-11 12:38:20 +01:00
Ryan Summers
d5c21efc9d
Adding extra DMA transfer to clear TXTF in ADC SPI transfers
2021-01-11 12:31:15 +01:00
Ryan Summers
5eab732d93
Adding information about DSP timing specifications
2021-01-06 15:38:04 +01:00
Ryan Summers
56366a013f
Specifying consequences of failing to meet timing
2021-01-06 15:34:12 +01:00
Ryan Summers
4b3ceb0c0b
Merge branch 'feature/io-docs' of github.com:vertigo-designs/stabilizer into feature/io-docs
2021-01-06 15:12:25 +01:00
Ryan Summers
eefb2acfda
Updating dependencies
2021-01-06 15:12:03 +01:00
Ryan Summers
cd4721b506
Merge branch 'master' into feature/io-docs
2021-01-06 15:10:30 +01:00
Ryan Summers
f825f52785
Apply suggestions from code review
...
Co-authored-by: Robert Jördens <rj@quartiq.de>
2021-01-06 06:08:07 -08:00
Ryan Summers
18068082ac
Fixing CI
2021-01-06 15:04:06 +01:00
Ryan Summers
e9cef7bbac
Fixing after review
2021-01-06 14:59:01 +01:00
Ryan Summers
8a98428ed4
Adding documentation
2021-01-06 14:42:36 +01:00
Ryan Summers
37595405c3
Merge branch 'feature/digital-input-stamp' into feature/pounder-timestamping
2021-01-06 13:34:55 +01:00
Ryan Summers
da34756df7
Adding support for pounder v1.1
2021-01-06 13:29:19 +01:00
Ryan Summers
3332a8e927
Updating branch dependencies
2021-01-06 12:59:24 +01:00
Ryan Summers
9e7bfd4371
Adding updates after review
2021-01-06 12:24:09 +01:00
Ryan Summers
2b6e6f59a4
Adding comment about sample rate
2021-01-04 18:09:16 +01:00
Ryan Summers
7ecd08d86b
More updates after PR review
2021-01-04 18:04:01 +01:00
Ryan Summers
67b6990fc0
Addressing PR review
2021-01-04 17:12:24 +01:00
Ryan Summers
ee8f4d849f
Adding documentation about double-buffered mode to DACs
2020-12-17 14:32:53 +01:00
Ryan Summers
fb1ea765ce
Updating DACs to utilize DBM
2020-12-17 14:27:47 +01:00
Ryan Summers
ec2aaecb48
Adding safety documentation
2020-12-17 14:11:28 +01:00
Ryan Summers
8fb37c2db9
Adding docs
2020-12-17 14:10:36 +01:00
Ryan Summers
438b291974
Updating DAC output format, adding DDS stream docs
2020-12-17 14:09:18 +01:00
Ryan Summers
8e4a7c8fa9
Adding documentation for ADCs and DACs
2020-12-15 16:46:12 +01:00
Ryan Summers
fc81f3d55d
Removing DMA support from DI0 timestamping
2020-12-15 14:34:14 +01:00
Ryan Summers
352884ea06
Fixing pounder timestamps after manual testing
2020-12-15 13:13:05 +01:00
Ryan Summers
72d14adfbf
Adding support for pounder ETR timestamping
2020-12-09 18:19:33 +01:00
Ryan Summers
e9d74ae6da
Adding support for pounder DDS timestamping
2020-12-09 15:13:04 +01:00
Ryan Summers
f8cab17ffc
Adding WIP for pounder timestamps
2020-12-09 13:44:26 +01:00
Ryan Summers
2e0681ebcc
Fixing power-of-two calculation
2020-12-08 16:38:07 +01:00
Ryan Summers
645a1cd832
Updating timestamper after testing
2020-12-08 16:14:27 +01:00
Ryan Summers
3886dab961
Update src/digital_input_stamper.rs
...
Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-12-08 15:15:58 +01:00
Ryan Summers
4da892b8a2
Update src/digital_input_stamper.rs
...
Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-12-08 15:15:51 +01:00
Ryan Summers
1a1d8fd8b9
Adding precise control of timer periods and prescalers
2020-12-08 14:25:46 +01:00
Ryan Summers
a134340726
Adding direct and DMA collection support for DI0 timestamps
2020-12-08 13:53:34 +01:00
Ryan Summers
f2e4f497fa
Removing DBM from input stamper
2020-12-08 11:29:59 +01:00
Ryan Summers
c00ac46c2c
Merge branch 'master' into feature/qspi-stream
2020-12-07 18:51:32 +01:00
Ryan Summers
35b4287fe1
Merge branch 'feature/qspi-stream' into feature/digital-input-stamp
2020-12-07 18:49:35 +01:00
Ryan Summers
551cc5d742
Adding support for DBM
2020-12-07 18:44:45 +01:00
Ryan Summers
6eaf2cc073
Updating timestamp buffer logic
2020-12-07 18:19:20 +01:00
Ryan Summers
b191a3f01d
Updating timestamp timer to be more precise
2020-12-07 18:11:46 +01:00
Ryan Summers
ec046bc42d
Refactoring timer timestamping
2020-12-07 17:58:36 +01:00
Ryan Summers
fc81c8b5d8
Updating API
2020-12-07 17:29:36 +01:00
Ryan Summers
93ab3b7dfd
Merge branch 'master' into feature/digital-input-stamp
2020-12-07 16:12:55 +01:00
Ryan Summers
14a647867a
Updating after review
2020-12-07 10:55:09 +01:00
Robert Jördens
4f8bdb971b
main.rs: style
2020-12-04 18:22:53 +01:00
Robert Jördens
b23d5fa0dc
main.rs: whitespace
2020-12-04 18:22:38 +01:00
Niklas Kuhrmeyer
24222821b5
Added cascaded IIR with server commands for up to 2 cascaded IIRs per channel.
2020-12-03 14:10:28 +01:00
Ryan Summers
f4a4357396
Fixing semantics
2020-12-02 18:08:49 +01:00
Ryan Summers
677d017c3c
Adding documentation
2020-12-02 17:40:24 +01:00
Ryan Summers
91f722f450
Fixing buffer size
2020-12-02 17:11:06 +01:00
Ryan Summers
d3bb5ab0e4
Merge branch 'master' into feature/qspi-stream
2020-12-02 17:08:33 +01:00
Ryan Summers
d93d0c7125
Adding updated QSPI stream writer
2020-12-02 17:01:40 +01:00
Robert Jördens
31fcdcc97d
Merge branch 'master' into feature/adc-dac-io-macros
...
* master:
cargo: add docs for target cpu/features
iir: more generic math helpers, use core::intrinsics
cargo fmt [nfc]
iir: vminnm/vmaxnm
iir: fmt [nfc]
iir: fix comment [nfc]
cargo-config: cm7 features
iir: copy_within is better than rotate_right
processing: use faster unsafe truncate
2020-12-02 14:56:52 +01:00
Ryan Summers
01a169ca69
Merge branch 'master' into feature/qspi-stream
2020-12-02 14:13:53 +01:00
Robert Jördens
34d59dac5d
adc: merge acquire_buffer and release_buffer again
2020-11-30 15:38:23 +01:00
Robert Jördens
b1301a6184
dac,adc: spelling
2020-11-30 15:06:15 +01:00
Robert Jördens
c72f959933
Merge remote-tracking branch 'origin/master' into feature/adc-dac-io-macros
...
* origin/master:
more nightly clippy lints
clippy lints
gha: clippy-check
build(deps): bump paste from 1.0.2 to 1.0.3
build(deps): bump panic-semihosting from 0.5.4 to 0.5.6
2020-11-30 15:03:42 +01:00
Robert Jördens
8769194166
Merge remote-tracking branch 'origin/master' into feature/iir-tweaks
...
* origin/master:
more nightly clippy lints
clippy lints
gha: clippy-check
build(deps): bump paste from 1.0.2 to 1.0.3
build(deps): bump panic-semihosting from 0.5.4 to 0.5.6
2020-11-30 12:57:58 +01:00
Robert Jördens
128e7dd78e
more nightly clippy lints
2020-11-26 16:45:57 +01:00
Robert Jördens
7fc6f5c4ad
clippy lints
2020-11-26 16:41:09 +01:00
Robert Jördens
ab50f55062
adc/dac: docstrings
2020-11-26 15:42:33 +01:00
Robert Jördens
8cf380a488
dac/adc: doc cleanup [nfc]
2020-11-26 14:40:24 +01:00
Robert Jördens
468929690d
iir: vminnm/vmaxnm
2020-11-26 14:26:44 +01:00
Robert Jördens
d8c6f39d0f
adc/dac: make the buffer handling more symmetric
2020-11-26 13:51:39 +01:00
Robert Jördens
754ebed50d
adc: transfer complete interrupt on Adc1
2020-11-26 11:55:15 +01:00
Robert Jördens
7189830896
main: put AFEs into a tuple
2020-11-26 11:34:43 +01:00
Robert Jördens
911fb66146
main: process() code duplication a bit
2020-11-26 11:34:43 +01:00
Robert Jördens
c04180635b
dacs: macros
2020-11-26 11:34:43 +01:00
Robert Jördens
1906185286
adc: macro
2020-11-26 11:02:37 +01:00
Robert Jördens
38dfd48c14
iir: fix comment [nfc]
2020-11-25 17:57:24 +01:00
Robert Jördens
cf086abaed
Merge remote-tracking branch 'origin/master' into fast-truncate
...
* origin/master:
Adding comment about checking for flag pass completion
Adding comments about execution hanging to transfer complete waits
Removing default parameter settings
Updating DAC SPI structures to own HAL SPI structure for safety guarantees
Moving constants to a new file
Removing copy to DAC buffers, adding in-place borrow of output buffers
Marking AXISRAM as NOLOAD
Refactoring timer channels to macros, adding safety notes
Adding DMA support for DAC writes
Adding sampling_timer file
Adding compile-time management of TIM2 channels
Reverting changeset
Adding documentation
Reverting openocd change
Adding updated docs for adc file
Combining ADC + DAC ISRs
Adding WIP updates
Formatting
Adding ADC/DAC modules
Adding WIP updates to using DMA
2020-11-25 17:38:03 +01:00
Ryan Summers
a07be010b6
Adding comment about checking for flag pass completion
2020-11-25 16:46:42 +01:00
Ryan Summers
88da225e4b
Adding comments about execution hanging to transfer complete waits
2020-11-25 16:43:49 +01:00
Ryan Summers
7d13627a0c
Removing default parameter settings
2020-11-25 16:30:06 +01:00
Ryan Summers
d236ea94c4
Updating DAC SPI structures to own HAL SPI structure for safety guarantees
2020-11-24 17:21:14 +01:00
Ryan Summers
bf8b950fe6
Moving constants to a new file
2020-11-24 17:09:36 +01:00
Ryan Summers
720e0291f5
Removing copy to DAC buffers, adding in-place borrow of output buffers
2020-11-24 16:57:36 +01:00
Ryan Summers
2b443f9334
Merge branch 'master' into feature/dma-updates
2020-11-24 16:49:11 +01:00
Robert Jördens
b0e0b5144f
processing: use faster unsafe truncate
2020-11-24 09:27:47 +01:00
Ryan Summers
11e6688a14
Refactoring timer channels to macros, adding safety notes
2020-11-23 14:30:29 +01:00
Matt Huszagh
3eb43c6b99
move iir to new dsp crate
2020-11-22 07:59:12 -08:00
Ryan Summers
d2e8b30622
Increasing batch size
2020-11-17 14:27:17 +01:00
Ryan Summers
6c2bc22b7a
Adding updates for QSPI streaming
2020-11-17 14:23:56 +01:00
Ryan Summers
055c92c684
Adding WIP refactor
2020-11-17 13:09:45 +01:00
Ryan Summers
84167c7f6f
Updating DDS control
2020-11-17 11:28:45 +01:00
Ryan Summers
72db53ccd0
Removing pounder test, adding file
2020-11-17 10:51:31 +01:00
Ryan Summers
c518797d08
Removing unused code
2020-11-17 10:48:31 +01:00
Ryan Summers
585613f48f
Refactoring DDS output control
2020-11-17 10:45:37 +01:00
Ryan Summers
1c8e385e6d
Merge branch 'feature/dma-updates' into feature/qspi-stream
2020-11-17 10:29:03 +01:00
Ryan Summers
91809cf255
Adding DMA support for DAC writes
2020-11-13 10:47:44 +01:00
Ryan Summers
56bcf1e0aa
Adding sampling_timer file
2020-11-11 18:44:28 +01:00
Ryan Summers
3b953e36aa
Adding compile-time management of TIM2 channels
2020-11-11 18:42:34 +01:00
Ryan Summers
3a59f3e989
Adding WIP updates for digital input stamping
2020-11-11 18:28:48 +01:00
Ryan Summers
d06a350549
Merge branch 'feature/dma-updates' into feature/digital-input-stamp
2020-11-11 16:30:23 +01:00
Ryan Summers
da9ca81856
Reverting changeset
2020-11-11 12:12:19 +01:00
Ryan Summers
3088a002c0
Adding documentation
2020-11-11 12:09:27 +01:00
Ryan Summers
aa36446f95
Adding updated docs for adc file
2020-11-11 11:57:14 +01:00
Ryan Summers
db3bb511b4
Merge branch 'master' into feature/dma-updates
2020-11-10 16:55:25 +01:00
Ryan Summers
f164a1a89e
Update PR
2020-11-10 15:31:19 +01:00
Ryan Summers
a32ca39ca0
Removing spaces
2020-11-10 15:19:44 +01:00
Ryan Summers
84e31ef036
Fixing directive position
2020-11-10 15:16:37 +01:00
Ryan Summers
7b86a2bc42
Adding comment about deprecation allowance
2020-11-10 15:14:49 +01:00
Ryan Summers
c804312e60
Fixing deprecation warnings
2020-11-10 15:13:57 +01:00
Ryan Summers
014137acf0
Updating QSPI frequency
2020-11-09 15:57:58 +01:00
Ryan Summers
fca38e5d63
Adding support for hardware IO_update
2020-11-09 15:16:44 +01:00
Ryan Summers
c97e4d9d20
Fixing merge issues
2020-11-09 12:33:18 +01:00
Ryan Summers
7e1a58f1f0
Merge branch 'feature/dma-updates' into feature/qspi-stream
2020-11-09 12:32:32 +01:00
Ryan Summers
8d807fa09b
Adding WIP
2020-11-09 12:30:02 +01:00
Ryan Summers
28cb3906ac
Adding WIP HRTimer
2020-11-07 11:01:48 +01:00
Ryan Summers
bab9fbf5ac
Merge branch 'master' into rs/hal-update
2020-11-05 08:09:45 +01:00
Ryan Summers
5cc21cfde8
Combining ADC + DAC ISRs
2020-11-03 16:09:00 +01:00
Ryan Summers
e95cad5bde
Adding WIP updates
2020-11-03 10:52:37 +01:00
Ryan Summers
4e5459433e
Formatting
2020-11-03 09:41:45 +01:00
Ryan Summers
adaca88a50
Adding ADC/DAC modules
2020-11-03 09:41:14 +01:00
Ryan Summers
20e9b6543c
Adding WIP updates to using DMA
2020-11-03 09:36:03 +01:00
Niklas Kuhrmeyer
2f5d26aeaa
decreased routes_storage
2020-10-30 13:33:59 +01:00
Niklas Kuhrmeyer
32d5e4dfe1
format
2020-10-30 13:32:47 +01:00
Niklas Kuhrmeyer
dfe3ac877a
added gateway
2020-10-30 12:16:28 +01:00
Ryan Summers
f56487401c
Adding updates for PHY support
2020-10-28 16:14:48 +01:00
Ryan Summers
11ff93e6f0
Fixing diff
2020-10-28 15:57:14 +01:00
Ryan Summers
e36b853dc8
Renaming clocks to ccdr
2020-10-28 15:51:08 +01:00
Ryan Summers
b4eeeb2042
Reverting unneeded changes
2020-10-28 15:44:52 +01:00
Ryan Summers
c058d4bcde
Adding updates for 0.8.0 of the HAL
2020-10-28 15:41:27 +01:00
Ryan Summers
17c8e4d2e1
Updating to new HAL
2020-10-26 16:58:29 +01:00
Ryan Summers
071ccd17dc
Adding WIP experimental code
2020-10-22 16:16:38 +02:00
Ryan Summers
db182b923d
Adding WIP QSPI streaming
2020-10-21 10:17:22 +02:00
Ryan Summers
dac6f73d5e
WIP updates
2020-10-19 17:12:02 +02:00
Harry Ho
a979bf94dc
update syntax for taking core periphs (required since rtic v0.5.5)
2020-09-16 14:25:36 +08:00
Robert Jördens
d6de4b7028
fmt
2020-06-23 14:55:59 +02:00
Robert Jördens
5c4dec0870
dac clr/ldac: unwrap
2020-06-23 14:16:33 +02:00
Robert Jördens
c326623818
dacs: clr_n high, ldac_n low
2020-06-23 14:13:55 +02:00
Robert Jördens
0a4112eb02
spi nss: very high speed
2020-06-22 22:55:18 +02:00
Ryan Summers
093dca5928
Updating stabilizer devices to utilize 0-based indexing
2020-06-22 08:31:09 +02:00
Ryan Summers
a992d20414
Updating comment about debugging
2020-06-21 13:36:45 +02:00
Ryan Summers
7e279ed87c
Re-enabling the HSE
2020-06-21 14:39:23 +02:00
Ryan Summers
78c9f6e686
Running rustfmt
2020-06-21 14:30:49 +02:00
Ryan Summers
c6859d956e
Allowing pounder to not be present
2020-06-20 16:43:07 +02:00
Robert Jördens
f14f0e2ed1
style: implement a couple clippy suggestions [nfc]
2020-06-17 14:57:09 +02:00
Robert Jördens
f70612f1be
rtfm: migrate to rtic
2020-06-17 12:20:45 +02:00
Robert Jördens
54f51f9484
cargo fmt --all
2020-06-16 16:56:30 +02:00
Robert Jördens
09298bd534
structure: move stabilizer back to top, drop submodules
2020-06-16 16:56:30 +02:00
Ryan Summers
4dcf2b57bd
Updating project structure
2020-06-08 09:36:28 +02:00
Ryan Summers
ade06cbcb8
Updating AD9959 api
2020-06-04 16:56:04 +02:00
Ryan Summers
beecbe3efc
Refactoring AFE code
2020-06-03 17:36:43 +02:00
Ryan Summers
b39de7f414
Adding support for QSPI operating continuously in 4-bit mode
2020-06-03 15:44:34 +02:00
Ryan Summers
13cd0ad636
Updating code after review feedback
2020-06-03 10:36:35 +02:00
Ryan Summers
6792ab5469
Adding input power measurement support
2020-04-29 13:00:29 +02:00
Ryan Summers
6f7bb0569c
Adding stabilizer AFE gain amplifier controls
2020-04-29 11:59:04 +02:00
Ryan Summers
41f4960b93
Refactoring server into separate file
2020-04-28 19:26:43 +02:00
Ryan Summers
b49596c96c
Adding JSON API
2020-04-28 19:15:00 +02:00
Ryan Summers
abf22676ce
Adding refactor to support pounder hardware abstractions
2020-04-28 19:07:19 +02:00
Ryan Summers
87858a6e0a
Fixing changes
2020-04-22 15:59:08 +02:00
Ryan Summers
c6eb4d1757
Adding functional baseline HAL conversion
2020-04-22 15:50:07 +02:00
Ryan Summers
3962f7eb68
Adding WIP updates to SPI functionality
2020-04-22 13:36:51 +02:00
Ryan Summers
d700935246
Adding WIP updates to HAL API
2020-04-21 19:02:52 +02:00
Ryan Summers
820a37a625
Refactoring branches
2020-04-19 13:37:03 +02:00
Ryan Summers
ce9ae48f2a
Adding WIP update to use HAL
2020-04-18 10:54:55 +02:00
Robert Jördens
2001149eda
fmt
2020-02-14 15:06:50 +01:00
Robert Jördens
75eb4954b1
board: dma documentation
2020-02-14 12:26:16 +01:00
Robert Jördens
8b26996ecf
board: dma.st.ndtr.ndt.bits is safe
2020-02-14 09:44:09 +00:00
Robert Jördens
57c9f90f69
board: fix unicode
2019-11-24 15:11:53 +01:00
Robert Jördens
b34fdf7c48
rustfmt: run
2019-11-24 15:10:01 +01:00
Robert Jördens
8c2c0a2027
clippy: allow missing safety doc (rtfm)
2019-11-24 15:04:29 +01:00
Robert Jördens
bda0ca26fb
i2c/eeprom: lint
2019-11-24 14:55:20 +01:00
bors[bot]
d2f8b60c27
Merge #65
...
65: Tim2 late enable r=jordens a=jordens
does this work for you @cjbe ?
bors r+
Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-11-24 13:33:50 +00:00
Robert Jördens
1140b4fb76
board: enable TIM2 late
...
This was triggered by moving log_init and adding i2c_init on top of
the existing ethernet setup/init after the timer setup and enable.
Thanks @cjbe for debugging.
Also move the RCC peripheral enable calls out of i2c and eth setup.
close #55
supersedes #62
2019-11-24 14:26:27 +01:00
bors[bot]
3cf4f2690c
Merge #64
...
64: boards.rs: dos2unix r=jordens a=jordens
bors r+
@cjbe heads up
Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-11-24 13:25:08 +00:00
Robert Jördens
8e84e61ff3
boards.rs: dos2unix
2019-11-24 14:15:11 +01:00
Robert Jördens
bf65b5f14a
default to k_p=1 on boot
2019-11-24 13:10:01 +00:00
Chris Ballance
ab1735950b
fix memory safety issue in ethernet interface ( closes #33 )
...
The CPU is allowed to access normal memory writes out-of-order. Here
the write to the OWN flag in the DMA descriptor (normal memory) was
placed after the DMA tail pointer advance (in device memory, so not
reorderable). This meant the ethernet DMA engine stalled as it saw
a descriptor it did not own, and only restarted and sent the packet
when the next packet was released.
This fix will work as long as the CPU data cache is disabled. If we
want to enable the cache, the simplest method would be to mark SRAM3
as uncacheable via the MPU.
2019-11-16 03:25:42 +00:00
Chris Ballance
d7f46c1f12
factor CPU and board-specific initialisation out of main (NFC)
2019-11-13 22:13:04 +00:00
David Nadlinger
2297286360
Fix TCP command interface rx buffer wrapping
...
Previously, if a message spanned the end of the
receive ring buffer, the last byte in the buffer
would be missing from the to-be-decoded message,
leading to a parse error or panic.
With this commit, >3M commands were exchanged
over one socket without further issues.
2019-11-13 01:50:18 +00:00
bors[bot]
39cb1afcfd
Merge #48
...
48: remove unused code, deny warnings r=jordens a=jordens
bors r+
Co-authored-by: Robert Jördens <rj@quartiq.de>
2019-11-11 11:20:53 +00:00
Robert Jördens
0b4f7c9201
remove unused code, deny warnings
2019-11-11 12:04:50 +01:00
Robert Jördens
65cf0c1594
rcc: pac 0.9 renames
2019-11-11 11:46:07 +01:00
Robert Jördens
17012621dd
use stable rust (1.38.0)
2019-10-22 13:43:49 +00:00
Sebastien Bourdeauducq
80052f089b
fix Unix permissions
2019-09-13 13:52:24 +08:00
Chris Ballance
1f1e588744
fix system time counter
...
The CYCCNT module used to calculate the system
time counts every processor clock cycle =
400 MHz.
2019-09-12 00:35:00 +01:00
bors[bot]
7f295285da
Merge #28 #30
...
28: Read MAC address from EEPROM r=jordens a=cjbe
Try and read the unique MAC address from EEPROM.
If the EEPROM can not be read (e.g. on the unpatched hardware version 1.0 where the EEPROM is unpowered) a hardcoded default of 10:E2:D5:00:03:00 is used.
The MAC address found / used is logged. At the moment the only way of accessing this log is via semihosting.
Closes #23
30: build(deps): bump serde from 1.0.99 to 1.0.100 r=jordens a=dependabot-preview[bot]
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.99 to 1.0.100.
<details>
<summary>Release notes</summary>
*Sourced from [serde's releases](https://github.com/serde-rs/serde/releases ).*
> ## v1.0.100
> - Provide `serde::ser::StdError` and `serde:🇩🇪 :StdError` which are either a re-export of `std::error::Error` (if Serde's "std" feature is enabled) or a new identical trait (otherwise).
>
> ```rust
> #[cfg(feature = "std")]
> pub use std::error::Error as StdError;
>
> #[cfg(not(feature = "std"))]
> pub trait StdError: Debug + Display {
> fn source(&self) -> Option<&(StdError + 'static)> { None }
> }
> ```
>
> Serde's error traits `serde::ser::Error` and `serde:🇩🇪 :Error` require `std::error::Error` as a supertrait, but only when Serde is built with "std" enabled. Data formats that don't care about no\_std support should generally provide their error types with a `std::error::Error` impl directly:
>
> ```rust
> #[derive(Debug)]
> struct MySerError {...}
>
> impl serde::ser::Error for MySerError {...}
>
> impl std::fmt::Display for MySerError {...}
>
> // We don't support no_std!
> impl std::error::Error for MySerError {}
> ```
>
> Data formats that *do* support no\_std may either have a "std" feature of their own as has been required in the past:
>
> ```toml
> [features]
> std = ["serde/std"]
> ```
>
> ```rust
> #[cfg(feature = "std")]
> impl std::error::Error for MySerError {}
> ```
>
> ... or else now may provide the std Error impl unconditionally via Serde's re-export:
>
> ```rust
> impl serde::ser::StdError for MySerError {}
> ```
</details>
<details>
<summary>Commits</summary>
- [`b6a77c4`](b6a77c4413
) Release 1.0.100
- [`3343885`](33438850a6
) Merge pull request [#1620 ](https://github-redirect.dependabot.com/serde-rs/serde/issues/1620 ) from dtolnay/error
- [`c083cfd`](c083cfd65e
) Export std error type so downstream doesn't need "std" feature
- [`4cea81f`](4cea81f93f
) Merge pull request [#1615 ](https://github-redirect.dependabot.com/serde-rs/serde/issues/1615 ) from jamesmunns/patch-1
- [`2d36be7`](2d36be753a
) Add Postcard to the list of Serde Data Formats
- [`738d29e`](738d29eaa9
) Update serde_derive_internals to syn 1.0
- [`b536fb6`](b536fb67a4
) Merge pull request [#1604 ](https://github-redirect.dependabot.com/serde-rs/serde/issues/1604 ) from UnHumbleBen/patch-1
- [`b10c23a`](b10c23a950
) Fixed a typo
- [`85a5cf7`](85a5cf7cb1
) Document serde_derive minimum rustc
- See full diff in [compare view](https://github.com/serde-rs/serde/compare/v1.0.99...v1.0.100 )
</details>
<br />
[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.99&new-version=1.0.100 )](https://dependabot.com/compatibility-score.html?dependency-name=serde&package-manager=cargo&previous-version=1.0.99&new-version=1.0.100 )
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com ):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Finally, you can contact us by mentioning @dependabot.
</details>
Co-authored-by: Chris Ballance <chris.ballance@physics.ox.ac.uk>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2019-09-11 14:18:18 +00:00
Robert Jördens
fc93de432d
enable cycle counter
...
c.f. japaric/cortex-m-rtfm#184
Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-09-11 15:35:06 +02:00
Chris Ballance
30faa5b703
read MAC address from EEPROM
2019-09-08 16:02:09 +01:00
Chris Ballance
12b06a0fa9
add I2C and 24xx EEPROM driver
2019-09-05 12:45:57 +01:00
Robert Jördens
ba5634fb31
smoltcp: bump
2019-08-27 13:19:03 +00:00
Robert Jördens
1405e62682
rtfm: 0.5 beta
2019-08-27 13:19:03 +00:00
Robert Jördens
61250a3e90
cargo: bump stm32h7, misc
2019-07-29 08:34:46 +00:00
Robert Jördens
dd981ed850
panic: abort, not halt
2019-06-10 00:29:20 +02:00
Robert Jördens
9b6ef68eac
fix panic handler
2019-06-07 14:28:22 +00:00
Robert Jördens
8ee0950005
panic: turn red leds on
2019-06-07 11:26:24 +02:00
Robert Jördens
5204a3169b
gpio: use odr variants
2019-06-04 09:26:28 +00:00
Robert Jördens
a8e1740759
parametrize poll return
2019-06-03 17:08:21 +00:00
Robert Jördens
ee15c27dd9
make json poll generic
2019-06-03 15:54:35 +00:00
Robert Jördens
6c973038b4
rtfm: command port
2019-06-03 15:06:11 +00:00
Robert Jördens
2b9a02d98e
rtfm: status port
2019-05-30 21:52:01 +00:00
Robert Jördens
b646c44c1c
rtfm: move ethernet into idle
2019-05-30 20:57:41 +00:00
Robert Jördens
6be0ccfc6a
rtfm: continue work
2019-05-30 16:18:59 +00:00
Robert Jördens
7501ea1963
use rtfm [wip]
2019-05-30 16:03:48 +00:00
Robert Jördens
9dff71a0c4
Merge branch 'master' into new-pac
...
* master:
refactor server
cleanup, robustify
iir: remove old setting
frontend: cleanup
cargo: use published serde-json-core
cargo: drop lexical
2019-05-28 11:02:26 +00:00
Robert Jördens
b0921f67eb
refactor server
2019-05-28 10:59:26 +00:00
Robert Jördens
1cff400d00
cleanup, robustify
2019-05-28 10:15:20 +00:00
Robert Jördens
a15b490b42
iir: remove old setting
2019-05-28 09:49:17 +00:00
Robert Jördens
d6b37e6c0e
Merge branch 'master' into new-pac
...
* master:
python configuration tool
json command interface
use serde-json-core [wip]
README: try SVG again
add Nix build files
png
README: diagram and photo
2019-05-27 18:49:51 +00:00
Robert Jördens
8e4fbaf80e
json command interface
...
close #3
2019-05-27 18:44:52 +00:00
Robert Jördens
2746c2fe00
use serde-json-core [wip]
2019-05-23 16:57:08 +00:00
Robert Jördens
ef18eb38ca
ethernet peripheral ownership, cs
2019-05-06 18:10:42 +00:00
Robert Jördens
bdb6955aa1
pac: rcc
2019-05-06 18:10:42 +00:00
Robert Jördens
f1c43c6492
pac updates (~0.8)
2019-05-06 17:09:49 +00:00
Robert Jördens
86dbdf98e2
stm32h7 svd and pac changes
2019-05-06 08:48:22 +00:00
Robert Jördens
23e262304b
stm32h7 changes round 1
2019-05-06 08:47:49 +00:00
Robert Jördens
1494761f35
use atomics
2019-04-30 11:42:05 +00:00
Robert Jördens
0ebcd685c3
eth: remove counter
2019-04-29 20:00:53 +02:00
Robert Jördens
cd284d2c07
eth: mtu clarification
2019-04-29 17:55:24 +00:00
Robert Jördens
9863ba3a33
cleanup
2019-04-29 11:03:39 +00:00
Robert Jördens
0efd14aec8
ethernet: tweak
2019-04-28 14:06:56 +00:00
Robert Jördens
0fafd7aa42
eth: sketch
...
eth: rework
ethernet: wip
eth: simplify
cargo: bump stm32h7
ethmac: rework
ethmac: fixup
cargo: semihosting version bump
ethmac: fixup
eth: tweak
eth: cleanup
eth: tweaks
eth: more debug
eth: tweak
memory: rename for clarity
eth: tweak
eth: pings
eth: cleanup
eth: cleanup, use interrupts, tighten filter
2019-04-27 16:17:28 +00:00
Robert Jördens
8ff8a4ce31
main: work around spi stall erratum and debug
2019-04-17 14:04:05 +00:00
Robert Jördens
00a758ed12
iir: more tweaking
2019-04-16 14:55:26 +00:00
Robert Jördens
94a928200e
iir: tweak
2019-04-16 11:27:11 +00:00
Robert Jördens
fac82b22ff
cleanup
2019-04-15 15:14:02 +00:00
Robert Jördens
39214c8a26
dma: tim->dma->spi adc start
2019-04-15 13:29:46 +00:00
Robert Jördens
6b8473daad
use unwrap() for simplicity
2019-04-12 16:13:18 +00:00
Robert Jördens
01ddb2bc77
cleanup, edition 2018
2019-04-12 15:44:09 +00:00
Robert Jördens
5369b928c1
add get_x_offset
2019-03-31 11:33:18 +00:00
Robert Jördens
293520e26e
iir: tweak, add offset
2019-03-29 18:33:32 +00:00
Robert Jördens
3b895ead4b
set afe1 gain
2019-03-29 08:37:40 +00:00
Robert Jördens
74f10a7ac4
cleanup iir
2019-03-28 15:10:04 +00:00
Robert Jördens
dc2e0f8b07
dual channel
2019-03-28 12:13:47 +00:00
Robert Jördens
7f378a3f3d
clean dcache
2019-03-28 10:47:15 +00:00
Robert Jördens
9350f17ca3
calculate pi coefficients
2019-03-28 10:09:50 +00:00
Robert Jördens
ed663b536e
add prelim iir
2019-03-27 21:45:43 +00:00
Robert Jördens
eff2dc6c4e
led off
2019-03-27 18:24:58 +00:00
Robert Jördens
31264452a6
irq bypass for dma
2019-03-27 18:19:32 +00:00
Robert Jördens
2eeb00bb58
use tim2,dma1 to trigger cr1
2019-03-27 13:50:25 +00:00
Robert Jördens
f9e52928fd
use irq
2019-03-25 09:08:27 +00:00
Robert Jördens
aa3feeb14e
back to tsize=1 adc
2019-03-20 19:28:23 +00:00
Robert Jördens
a2265ab2d1
experiment with duplex adc xfers
...
problematic because:
* in tsize=1 there needs to be a cstart
* in tsize=0 there is no mssi
2019-03-20 19:08:31 +00:00
Robert Jördens
984cef6a4c
readme, license
2019-03-20 18:33:35 +00:00
Robert Jördens
208980d94d
refactor into functions
2019-03-20 18:06:13 +00:00
Robert Jördens
52a3f8c4b7
rxdr: 16 bit
2019-03-20 13:48:28 +00:00
Robert Jördens
263784ff13
no midi
2019-03-20 13:31:48 +00:00
Robert Jördens
d3d2d4e4f8
enable i/o compensation cell
2019-03-20 10:29:13 +00:00
Robert Jördens
cbd9bcd302
dac: use inifinite xfers
2019-03-20 09:51:06 +00:00
Robert Jördens
772b1b4101
dac tx: different work around
2019-03-19 22:02:16 +00:00
Robert Jördens
4ee7ccb762
fix afe gain
2019-03-19 21:52:55 +00:00
Robert Jördens
bbe79e3484
speed up pclk again
2019-03-19 21:52:48 +00:00
Robert Jördens
8fbb1c751b
work around erratum 2.10.2
2019-03-19 15:39:01 +00:00
Robert Jördens
4b49f29b17
dac
2019-03-19 15:27:22 +00:00
Robert Jördens
b9f27791ab
adc
2019-03-18 19:10:36 +00:00
Robert Jördens
a20e0fa3e5
speed up
2019-03-18 16:57:00 +00:00
Robert Jördens
155aa5c032
start
2019-03-18 12:56:26 +01:00