Commit Graph

6390 Commits

Author SHA1 Message Date
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
Astro 9bead085c7 manual: fix wavedrom extension json syntax
The leading empty line seems to be required by Sphinx 1.8.3.

The arguments must be strict JSON when prerendering for a target that is
not "html". Browser JSON parsing may have been more lenient.

Signed-off-by: Stephan Maka <stephan@spaceboyz.net>
2019-02-21 11:28:11 +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
David Nadlinger 04952cb230 conda: Require recent aiohttp
artiq_influxdb doesn't work with aiohttp 0.17 (anymore), as the
ClientSession API changed. I have not looked up precisely which
is the first version that works, but 3.x has been out for almost
a year and is available on the Anaconda/conda-forge channels.
2019-02-07 10:41:48 +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
David Nadlinger 6969c889d8 manual: Minor grammar fixes 2019-01-21 10:24:11 +08:00
Robert Jördens 4f5f0538b7 doc/installing: cleanup and fixes
* fix broken and old URLs to anaconda/miniconda
* append conda-forge, do not prepend it (consistent with conda-forge
  instructions and does not blindly prefer packages in conda-forge over
  packages in defaults)
* shorten m-labs repo
2019-01-16 12:44:12 +01: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
Sebastien Bourdeauducq 6020b9c2f1 manual: update firmware/gateware build/flashing instructions. Closes #1223 2019-01-05 12:39:07 +08:00
Drew 9b081737d4 artiq_flash: change docs from old `-m` arg to `-V` (#1224) (#1227)
`-m` argument is deprecated. Changed to newer `-V` argument
Closes #1224

Signed-off-by: Drew Risinger <drewrisinger@users.noreply.github.com>
2019-01-05 10:23:47 +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 3312a033eb Docs: instructions to check if in plugdev group 2019-01-05 10:23:47 +08:00
Sebastien Bourdeauducq a53065ffc8 manual: move to correct directory for building rust crates. Closes #1222 2018-12-21 10:37:22 +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
David Nadlinger a7d7e91188 firmware/ksupport: Update `cfg(not(has_rtio))` stub signatures
This fixes up 8caea0e6d3,
but it is unclear whether anyone even uses a `not(has_rtio)`
configuration at this point.
2018-12-11 09:30:49 +01:00
Kaifeng 34d0f592f1 kasli_tester: add support for windows platform. (#1204) 2018-12-05 21:07:55 +08:00
Sebastien Bourdeauducq 7358262ab3 test_loopback_gate_timing: fix lat_offset 2018-12-02 20:52:54 +08:00
Sebastien Bourdeauducq 6fdfd6103f ctlmgr: do not raise exceptions in Controllers.__setitem__. Closes #1198 2018-12-01 18:06:53 +08:00
Sebastien Bourdeauducq e3624ca86d test_loopback_gate_timing: print input timing for debugging 2018-12-01 18:06:22 +08:00
Sebastien Bourdeauducq d6cc10b43c grabber: work around windows numpy int peculiarity (same as a81c12de9) 2018-11-30 18:41:31 +08:00
Sebastien Bourdeauducq 35f331f82c language: fix syscall arg handling 2018-11-30 17:59:42 +08:00
Sebastien Bourdeauducq a3c5cdeb86 manual/drtio: update output internal description (SED, 'destination' switching terminology) 2018-11-26 18:36:59 +08:00
Robert Jördens cc61ee9139 urukul: work around windows numpy int peculiarity
"OverflowError: Python int too large to convert to C long" otherwise

opticlock#74

Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-25 16:58:10 +01:00
Sebastien Bourdeauducq 74371399de RELEASE_NOTES: remove ARTIQ-5 entry 2018-11-20 18:39:27 +08:00
Sebastien Bourdeauducq bf50dcf76d conda: use misoc release 2018-11-20 17:15:53 +08:00