Commit Graph

5110 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 351a682ebd ad9912: fix ftw width docstring 2020-02-27 02:11:56 +08:00
Sebastien Bourdeauducq abd3c2a0db firmware: expose fmod to kernels. Closes #1417 2020-01-10 14:33:32 +08:00
Robert Jördens b0661ec055 comm_analyzer: don't assume every message has data
close #1377
2019-10-28 15:36:45 +01:00
Sebastien Bourdeauducq c60ea58e8d examples/kc705: fix dds_test 2019-10-17 07:37:29 +08:00
Sebastien Bourdeauducq aeb114adfb coreanalyzer: AD9914 fixes (#1376) 2019-10-17 07:37:25 +08:00
Charles Baynham 80c0aa5bfa pyon: Handle inf in decoding 2019-09-12 09:46:58 +08:00
Sebastien Bourdeauducq 8c88ce8169 artiq_run: fix expid class_name inconsistency 2019-09-09 15:17:02 +08:00
Sebastien Bourdeauducq 7cf25f8539 artiq_client: python 3.7 compatibility 2019-08-05 13:44:24 +08:00
Sebastien Bourdeauducq dd78c0e53d support overriding versioneer 2019-08-05 13:36:09 +08:00
Sebastien Bourdeauducq 5fe37cad30 dashboard: work around disappearing TTL/DDS panel bug. Closes #1307 2019-06-14 11:33:04 +08:00
David Nadlinger 2183c06154 firmware: Fix kernel RPC handling of zero-size values (e.g. empty arrays) 2019-04-11 11:29:58 +08:00
David Nadlinger 8b69babe8a firmware: Make "unexpected reply from kernel CPU" log messages unique
This makes it easier to localize issues based on the log output.
2019-04-11 11:29:51 +08:00
David Nadlinger 3e49da3d39 coredevice: Add test for recent kernel RPC fixes
This covers all three (de)serialisation fixes.
2019-04-11 11:29:45 +08:00
David Nadlinger ff1eb4858a compiler: Fix crash in escape analysis for assigning string literals 2019-04-11 11:29:39 +08:00
David Nadlinger 56e14bfac7 compiler: Fix comparison of tuples of lists 2019-04-11 11:29:34 +08:00
David Nadlinger 2cbb2b970c compiler: Fix comparison of nested lists 2019-04-11 11:29:27 +08:00
David Nadlinger debf64d1c2 firmware: Fix kernel RPC strings size (memory corruption)
Test case to follow.
2019-04-11 11:29:21 +08:00
David Nadlinger cb326aca70 firmware: Fix kernel RPC tuple size calculation (memory corruption)
Test case to follow.
2019-04-11 11:29:16 +08:00
David Nadlinger b89a67ef9d coredevice: Fix host-side serialization of (nested) lists
Test case to follow.
2019-04-11 11:29:09 +08:00
David Nadlinger 0c5fa373d5 compiler: Quote tuples as TTuple values
Previously, they would end up being TInstances,
rendering them useless.
2019-04-11 11:29:05 +08:00
David Nadlinger 01213e2381 gui: Fix crash when quickly opening/closing applets
Quickly closing/reopening applets (e.g. quickly clicking the checkbox
on an entire folder of applets) would previously lead to an occasional
KeyError on the self.dock_to_item access in on_dock_closed, as close()
would be invoked more than once.

The geometry/checked state handling can potentially be cleaned up
further, but at least this avoid the crash.
2019-03-11 20:39:22 +08:00
Sebastien Bourdeauducq 6113ecb199 kasli: add nrc variant 2019-03-11 16:27:52 +08:00
Robert Jördens b53d874c6a dashboard: reconnect to core moninj
* handle disconnects like core device address changes and do a
  disconnect/connect iteration
* after connection failure wait 10 seconds and try again
* this addresses the slight regression from release-2
  to release-3 where the moninj protocol was made stateful
  (#838 and #1125)
* it would be much better to fix smoltcp/runtime to no loose the
  connection under pressure (#1125)
* the crashes reported in #838 look more like a race condition
* master disconnects still require dashboard restarts

Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-02-20 10:06:32 +01:00
whitequark 61f6619cb0 compiler: monomorphize casts first, but more carefully.
This reverts 425cd7851, which broke the use of casts to define
integer width.

Instead of it, two steps are taken:
  * First, literals are monomorphized, leading to predictable result.
  * Second, casts are monomorphized, in a top-bottom way. I.e.
    consider the expression `int64(round(x))`. If round() was visited
    first, the intermediate precision would be 32-bit, which is
    clearly undesirable. Therefore, contextual rules should take
    priority over non-contextual ones.

Fixes #1252.
2019-02-07 20:57:44 +08:00
Robert Jördens 162ce813ea ad53xx: ignore F3 (reserved)
Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-01-24 15:50:25 +01:00
Sebastien Bourdeauducq 1555fcf4ab ad9912: fix imports 2019-01-23 19:09:51 +08:00
Sebastien Bourdeauducq bcff533899 kasli_tester: fix grabber test 2019-01-23 17:59:58 +08:00
Sebastien Bourdeauducq 139e87de36 firmware: fix compilation error with more than 1 Grabber 2019-01-22 19:47:17 +08:00
Robert Jördens 51ee9122f2 ad9912: add some slack after init 2019-01-21 18:12:12 +01:00
Sebastien Bourdeauducq 76f63b29ba ad9910: add precision about tune_io_update_delay/tune_sync_delay order 2019-01-21 19:38:03 +08:00
Sebastien Bourdeauducq 222825d3a8 urukul: fix typos 2019-01-21 19:37:33 +08:00
Sebastien Bourdeauducq 9bbb67c340 kasli_tester: skip Zotino test when no Zotino is present 2019-01-21 18:12:03 +08:00
Sebastien Bourdeauducq 715dac5798 kasli: add Berkeley variant 2019-01-21 17:45:42 +08:00
Sebastien Bourdeauducq f0e4862d16 kasli_tester: skip Grabber test when no Grabber is present 2019-01-21 17:45:38 +08:00
David Nadlinger 4933686dd0 master/scheduler: Fix misleading indentation [nfc] 2019-01-21 10:25:01 +08:00
Sebastien Bourdeauducq ea39160006 monkey_patches: disable for Python >= 3.6.7
3.6 >=7 are fixed
3.7.0 is incompatible with the monkey patches and they do more harm than good
3.7 >=1 are fixed
2019-01-15 20:34:31 +08:00
whitequark 56315203a9 compiler: first monomorphize ints, then casts.
Fixes #1242.
2019-01-13 11:53:58 +08:00
whitequark ed6d927f6c Improve Python 3.7 compatibility.
async is now a full (non-contextual) keyword.

There are two more instances:
   - artiq/frontend/artiq_client.py
   - artiq/devices/thorlabs_tcube/driver.py

It is not immediately clear how to fix those, so they are left for
later work.
2019-01-13 11:53:58 +08:00
David Nadlinger cc811429f4 coredevice.ad9910: Fix phase tracking ref_time passing
This is difficult to test without hardware mocks or some
form of phase readback, but the symptom was that e.g.
`self.dds.set(…, ref_time=now_mu() - 1)` would fail
periodically, that is, whenever bit 32 of the timestamp
would be set (which would be turned into the sign bit).

This is a fairly sinister issue, and is probably a compiler
bug of some sort (either accepts-invalid or wrong type inference).
2019-01-12 17:24:03 +00:00
Robert Jördens 5b2e7cb7f3 test_ad9910: relax tests
* tune_sync_delay: the opposite IO_UPDATE to SYNC_CLK alignment may not be perfectly
mis-aligned
* set_mu_speed: seems to be slower on the buildbot

Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-01-09 18:34:33 +01:00
Robert Jördens 41a816fd16 ad9910: fix RTIO fine timestamp nudging
Previously the TSC was truncated to an even coarse RTIO periods before doing
the setting SPI xfer. Afterwards the the IO update pulse would introduce
at least one but less than two RTIO cycles. Ultimately the RTIO TSC was
truncated again to even. If the SPI xfer takes an odd number of RTIO
periods, then a subsequent xfer would collide.

close #1229

Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-01-09 18:34:20 +01:00
Robert Jördens 51239ebdb6 ad9910: add more slack in tune_sync_delay
close #1235

Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-01-09 18:34:03 +01:00
Sebastien Bourdeauducq 0303267d7e satman: wait for CPLL/QPLL lock after setting drtio_transceiver::stable_clkin 2019-01-07 17:09:35 +08:00
Sebastien Bourdeauducq 0ec01790fe firmware: fix not(has_spiflash) build 2019-01-05 23:41:50 +08:00
Sebastien Bourdeauducq f23d4e2762 update copyright year 2019-01-05 15:03:30 +08:00
Drew Risinger 17fa5026a5 pyon: fix grammar in module docstring.
Signed-off-by: Drew Risinger <drewrisinger@users.noreply.github.com>
2019-01-05 10:23:47 +08:00
Drew 8eee5dd414 tdr.py: typo (#1220) 2018-12-19 02:47:34 +08:00
Sebastien Bourdeauducq 371dda4a16 sync_struct: handle TimeoutError as subscriber disconnection. Closes #1215 2018-12-13 07:15:07 +08:00
Robert Jördens b1ea02ddf0 eem: name the servo submodule
This allows the migen namer to derive names for the ADC return clock
domain in the case of multiple SUServos

close #1201

Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-12-11 11:37:36 +01:00
Sebastien Bourdeauducq e4ddfb303c Revert "firmware/ksupport: Update `cfg(not(has_rtio))` stub signatures"
release-4 does not have DRTIO switching nor the new RTIO CSR interface.

This reverts commit a7d7e91188.
2018-12-11 16:47:34 +08:00