linuswck
ddb2b5e3a1
efc: add shuttler DAC parallel data interface pads
2023-08-30 10:25:39 +08:00
linuswck
b56f7e429a
drtio: rename drtio_transceiver to gt_drtio
2023-08-28 04:50:46 +00:00
Sebastien Bourdeauducq
3452d0c423
efc: use variant (expected everywhere else)
2023-08-25 15:52:40 +08:00
Sebastien Bourdeauducq
2139456f80
firmware: skip clock switch for efc
2023-08-25 15:06:42 +08:00
Sebastien Bourdeauducq
a2a780a3f2
firmware: fix compilation warning
2023-08-25 15:06:02 +08:00
Sebastien Bourdeauducq
f5cbca9c29
kasli: implement DRTIO-over-EEM
2023-08-25 12:47:33 +08:00
linuswck
737ff79ae7
eem: add efc
2023-08-25 12:01:17 +08:00
linuswck
dc97d3aee6
drtio-eem: CONFIG_EEM_TRANSCEIVERS -> CONFIG_EEM_DRTIO_COUNT
2023-08-25 11:49:39 +08:00
Sebastien Bourdeauducq
5d38db19d0
drtio-eem: remove unnecessary rtio_rx clock domain
2023-08-25 11:32:28 +08:00
linuswck
cd22e42cb4
efc: add DRTIO virtual LEDs
...
- EFC Gateware: Add virtual_leds to rtio
- EFC Firmware: io_expander is kept being serviced to update
virtual_leds after init
2023-08-23 06:21:14 +00:00
linuswck
b7bac8c9d8
EFC: Add SPI Gateware for Shuttler DAC
...
- Verified by a functional test reading back the rev register
2023-08-23 09:04:16 +08:00
mwojcik
e8818c812c
satman: fix non-eem satellites failing to build
2023-08-22 16:32:59 +08:00
occheung
68dd0e029f
targets: add efc target
2023-08-10 00:02:01 +00:00
occheung
64d3f867a0
add DRTIO-over-EEM PHY
...
for EFC and perhaps Phaser
2023-08-09 23:59:40 +00:00
Sebastien Bourdeauducq
df662c4262
flake: update llvmlite
2023-08-07 23:02:23 +08:00
David Nadlinger
efbae51f9d
runtime: Validate ksupport ELF against hard-coded address ranges
...
This would have caught the reduction in header padding with LLD 14.
In theory, we could just get rid of the hard-coded kernel CPU address
ranges altogether and use ksupport.elf as the one source of truth; the
code already exists in dyld. The actual base address of the file would
still need to be forwarded to the kernel-side libunwind glue, though,
as there doesn't seem to be a clean way to get the equivalent of
KSUPPORT_HEADER_SIZE through the linker script. I have left this as-is
with the hard-coded KERNELCPU_… constants for now.
2023-08-07 10:10:38 +00:00
David Nadlinger
8acfa82586
ksupport: Remove unused sections from linker script [nfc]
...
We no longer build ksupport.ld in a position-independent fashion, and
the reference to the ld.bfd _GLOBAL_OFFSET_TABLE issue was just a
distraction
2023-08-07 10:10:38 +00:00
David Nadlinger
4d636ea593
Upgrade to LLD 14
...
Previous linker versions had inserted some zero padding bytes
between the ELF headers and the first section, but LLD 14 does
not anymore.
Hard-coding the offset of the first section in ksupport.elf
manually isn't ideal; we should probably parse the ELF program
headers instead when first setting up the kernel CPU.
2023-08-07 10:10:38 +00:00
Simon Renblad
c4259dab18
applets.simple: add kwargs to AppletControlRPC ( #2155 )
...
Co-authored-by: Simon Renblad <srenblad@m-labs.hk>
2023-08-05 11:38:07 +08:00
mwojcik
c46ac6f87d
spi2: update set_config_mu doc
2023-08-04 09:22:57 +00:00
linuswck
758b97426a
Bootloader: SDRAM patch for EFC
...
- Modification of the CFG flag ensure EFC to initialize DDRPHY correctly
Note that Kasli and EFC share the same model of SDRAM
2023-08-02 02:18:45 +00:00
linuswck
c206e92f29
Bootloader: Remove kusddrphy support for SDRAM
...
- Delete all the kusddrphy cfg flags and related code
2023-08-02 02:18:20 +00:00
linuswck
cb547c8a46
efc: turn on power of FMC peripheral
...
- Add efc's io expander method
- Enable VADJ, P3V3_FMC in satman main during startup
2023-08-01 00:29:45 +00:00
linuswck
72a5231493
artiq_flash: add EEM FMC Carrier Board Support
...
- The code is derived from PR #2134 936f24f6bd
2023-07-25 11:14:19 +08:00
Denis Ovchinnikov
07714be8a7
jsonschema: add kasli_soc HW revision v1.1
2023-07-24 16:32:13 +08:00
Simon Renblad
361088ae72
tools: add trim argument to format funcs
2023-07-21 08:38:49 +00:00
Simon Renblad
6592b6ea1d
artiq_client: change set_dataset with units
2023-07-21 08:15:39 +00:00
Simon Renblad
2fb085f1a2
datasets: change dataset value entry with units
2023-07-21 08:15:39 +00:00
Simon Renblad
a7569a0b2d
tools: add scale_from_metadata helper func
2023-07-21 08:15:39 +00:00
Simon Renblad
4fbff1648c
scientific_spinbox: rename precision to sig_figs
2023-07-19 07:01:24 +00:00
Simon Renblad
8f4c8387f9
entries: rename setPrecision to setSigFigs
2023-07-19 07:01:24 +00:00
Simon Renblad
59ad873831
examples: rename ndecimals to precision
2023-07-18 08:02:42 +00:00
Simon Renblad
8589da0723
test_arguments: rename ndecimals to precision
2023-07-18 08:02:42 +00:00
Simon Renblad
94e076e976
scan: rename ndecimals to precison
2023-07-18 08:02:42 +00:00
Simon Renblad
a0094aafbb
entries: rename ndecimals to precision
2023-07-18 08:02:42 +00:00
Simon Renblad
0befadee96
environment: rename ndecimals to precision
2023-07-18 08:02:42 +00:00
sven-oxionics
b3dc199e6a
Fix panic when receiving empty strings in rpc calls
...
Receiving an empty string in an RPC call currently panics.
When `length` is zero, a call to the `alloc` function (as implemented in `artiq/firmware/runtime/session.rs`) returns a null pointer. Constructing a `CMutSlice` from a null pointer panics.
A `CMutSlice` consists of a pointer and the length. Rust's documentation of the `core::ptr` module states: "The canonical way to obtain a pointer that is valid for zero-sized accesses is `NonNull::dangling`."
This commits adds a check for the length of a string received in an RPC call. Only for lengths greater than zero a memory allocation is performed. For zero-length strings, a dangling pointer is used.
Test plan:
Invoke the following experiment, which returns an empty string over RPC:
```
class ReturnEmptyString(artiq.experiment.EnvExperiment):
def build(self):
self.core: Core = self.get_device("core")
@kernel
def run(self):
x = self.do_rpc()
print(x)
@rpc
def do_rpc(self) -> TStr:
return ""
```
Signed-off-by: Sven Over (Oxford Ionics) <sven.over@oxionics.com>
2023-07-18 04:00:32 +00:00
Florian Agbuya
d73889fb27
gui/experiments: cast Qt timestamp to int preventing float type error
2023-07-14 08:33:27 +00:00
Simon Renblad
068a2d1663
progress_bar: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
6c588b83d7
plot_xy_hist: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
c17f69a51b
plot_xy: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
ac504069d2
plot_hist: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
b6a83904b5
image: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
25959d0cd6
big_number: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
5695e9f77e
simple: refactor TitleApplet data_changed signature
2023-07-12 08:28:28 +00:00
Simon Renblad
fe0f6d8a2c
simple: refactor SimpleApplet data_changed signature
2023-07-12 08:28:28 +00:00
Simon Renblad
d1f2727126
simple: refactor RPC client set_dataset
2023-07-12 08:28:28 +00:00
Simon Renblad
16a3ce274f
applets: add metadata param to set_dataset
2023-07-12 08:28:28 +00:00
Simon Renblad
af7622d7ab
simple: refactor IPC set_dataset
2023-07-12 08:28:28 +00:00
Jonathan Coates
9a84575649
eem_7series: fix typo in 77293d5
...
Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2023-07-11 23:09:15 +00:00
Simon Renblad
faf85e815a
datasets: add metadata to CreateEditDialog
2023-07-10 06:50:41 +00:00
Simon Renblad
3663a6b8e8
artiq_client: refactor set_dataset, show_datasets
2023-07-10 04:50:54 +00:00
Simon Renblad
91442e2914
browser: refactor upload_clicked for dataset metadata
2023-07-10 04:26:08 +00:00
Simon Renblad
50a6dac178
files: read dataset metadata from HDF5
2023-07-10 04:26:08 +00:00
Simon Renblad
5292a8de82
browser: add metadata param to short_format
2023-07-10 04:26:08 +00:00
Sebastien Bourdeauducq
48bc8a2ecc
gtx_7series_init: GTH -> GTX (NFC)
2023-07-10 11:26:07 +08:00
Denis Ovchinnikov
93882eb3ce
kasli-soc: fix of SYS CLK switch failure
...
Change initialization behaviour of GTX transceivers
--
Modify the config parms CPLL of GTX transceiver for PLL to lock correctly
Modify the enabling requirement of GTX input clock buffer IBUFDS_GTE2 so
that it depends on GTX PLL locked signal instead of TX Init Done
Modify the GTX Init FSM so that BruteForceClock Aligner can reset GTX
transceiver without resetting the GTX transceiver PLL
kasli-soc: fix of SYS CLK switch failure
Changed initialization of GTX transceivers.
Successful SYS CLK switching requires IBUFDS_GTE2 to be properly enabled and not disabled during GTX transceiver initialization.
For this reason, CPLL is not reset during GTX initialization and clock alignment.
kasli-soc: refractor fix of SYS CLK switch failure
Remove gtXxreset & cpllreset assertion and deassertion
The removed code does not affect the fix
2023-07-10 03:24:28 +00:00
Simon Renblad
373fe3dbe7
test_datasets: add metadata tests
2023-07-10 02:33:59 +00:00
Simon Renblad
1af98727b7
test_scheduler: refactor dataset metadata support
2023-07-10 02:33:59 +00:00
Simon Renblad
376f36c965
datasets: add metadata format param
2023-07-10 02:33:59 +00:00
Simon Renblad
e710d4badd
databases: read and save metadata in lmdb
2023-07-10 02:33:59 +00:00
Simon Renblad
bfbe13e51b
worker_db: write hdf5 dataset metadata
2023-07-10 02:33:59 +00:00
Simon Renblad
bf38fc8b0f
tools: refactor short_format with metadata
2023-07-10 02:33:59 +00:00
Simon Renblad
337273acb6
environment: add get_dataset_metadata
2023-07-10 02:33:59 +00:00
Simon Renblad
748707e157
environment: add unit feature
2023-07-10 02:33:59 +00:00
Leon Riesebos
833fd8760e
artiq_ddb_template: use the clk_div field
...
this field exists in the json schema but was not used.
Signed-off-by: Leon Riesebos <28567817+lriesebos@users.noreply.github.com>
2023-06-29 03:29:18 +00:00
Sebastien Bourdeauducq
77293d53e3
json: use schema defaults when applicable
2023-06-16 16:59:08 +08:00
Sebastien Bourdeauducq
a792bc5456
json: factor handling of deprecated 'base'
2023-06-16 16:32:42 +08:00
Sebastien Bourdeauducq
20d4712815
json: base -> drtio_role
2023-06-16 16:17:31 +08:00
Spaqin
82bd913f63
satellites: add kernel cpu
2023-06-16 15:44:31 +08:00
Sebastien Bourdeauducq
115415d120
Revert "flake: update to LLVM 14 and llvmlite 0.40.0+master"
...
This reverts commit c25c0bd55a
.
2023-06-14 18:54:33 +08:00
Florian Agbuya
d140c960bb
applets: implement dataset modification feature in big number applet
2023-06-12 17:52:46 +08:00
Egor Savkin
c25c0bd55a
flake: update to LLVM 14 and llvmlite 0.40.0+master
2023-06-09 13:25:08 +08:00
Egor Savkin
30ef8d8cb4
compiler: skip demangling list of empty names
2023-06-09 13:24:10 +08:00
Florian Agbuya
7ad32d903a
browser: add update method to dataset controller
2023-06-06 11:07:08 +00:00
Florian Agbuya
bf46ce4a92
applets.simple: add mutate_dataset feature
2023-06-05 12:30:14 +00:00
Florian Agbuya
150d325fc1
applets.simple: add append_to_dataset feature
2023-06-02 14:56:00 +00:00
Florian Agbuya
c298ec4c2e
applets: add update_dataset for dataset mods
2023-06-02 14:56:00 +00:00
mwojcik
29cb7e785d
fix missing DIFF_TERM for Sampler and Mirny inputs
2023-06-02 17:21:00 +08:00
Sebastien Bourdeauducq
b97f6a9e44
bootloader: fix compilation warning without Ethernet
2023-06-02 10:48:55 +08:00
Sebastien Bourdeauducq
e0ebc1b21d
applets: fix some asyncio problems
2023-05-31 22:56:48 +08:00
Sebastien Bourdeauducq
c6ddd3af17
applets: add controller and set_dataset API
2023-05-31 22:51:48 +08:00
Florian Agbuya
e12219e803
gui: add handler for applet set_dataset
2023-05-31 14:08:14 +00:00
Sebastien Bourdeauducq
c8dc2cbf09
browser: decouple dataset controller from dataset dock
2023-05-31 21:57:54 +08:00
Sebastien Bourdeauducq
c6b29b30fb
Revert "flake: update to LLVM 14 and llvmlite 40"
...
This reverts commit 748969c21e
.
2023-05-31 19:36:43 +08:00
Sebastien Bourdeauducq
d103cbea31
libboard_misoc: fix clang STB_WEAK warning
2023-05-31 18:59:51 +08:00
Egor Savkin
748969c21e
flake: update to LLVM 14 and llvmlite 40
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-05-30 16:47:59 +08:00
Sebastien Bourdeauducq
953a8a9555
master: merge master_config and master_terminate
2023-05-30 15:55:19 +08:00
Sebastien Bourdeauducq
444bab2186
gui: datasets_sub -> dataset_sub (nfc)
2023-05-30 15:44:30 +08:00
Denis Ovchinnikov
22e2514ce6
update configuration of IBUFDS_GTE2
...
Input clock is terminated internally with 50 Ohm on each leg and to 4/5 MGTAVCC.
2023-05-30 11:42:51 +08:00
mwojcik
a4895b591a
analyzer: fix satellite behavior
2023-05-29 13:13:24 +08:00
Sebastien Bourdeauducq
b9c7905b20
nixpkgs 23.05
2023-05-27 17:17:36 +08:00
Charles Baynham
c2b0c97640
worker: Wait until datasets are written before quitting
...
Avoids a race condition in worker_impl.py where HDF5 dataset saving was
cut off before it finished for large datasets.
2023-05-23 21:48:56 +01:00
Sebastien Bourdeauducq
58cc3b8d0a
kasli_generic: fix LooseVersion deprecation warning
2023-05-23 19:36:06 +08:00
Jonathan Coates
ea9fe9b4e1
dma: fix off-by-one error in RawSlicer ( #2090 )
...
Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2023-05-23 11:15:39 +08:00
mwojcik
c1d6fd4bbe
satman analyzer: remove forgotten comment
2023-05-19 11:39:14 +08:00
mwojcik
ab52748cac
analyzer sat: disarm on drop
2023-05-19 11:39:14 +08:00
mwojcik
ddfe51e7ac
analyzer: use transactions for data transmission
2023-05-19 11:39:14 +08:00
mwojcik
6c96033d41
analyzer: implement querying up satellites for data
2023-05-19 11:39:14 +08:00
mwojcik
0b03126038
satman: support analyzer packets
2023-05-19 11:39:14 +08:00
mwojcik
fdca1ab7fc
drtioaux: add analyzer related messages
2023-05-19 11:39:14 +08:00
mwojcik
c36b6b3b65
master: only local rtio events in analyzer
2023-05-19 11:39:14 +08:00
mwojcik
c0ca27e6cf
satellite: add rtio_analyzer, only for local rtio
2023-05-19 11:39:14 +08:00
Jonathan Coates
3ca47537b8
Fix mismatched signatures for the wide interface
...
Lists are passed by-reference from python code, and so should be
&CSlice<_> not CSlice<_>.
Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2023-05-19 10:18:06 +08:00
Sebastien Bourdeauducq
c53d333d46
almazny: fix parameter
2023-05-09 14:27:37 +08:00
Sebastien Bourdeauducq
5b94ce82e4
artiq_ddb_template: fix almazny
2023-05-09 14:27:15 +08:00
Sebastien Bourdeauducq
45cd438fb8
Almazny v1.2 support
...
Based on PR #2060 by Robert Jördens.
2023-05-09 12:54:48 +08:00
Sebastien Bourdeauducq
0e7e30d46e
test: fix hardware testbench trying to write to ARTIQ_ROOT
2023-04-30 17:16:36 +08:00
Sebastien Bourdeauducq
d5a7755584
test: improve tmpdir names
2023-04-30 17:15:34 +08:00
Sebastien Bourdeauducq
3ff0be6540
PEP440 compliant version numbers
2023-04-30 16:55:49 +08:00
Sebastien Bourdeauducq
2c1438c4b9
coredevice: add missing pattern to sampler_hw_rev
2023-04-30 16:07:56 +08:00
Egor Savkin
5199bea353
master: emit warning if datasets will not be stored
2023-04-30 15:22:21 +08:00
mwojcik
a533f2a0cd
rtio: SED, InputCollector use rio clock domain
2023-04-28 17:49:12 +08:00
Jonathan Coates
0bf57f4ebd
Fix ADF3536 having RTIO channel names
...
The channel in this device refers to a channel on the mirny, not an RTIO
channel.
2023-04-24 20:05:14 +08:00
Sebastien Bourdeauducq
4056168875
master: store datasets in LMDB ( #1743 )
2023-04-24 17:34:30 +08:00
Egor Savkin
9331911139
add tests for client submit functionality
2023-04-24 11:43:24 +08:00
Spaqin
2f35869eb1
satman: fix PMP and L2 flush
2023-04-20 15:45:15 +08:00
Egor Savkin
aed47d79ff
master: add terminate API
2023-04-18 15:03:06 +08:00
mwojcik
918d30b900
dma: pass "uses_ddma" for non-remote recordings
2023-04-18 12:35:37 +08:00
Egor Savkin
b5d9062ba9
Fix AD9914 channel map
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-04-17 09:23:30 +08:00
Egor Savkin
8984f5104a
Move RTIO errors formatting to the session_proto
...
This would be closer to the artiq-zynq implementation
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-04-17 09:23:30 +08:00
Egor Savkin
d0b8818688
Add 125 MHz from 80 MHz reference option to rtio clocking
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-04-13 14:57:24 +08:00
Sebastien Bourdeauducq
757c00b0fe
afws_client: improve UX of common build errors
2023-04-08 16:50:15 +08:00
Sebastien Bourdeauducq
c1474c134a
remove obsolete AFWS certificate
2023-04-07 16:09:47 +08:00
Sebastien Bourdeauducq
dc3db8bb66
afws_client: WebSocket, system certificates
2023-04-07 16:03:33 +08:00
Sebastien Bourdeauducq
97161a3df2
firmware: improve RTIO map error reporting
2023-04-04 11:27:31 +08:00
Ikko Eltociear Ashimine
7ba06bfe61
fix typo in comm_analyzer.py
...
error_occured -> error_occurred
occured -> occurred
2023-04-02 09:17:37 +08:00
Spaqin
b225717ddb
DDMA: documentation
2023-03-29 13:46:33 +08:00
mwojcik
696bda5c03
handle playback status in aux_transact
2023-03-28 14:18:29 +08:00
mwojcik
9150230ea7
dma: gate ddma features behind cfg(has_drtio)
2023-03-28 14:18:29 +08:00
Spaqin
e9a153b985
runtime: implement distributed DMA
2023-03-22 11:16:25 +08:00
David Nadlinger
8b1f38b015
worker_impl: Remove misleading update() from ExamineDatasetMgr [nfc]
...
`update(mod)` would be on the DatasetDB, not the manager. Rather,
modifications currently just fail due to e.g. `set(…)` not being
defined.
2023-03-20 13:20:40 +08:00
Egor Savkin
bbf80875fb
firmware: assume empty config records as removed ( #2064 )
...
This will return `KeyNotFound` for empty values, which are produced by `remove` operation
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-03-13 18:18:26 +08:00
Egor Savkin
1ca09b9484
Add support for default route (IPv4 and IPv6) ( #2059 )
...
Based on code by Michael Birtwell <michael.birtwell@oxionics.com>
2023-03-13 17:29:10 +08:00
Spaqin
84e7515721
satman: distributed DMA support
2023-03-11 18:36:36 +08:00
Sebastien Bourdeauducq
a9360823b1
libproto: remove obsolete Jdac packets
2023-03-02 20:29:09 +08:00
Egor Savkin
1ec0abbfcf
Add Urukul PLL bypass option to the JSON
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-03-01 19:05:16 +08:00
mwojcik
90a6fe1c35
satellite: add dma to gateware
2023-02-23 17:33:23 +08:00
mwojcik
d0437f5672
rtio core: fix minimum_coarse_timestamp
2023-02-22 10:44:25 +08:00
Egor Savkin
394138f00f
firmware: block session on startup kernel to be finished ( #2046 )
2023-01-19 16:46:53 +08:00
Sebastien Bourdeauducq
20e8f17b3d
artiq_ddb_template: fix mistake in 18524911
2023-01-15 12:27:13 +08:00
Sebastien Bourdeauducq
57e87c9717
sampler: fix mistake in c591e7e3
2023-01-15 12:27:10 +08:00
Sebastien Bourdeauducq
b8968262d7
Merge branch 'syncrtio'
2023-01-12 16:44:54 +08:00
Sebastien Bourdeauducq
514ac953ce
remove obsolete SI5324_AS_SYNTHESIZER config option
2023-01-12 13:01:08 +08:00
Sebastien Bourdeauducq
0a37a1a4c1
Merge branch 'syncrtio'
2023-01-12 12:58:19 +08:00
Sebastien Bourdeauducq
6d37d9d52c
gui/state: fix asyncio loop management
2023-01-12 12:41:08 +08:00
Sebastien Bourdeauducq
5f77d4f5fa
applets: fix asyncio loop management
2023-01-12 12:35:02 +08:00
Sebastien Bourdeauducq
2f289c552f
remove unused import
2023-01-12 12:18:17 +08:00
Sebastien Bourdeauducq
9e8bb3c701
browser,dashboard: fix asyncio loop management
2023-01-12 12:17:16 +08:00
Sebastien Bourdeauducq
d872c3ab4d
aqctl_moninj_proxy: fix asyncio loop management
2023-01-12 12:16:53 +08:00