Commit Graph

7210 Commits

Author SHA1 Message Date
ea2956bcb8 nix: allow overriding artiq-board build command 2019-02-12 19:32:58 +08:00
6ad2e13515 kasli: add generic builder (WIP) 2019-02-12 19:18:09 +08:00
2104a93f78 build_soc: allow overriding SoC class name 2019-02-12 18:33:52 +08:00
ff4e4f15ed kasli: expose base SoC classes 2019-02-12 18:33:27 +08:00
74c16e038e nix: fix edb12a6a5d 2019-02-11 20:10:19 +08:00
3a84790c44 nix: build kc705 nist_clock packages 2019-02-11 19:27:50 +08:00
edb12a6a5d nix: revert accidentally committed local modification 2019-02-11 19:24:02 +08:00
ed030704d2 nix: place board binaries where artiq_flash looks for them 2019-02-11 19:05:33 +08:00
c32bf770ab nix: give openocd a better name to distinguish from nixpkgs version 2019-02-11 12:28:58 +08:00
whitequark
0a84dd38c1 Add missing test from d6eb2b02. 2019-02-10 07:25:53 +00:00
David Nadlinger
01c3000ef3 master: Print offending key on HDF5 dataset type error
This helps debugging the cause of TypeErrors arising from types
not handled by the HDF5 serializer, as the backtrace doesn't
otherwise include any useful information.
2019-02-09 20:50:38 +00:00
David Nadlinger
56b2e0c262 artiq_influxdb: Support append() in dataset _Mock
This went undetected as append mods were not actually in use
in any part of the codebase previously.
2019-02-09 20:50:38 +00:00
David Nadlinger
bf84226c7d language: Support appending to datasets 2019-02-09 20:50:38 +00:00
David Nadlinger
820326960e test: Add basic experiment dataset interface tests 2019-02-09 20:50:38 +00:00
dc14f8258f
nix: fix README.rst 2019-02-10 01:16:19 +08:00
e3cf4fd342
nix: another attempt at getting github .rst formatter to behave 2019-02-10 01:13:54 +08:00
566f5094d9
nix: more .rst struggles 2019-02-10 01:07:55 +08:00
d83251098a
nix: fix user instructions formatting 2019-02-10 01:04:28 +08:00
3a21794b79 nix: update user instructions 2019-02-10 01:01:16 +08:00
f673ce276f nix: consistent naming of board artifacts 2019-02-09 18:55:50 +08:00
8194f74252 nix: build board conda package 2019-02-09 18:06:36 +08:00
7c6abfb2ce nix: cleanup 2019-02-09 17:58:46 +08:00
ee611c5c30 nix: build gateware 2019-02-09 15:07:16 +08:00
2aab84453d nix: commit missing file 2019-02-09 14:44:32 +08:00
a52234b5ff nix: build firmware on hydra 2019-02-09 14:29:37 +08:00
13c4d935a2 nix/artiq-board: build tester variant 2019-02-09 14:23:36 +08:00
e424927049 nix: use nixpkgs cargo
This simplifies the code and avoids multiplication of cargo versions.
This installs cargo 1.27, but it is compatible enough with artiq rustc
1.28 not to cause any problems for our purposes.
2019-02-09 14:19:34 +08:00
7584639acd nix/artiq-board: cleanup 2019-02-09 13:41:16 +08:00
07ac42505b nix: add firmware derivation (WIP) 2019-02-09 10:36:20 +08:00
f0f50bf1dc nix: cleanup 2019-02-09 10:24:22 +08:00
2de1eaa521 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-08 23:52:16 +08:00
7994c294af nix: set up hydra to provide conda package 2019-02-08 23:14:32 +08:00
1cfd26dc2e kasli: add UNSW variant 2019-02-08 17:51:51 +08:00
306d9cf5d0 nix: work around lack of PYTHON environment variable in conda build 2019-02-08 15:50:24 +08:00
744ef03fa1 conda: remove --install-lib workaround 2019-02-08 15:50:02 +08:00
6f1bb5c351 nix: add experimental derivation to build conda package deterministically 2019-02-08 15:23:31 +08:00
3e8fe3f29d suservo: fix permissions 2019-02-08 14:54:02 +08:00
David Nadlinger
ef934ad958 Add test/release notes for command-less controllers
See eaa1b44b00 for the actual change.
2019-02-07 21:51:15 +00:00
eaa1b44b00 ctlmgr: ignore controllers without a "command" field
Allow controllers to be specified without a "command" field. The user takes
responsibility for ensuring the controller is running: the controller manager
does not attempt to ping the controller. This is useful when one has a common
controller shared between several masters.
2019-02-07 21:50:29 +00:00
hartytp
0ebff04ad7 SUServo: apply bit masks to servo memory writes to prevent overflows
Signed-off-by: TPH <thomas.harty@physics.ox.ac.uk>
2019-02-07 17:04:11 +01:00
hartytp
f6142816b8
Revert "SUServo: remove references to non-existent a0 parameter" (#1270)
This reverts commit f3aab2b89156bbc1b12f847093a87a8933293df2.

Signed-off-by: TPH <thomas.harty@physics.ox.ac.uk>
2019-02-07 15:57:43 +00:00
hartytp
fe63c9b366
SUServo: remove references to non-existent a0 parameter (#1268)
Signed-off-by: Thomas Harty <thomas.harty@physics.ox.ac.uk>
2019-02-07 15:29:32 +00:00
hartytp
df6c1fca2c
SUServo: flake8 [NFC] (#1267)
Signed-off-by: Thomas Harty <thomas.harty@physics.ox.ac.uk>
2019-02-07 15:13:44 +00:00
hartytp
87e85bcc14 suservo: fix coefficient data writing
Signed-off-by: Thomas Harty <thomas.harty@physics.ox.ac.uk>
2019-02-07 14:47:11 +01:00
whitequark
d6eb2b023a 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 06:24:32 +00:00
David Nadlinger
0da799fa46 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-06 23:39:32 +00:00
b56c7cec1e kasli: use 100MHz RTIO and 800MHz Urukul frequencies on Berkeley target
Urukul sync is not reliable at 125/1000
2019-02-05 11:24:45 +08:00
d0b6f92b11 nix: bump jesd204b 2019-02-04 19:31:09 +08:00
2f7364563c nix: fix breakage introduced by nixpkgs 6f05dea3 2019-02-04 19:28:36 +08:00
5a7460a38e kasli: add sync delays to device_db_berkeley 2019-02-01 22:14:03 +08:00