Commit Graph

5618 Commits

Author SHA1 Message Date
David Nadlinger 6d6f66338b runtime: Update core config panic_reset command suggestion message 2019-09-10 19:31:19 +01:00
Charles Baynham ddd34e5a9c influx_schedule: log repo_rev along with other info
Signed-off-by: Charles Baynham <charles.baynham@npl.co.uk>
2019-09-10 13:46:28 +02:00
Sebastien Bourdeauducq 98caaebade consistent use of 'class name' terminology to select a class within an experiment file. Closes #1348 2019-09-09 15:16:33 +08:00
Sebastien Bourdeauducq 21021beb08 kasli: remove opticlock (moved to kasli_generic) 2019-09-09 15:03:10 +08:00
Sebastien Bourdeauducq 436662be52 ddb_template: add Novogorny support 2019-09-09 15:00:45 +08:00
Sebastien Bourdeauducq 69c2acd9d7 ddb_template: sampler cnv is ttl not spi 2019-09-09 14:57:42 +08:00
Sebastien Bourdeauducq cfb5ef5548 kasli_generic: add Novogorny support 2019-09-09 14:54:34 +08:00
Sebastien Bourdeauducq 0b9168994f Revert "dashboard: Sort TTL moninj channels by name"
This reverts commit b3db3ea6fc.

Closes #1288
2019-09-06 11:17:10 +08:00
Charles Baynham d31f30a436 influxdb_schedule: fix typo in parameter name 2019-09-05 17:42:56 +02:00
Charles Baynham 7ac8feea19 influxdb_schedule: Handle all exceptions 2019-09-05 17:42:56 +02:00
Sebastien Bourdeauducq 1fb317778a eem/grabber: allow third EEM to be specified 2019-08-29 18:58:12 +08:00
Astro 90e8e074cd firmware: turn errors into &str for remote_i2c as well
should resolve breakage on a few targets/variants introduced by PR #1351
2019-08-29 09:05:47 +08:00
Astro 71b3c66af9 firmware: conditionally compile has_si5324
avoids unused warnings where this module is not used.
2019-08-29 09:04:54 +08:00
Sebastien Bourdeauducq 959679d8b7 wrpll: add I2CMasterMachine 2019-08-27 18:02:05 +08:00
Sebastien Bourdeauducq c03c35f375 Revert "compiler: armv7-unknown-linux-gnueabihf -> armv7-linux-gnueabihf"
rustc insists on -unknown.

This reverts commit cf47fa44d8.
2019-08-26 11:23:00 +08:00
Sebastien Bourdeauducq cf47fa44d8 compiler: armv7-unknown-linux-gnueabihf -> armv7-linux-gnueabihf 2019-08-26 11:12:49 +08:00
Sebastien Bourdeauducq 98cd9a539c compiler: support Cortex A9 target 2019-08-26 10:46:22 +08:00
Astro afe162ceca firmware: don't unwrap() but propagate pca9548 errors 2019-08-17 09:15:26 +08:00
Astro a8aabd3815 firwmare: turn i2c errors into &str 2019-08-17 09:15:26 +08:00
Astro 8fc5ce902f firmware: let kasli obtain default hardware_addr from i2c_eeprom 2019-08-17 09:15:26 +08:00
Astro d666f3d573 firmware: factor out mod pca9548 from si5324
orepares for further i2c devices.
2019-08-17 09:15:26 +08:00
Sebastien Bourdeauducq 1fd2322662 wrpll/thls: implement global writeback 2019-08-15 23:16:17 +08:00
Sebastien Bourdeauducq 24082b687e wrpll/filters: clean up and make compatible with thls 2019-08-15 17:58:22 +08:00
Sebastien Bourdeauducq 9331fafab0 wrpll/filters: new code from Weida 2019-08-15 17:24:40 +08:00
Sebastien Bourdeauducq 5c3974c265 wrpll/thls: fix opcode decoding 2019-08-15 17:12:48 +08:00
Sebastien Bourdeauducq 19620948bf wrpll/thls: implement signed numbers 2019-08-15 17:04:17 +08:00
Sebastien Bourdeauducq efc43142a6 wrpll/thls: implement min/max 2019-08-15 16:42:59 +08:00
Sebastien Bourdeauducq 44969b03ad wrpll/thls: rework instruction decoding 2019-08-15 15:55:13 +08:00
Sebastien Bourdeauducq 2776c5b16b wrpll/thls: support mulshift 2019-08-15 15:07:13 +08:00
Robert Jördens e9b78b62db kasli_tester/zotino: always alternate voltage sign
Before the voltages on a second Zotino would start 2.1, 1.9, 2.2, 1.8
..., 3.6, 0.4 and overlap with the voltages on the first.
Now the voltages are 2.1, -2.1, 2.2, -2.2, ..., 3.6, -3.6 which allows
quick identification of card/channel and easy prediction when deploying.
2019-08-06 17:38:55 +02:00
Sebastien Bourdeauducq f861459ace wrpll: add filter algorithms (WIP) 2019-08-02 13:23:16 +08:00
David Nadlinger 99e490f9ff coredevice/suservo: Slightly reword get_adc[_mu]() docstring for clarity
This hopefully suggests a bit better that the value is the last one
fetched by the servo (i.e. needs the servo active to update), rather
than somehow requesting a new sample to be taken.
2019-07-30 12:22:08 +01:00
Robert Jördens 3f0657f2a8 artiq_influxdb_schedule: add schedule logger
Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-07-26 14:47:18 +02:00
Sebastien Bourdeauducq 7a5dcbe60e wrpll/thls: support processor start/stop 2019-07-24 18:51:33 +08:00
Sebastien Bourdeauducq b8870997d0 doc: clarify TTL direction control with buffered cards 2019-07-24 10:04:45 +08:00
Sebastien Bourdeauducq 623446f82c wrpll/thls: simple simulation demo 2019-07-20 18:50:57 +08:00
Sebastien Bourdeauducq 831b3514d3 wrpll/thls: stop at return statement 2019-07-19 16:27:29 +08:00
David Nadlinger 280915d54f coredevice/suservo: Adjust T_CYCLE to match gateware
See GitHub #1338.
2019-07-17 00:20:22 +01:00
Sebastien Bourdeauducq 34222b3f38 wrpll: encode thls program 2019-07-09 17:56:14 +08:00
Sebastien Bourdeauducq 5f461d08cd wrpll: add simple thls compiler 2019-07-09 16:07:31 +08:00
Robert Jördens f7e10759dc suservo: note requirement to stop servo when accessing state
As already mentioned in the gateware.

One alternative would be to detect address collisions and
stall the read for one cycle.

Note that there will in general not be a consistent view of the servo
state unless the servo is stopped.

close #1337
2019-07-08 18:37:42 +02:00
Sebastien Bourdeauducq e4fff390a8 si590 -> si549
Had mistaken the part numbers.
2019-07-07 09:39:55 +08:00
Sebastien Bourdeauducq dceb5ae501 wrpll: Si590 I2C mux, CDC 2019-07-05 23:42:37 +08:00
Sebastien Bourdeauducq f8dba7ae35 rtio: use BlindTransfer from Migen 2019-07-05 18:46:18 +08:00
Sebastien Bourdeauducq 5a9bb0ecba runtime: fix incorrect 'RTIO clock failed' report 2019-06-24 23:33:13 +08:00
David Nadlinger 8bf9640185 coredevice/suservo: Fix output IIR state width in docstring 2019-06-21 11:27:39 +02:00
David Nadlinger 34f48f57cc coredevice/suservo: Fix {get,set}_y_mu() scaling
Previously, Channel.set_y(1) would set the output to -1 instead.
2019-06-21 11:27:39 +02:00
Sebastien Bourdeauducq f6edceb23d kasli_tester: cleanup/fix test skipping 2019-06-21 16:00:14 +08:00
whitequark b8b9fa51bd libdyld: accept objects with no rela relocations. 2019-06-17 06:43:34 +00:00
David Nadlinger 0353966ef7 gateware/suservo: Sign-extend data on RTIO read-back
See GitHub #1327 for original patch by Brad Bondurant.
2019-06-14 23:46:16 +01:00
David Nadlinger 720838a23e gateware/suservo: Avoid magic number for activation delay width
Mostly for documentation purposes; 8 bits ought to be enough for
everyone.
2019-06-14 23:45:40 +01:00
Robert Jördens 53789ba9aa tester: handle urukul switch differences 2019-06-14 10:54:00 +00:00
Robert Jördens 6655e567df ddb_template: urukul fixes
* fix/add sw (ad9912 and ad9910)
* allow pll_n to be changed
2019-06-14 10:53:03 +00:00
Sebastien Bourdeauducq 53c778ae2d runtime: fix previous commit 2019-06-14 15:53:01 +08:00
Sebastien Bourdeauducq a947867887 runtime: support Kasli Si5324 bypass via rtio_clock=e 2019-06-14 15:48:05 +08:00
Sebastien Bourdeauducq 66a66b03b4 style 2019-06-14 15:29:16 +08:00
Sebastien Bourdeauducq 87ce24e867 runtime: refactor startup and RTIO clocking initialization 2019-06-14 15:26:30 +08:00
Sebastien Bourdeauducq 43e58c939c sayma: drop MasterDAC
This seemed like a good idea then, but it introduces complexity, corner cases, and additional testing difficulties.

Now Sayma works fine with Kasli as a master, which is simpler.
2019-06-14 14:06:16 +08:00
Sebastien Bourdeauducq b04e15741b drop SI5324_SAYMA_REF 2019-06-14 14:03:48 +08:00
Robert Jördens 636b4cae5a tester: urukul single-eem mode 2019-06-13 12:48:42 +00:00
Robert Jördens 591de0e579 ddb_template: support urukul single-eem mode 2019-06-13 12:19:12 +00:00
Robert Jördens 967d192cbe ddb_template: wrong copy paste comma 2019-06-13 11:30:22 +00:00
Sebastien Bourdeauducq 8853cf8df9 dashboard: work around disappearing TTL/DDS panel bug. Closes #1307 2019-06-13 18:41:42 +08:00
Sebastien Bourdeauducq 1a898c423a aqctl_corelog: filter log messages. Closes #1316 2019-06-13 18:17:52 +08:00
Sebastien Bourdeauducq 834d03527b examples/dds_setter: fix RTIO underflow 2019-06-13 18:07:39 +08:00
Sebastien Bourdeauducq e3c58d5872 remove outdated kc705 examples 2019-06-13 18:06:26 +08:00
Sebastien Bourdeauducq 74e4b01201 urukul: document consequences of incorrect CPLD clock settings 2019-06-11 11:12:12 +08:00
Brad Bondurant adf3df2bb5 suservo coredevice driver: mask ftw to avoid erroneous sign extension 2019-06-03 21:40:04 +02:00
Sebastien Bourdeauducq bc2cfd77f5 metlino: add EEMs 2019-05-19 18:16:00 +08:00
Sebastien Bourdeauducq cdef50c0dd sayma_amc: Urukul v1.3 2019-05-19 16:54:38 +08:00
Sebastien Bourdeauducq 34c61db790 artiq_flash: fix Metlino support 2019-05-19 16:37:40 +08:00
Sebastien Bourdeauducq 88b6496c8c artiq_flash: add Metlino support 2019-05-19 16:30:10 +08:00
Sebastien Bourdeauducq 9dcaae6395 metlino: use variant output directory 2019-05-19 16:24:51 +08:00
Sebastien Bourdeauducq b4779969d0 metlino: work around vivado bug (#1230) 2019-05-19 11:27:27 +08:00
Sebastien Bourdeauducq 874542f33f add Metlino support 2019-05-19 10:57:43 +08:00
hartytp cfe1f56f73
suservo: add some more comments to the RTServoMem to clarify the RTIO interface (#1323) 2019-05-17 16:12:35 +01:00
David Nadlinger 84b91ee8bd master/scheduler: Document Deleter semantics [nfc]
From looking at the code, it wasn't obvious to me that this is
supposed to handle multiple calls to delete(). This is the case,
however, when for instance Scheduler.delete()ing a run, which
will then also be deleted again from AnalyzeStage.
2019-05-14 22:37:16 +01:00
hartytp c2b4f0cfe3
sync_struct: catch ConnectionErrors in _receive_cr (#1319) 2019-05-10 12:53:51 +01:00
hartytp bbcd1db025
sync_struct: replace ConnectionError subclasses with ConnectionError (#1318) 2019-05-10 12:48:12 +01:00
hartytp 30fe624fe5
sync_struct: flake8 [nfc] (#1317) 2019-05-10 12:42:06 +01:00
Sebastien Bourdeauducq 1a3d71760d consolidate kasli example folders 2019-05-10 12:17:38 +08:00
Sebastien Bourdeauducq f551491a84 remove sayma_masterdac example 2019-05-10 12:13:07 +08:00
Sebastien Bourdeauducq 72f7f8386f remove old Kasli device databases (#1289) 2019-05-10 12:11:42 +08:00
Sebastien Bourdeauducq 86f462f40e artiq_ddb_template: add edge counter support 2019-05-09 17:20:13 +08:00
Sebastien Bourdeauducq fda3cb2482 kasli_generic: add edge counter support 2019-05-09 17:19:11 +08:00
Robert Jördens ead9a42842 kasli: remove VLBAIMaster, VLBAISatellite variants 2019-05-08 15:58:25 +00:00
Robert Jördens 0c9b810501 kasli: remove PTB/PTB2/LUH/HUB variants
see sinara-systems and nix-scripts repos
2019-05-08 15:51:18 +00:00
Robert Jördens 1d2cc60e0d kasli_generic: support ext_ref 2019-05-08 15:51:18 +00:00
Sebastien Bourdeauducq 948ea396c0 remove old buildbot kc705 device-db 2019-05-07 17:28:06 +08:00
Sebastien Bourdeauducq 3209197b0b artiq_flash: do not needlessly look for artifacts 2019-05-07 17:20:13 +08:00
Sebastien Bourdeauducq a1c97ec4dd kasli_tester: support selection of TTL output to use as stimulus 2019-05-07 16:58:00 +08:00
Sebastien Bourdeauducq 4cc9bd33ce test: only test_rpc_timing actually requires ARTIQ_LOW_LATENCY 2019-04-24 11:22:07 +08:00
Sebastien Bourdeauducq bb39eedf5b fix previous commit 2019-04-20 10:44:07 +08:00
Sebastien Bourdeauducq 93f4f31f45 devices.ctlmgr -> master.ctlmgr 2019-04-20 00:25:44 +08:00
Sebastien Bourdeauducq 56033b60a7 move thorlabs_tcube out of tree (#887) 2019-04-20 00:09:58 +08:00
Sebastien Bourdeauducq eaec519ac8 move lda out of tree (#887) 2019-04-19 23:43:14 +08:00
Sebastien Bourdeauducq d4781e9a8a aqctl_corelog: add simulation mode 2019-04-19 23:42:37 +08:00
Sebastien Bourdeauducq 62e9b2d85e move novatech409b out of tree (#887) 2019-04-19 21:56:16 +08:00
Sebastien Bourdeauducq 4c1fb0c2a1 move korad_ka3005p out of tree (#887) 2019-04-19 19:47:41 +08:00
Sebastien Bourdeauducq 73d6078883 use IP instead of hostname for kc705-1
Makes it easier to run tests in the Windows VM
2019-04-18 22:59:32 +08:00
David Nadlinger 4d215cf541 firmware: Add Si5324 config for 125 MHz ext ref
PLL divider settings as suggested by DSPLLsim 5.1.
2019-04-15 22:22:19 +01:00
David Nadlinger dc7a642b26 test/lit: Make abs() integration test slightly more interesting
I had accidentally not included this local diff in the PR that was
merged as commit cdaf554736.

Doesn't include tests for any of the interesting edge cases yet
(nans, infinities, signed zero, int.min), some of which might be
handled differently than by the host Python. In particular, the
select condition should logically use copysign(arg, 1) for the
comparison (i.e., always clear the sign bit), but currently the
chance of anyone running FP-heavy algorithms where this would
matter on the core device is close to zero [1].

[1] Sign of your choice.
2019-04-14 04:12:40 +01:00
David Nadlinger cdaf554736 compiler: Implement abs() for scalars
GitHub: Fixes #1303.
2019-04-13 13:39:16 +08:00
Sebastien Bourdeauducq 97b7ed557b sayma_amc: do not use SFP0 (now used for Ethernet) 2019-04-12 18:47:18 +08:00
David Nadlinger cd7a5a3683 firmware: Fix kernel RPC handling of zero-size values (e.g. empty arrays) 2019-03-31 18:33:44 +01:00
David Nadlinger b4ddf4c86b firmware: Make "unexpected reply from kernel CPU" log messages unique
This makes it easier to localize issues based on the log output.
2019-03-31 18:31:56 +01:00
David Nadlinger 236b30ac5f coredevice: Add test for recent kernel RPC fixes
This covers all three (de)serialisation fixes.
2019-03-31 18:25:56 +01:00
David Nadlinger 88fd5c8440 compiler: Fix crash in escape analysis for assigning string literals 2019-03-31 17:10:27 +01:00
David Nadlinger 990e0b7dd9 compiler: Fix comparison of tuples of lists 2019-03-31 17:10:27 +01:00
David Nadlinger baf102dbb2 compiler: Fix comparison of nested lists 2019-03-31 17:10:27 +01:00
David Nadlinger 8e225433a5 firmware: Fix kernel RPC strings size (memory corruption)
Test case to follow.
2019-03-31 17:10:27 +01:00
David Nadlinger b8ff627be9 firmware: Fix kernel RPC tuple size calculation (memory corruption)
Test case to follow.
2019-03-31 17:10:27 +01:00
David Nadlinger fc95183e04 coredevice: Fix host-side serialization of (nested) lists
Test case to follow.
2019-03-31 17:10:27 +01:00
David Nadlinger f9af058b96 compiler: Quote tuples as TTuple values
Previously, they would end up being TInstances,
rendering them useless.
2019-03-31 23:40:21 +08:00
Sebastien Bourdeauducq 3634cfac86 typo 2019-03-31 22:27:07 +08:00
Sebastien Bourdeauducq 4580f3dac8 test/lit: support overriding libartiq_support.so 2019-03-31 22:26:09 +08:00
Chris Ballance 4499ef1748 kasli: only add moninj core if there are probes to monitor 2019-03-24 14:09:52 +08:00
Sebastien Bourdeauducq 5d31cf2268 sayma_rtm2: si5324_clkout -> cdr_clk_clean 2019-03-23 13:48:36 +08:00
Sebastien Bourdeauducq 560849e693 sayma_amc: add DRTIO transceiver on rtm_amc_link for v2 hardware 2019-03-23 13:41:22 +08:00
Sebastien Bourdeauducq bbb8c00518 sayma_amc: default to satellite variant 2019-03-23 13:37:55 +08:00
Sebastien Bourdeauducq 18fbe0b081 sayma_rtm_drtio: support v2 hardware 2019-03-23 13:31:28 +08:00
Sebastien Bourdeauducq c7205ad82f sayma_rtm: preliminary v2 support 2019-03-23 12:37:03 +08:00
Sebastien Bourdeauducq d07c6fcfea ad9910: handle unprogrammed EEPROM and numpy corner cases 2019-03-22 14:28:47 +08:00
Chris Ballance 7cdcaf0d00 tests: fix coredevice tests after implementing scheduler defaults 2019-03-22 07:27:55 +08:00
Sebastien Bourdeauducq 33b28f6e56 sayma_amc: add placeholder code to use DDMTD signals on v2 hardware 2019-03-21 17:37:22 +08:00
Sebastien Bourdeauducq 2ec5a58c59 sayma_amc: si5324_clkout -> cdr_clk_clean 2019-03-21 14:09:33 +08:00
Chris Ballance af785b9a9c artiq_compile: fix after adding scheduler defaults
Closes #1290
2019-03-21 09:56:19 +08:00
Sebastien Bourdeauducq 8d2c1be44f artiq_flash: ignore rtm_gateware on Sayma for variant autodetection 2019-03-17 15:57:50 +08:00
Sebastien Bourdeauducq c2622297bd urukul: use board_data instead of user_data to store calibration in EEPROM 2019-03-15 17:57:35 +08:00
Sebastien Bourdeauducq a01425bc9c kasli_tester: do not attempt to synchronize AD9912 Urukul 2019-03-15 17:13:29 +08:00
Chris Ballance fcf8828cb6 fix tests, artiq_run after implementing scheduler defaults (#1290) 2019-03-13 17:20:30 +01:00
Sebastien Bourdeauducq 5e7c83c9cf artiq_ddb_template: enable Urukul synchronization from EEPROM 2019-03-13 15:42:51 +08:00
Sebastien Bourdeauducq e504262b67 kasli_tester: calibrate Urukul synchronization and write to EEPROM 2019-03-13 15:36:05 +08:00
Sebastien Bourdeauducq 346299e7f8 kasli_tester: enable EEPROM for Urukul synchronization 2019-03-13 15:35:23 +08:00
Sebastien Bourdeauducq 04e0c23e78 ad9910: support reading synchronization values from EEPROM 2019-03-13 15:34:47 +08:00
Sebastien Bourdeauducq 852048dce4 artiq_ddb_template: create Urukul EEPROM device 2019-03-13 15:34:23 +08:00
Sebastien Bourdeauducq 964a349a19 add Kasli I2C driver 2019-03-13 15:33:50 +08:00
Chris Ballance c56c3e5588 dashboard: add support for experiment pipeline/priority/flush defaults 2019-03-12 10:54:15 +01:00
Chris Ballance 8659c769cb master/language: add methods to set experiment pipeline/priority/flush defaults 2019-03-12 10:54:15 +01:00
Sebastien Bourdeauducq b2177eff81 kasli_tester: run test_i2c_switch 2019-03-11 21:06:28 +08:00
Sebastien Bourdeauducq 227c729f56 fix permissions 2019-03-11 20:43:28 +08:00
David Nadlinger b3db3ea6fc dashboard: Sort TTL moninj channels by name
With growing system complexity, the moninj channel index is
no longer a very intuitive ordering for typical end users.
2019-03-11 03:30:14 +01:00
David Nadlinger 5fd92a6175 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-10 20:57:10 +00:00
Sebastien Bourdeauducq e47ba4b35e kasli_generic: fix identifier string 2019-03-08 19:57:20 +08:00
Sebastien Bourdeauducq b219f8b5c7 artiq_flash: autodetect variant 2019-03-08 19:47:24 +08:00
Sebastien Bourdeauducq fc9d4c7bdc artiq_flash: fix sayma master detection 2019-03-08 19:36:35 +08:00
Sebastien Bourdeauducq 25bcebd1f6 artiq_flash: not all boards are development boards 2019-03-08 19:35:20 +08:00
Sebastien Bourdeauducq ed2d8dfa7a artiq_flash: resolve openocd symbolic links
On NixOS, openocd may be a symlink in /run/current-system/sw/bin when installed system-wide.
2019-03-08 12:43:06 +08:00
Sebastien Bourdeauducq 0d05d4b813 artiq_client: python 3.7 compatibility 2019-02-26 17:09:38 +08:00
Sebastien Bourdeauducq ec966de007 thorlabs_tcube: cleanup 2019-02-26 16:50:19 +08:00