forked from M-Labs/artiq
1
0
Fork 0
Commit Graph

548 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq e82ce3ea28 coredevice: ignore .dirty in version checks correctly 2017-02-25 20:05:05 +08:00
Robert Jördens e323e37829 pcu: refactor into a device 2017-02-19 19:34:55 +01:00
Robert Jördens b05d1bb7e3 coreanalyzer: fix corner case crash 2017-02-19 19:28:13 +01:00
Robert Jördens 1573ff5fc1 coreanalyzer: add WB stb signal 2017-02-18 14:53:10 +01:00
Robert Jördens 039ced6637 coreanalyzer: use VCD scopes for DDS/SPI 2017-02-18 14:25:01 +01:00
Robert Jördens 7519408857 coreanalyzer: add SPIMaster support 2017-02-18 14:13:20 +01:00
Robert Jördens 41e8acf3ad coreanalyzer handle input events without timestamp
Offset the timeline by the first non-zero timestamp.
2017-02-18 14:12:02 +01:00
Robert Jördens bc3fc26e34 coredevice: expose PCU 2017-02-18 14:09:12 +01:00
whitequark 6fd149f048 Show a message when interrupting a running kernel (except idle kernel).
Fixes #625.
2017-01-31 22:53:38 +00:00
whitequark 74b910e97d In case of a load error, pass the reason to host interpreter.
Fixes #654.
2017-01-27 12:49:48 +00:00
Sebastien Bourdeauducq 7c699e2f80 drtio: add FIFO space request count debug API 2017-01-11 13:48:14 -06:00
Sebastien Bourdeauducq fdfaa377db drtio: add debug syscalls 2017-01-08 15:06:14 -06:00
Sebastien Bourdeauducq 1b49affd18 typo 2017-01-08 13:04:10 -06:00
Sebastien Bourdeauducq 082fdaf450 move i2c to libboard, do bit-banging on comms CPU 2017-01-04 21:04:38 +01:00
Sebastien Bourdeauducq 7ff77bceac move AD9616 and AD9154 initialization to firmware 2017-01-03 16:11:38 +01:00
Robert Jördens 5efd0fcea5 sawg: documentation 2016-12-06 19:25:40 +01:00
Robert Jördens 695eb705b3 sawg: extract spline 2016-12-04 16:52:08 +01:00
Robert Jördens 39becd0b4e sawg: document 2016-12-04 16:50:49 +01:00
Robert Jördens 87bd2072e8 sawg: round to int64 2016-12-02 18:07:01 +01:00
Robert Jördens 6e9bc7c05d sawg: merge set/set64 2016-12-01 16:45:54 +01:00
Robert Jördens ed6d1e73cc sawg: cleanup 2016-11-30 10:52:35 +01:00
Robert Jördens fb58f31c9d Revert "sawg: test w/o discrete_compensate"
This reverts commit b736dd0df7.
2016-11-29 20:56:04 +01:00
Robert Jördens b736dd0df7 sawg: test w/o discrete_compensate 2016-11-29 20:52:02 +01:00
Robert Jördens d8b5eac856 sawg: style 2016-11-29 20:51:40 +01:00
Robert Jördens d9dd79fb1a sawg: int32 artiq python 2016-11-29 17:36:03 +01:00
Robert Jördens 4a03e3fce0 sawg: rtio_output_wide 2016-11-29 17:23:06 +01:00
Robert Jördens f6fc7f9216 rtio: rtio_output_{list->wide} 2016-11-29 17:22:55 +01:00
Robert Jördens 313aa32779 sawg: artiq-python list scoping 2016-11-29 17:20:02 +01:00
Robert Jördens c53040e1e4 sawg: work around #632 2016-11-29 17:01:39 +01:00
Robert Jördens a3d9e21b8c sawg: artiq-python changes 2016-11-29 16:58:26 +01:00
Robert Jördens 23fd225947 sawg: spline knot packing/conversion, unittest 2016-11-29 14:49:07 +01:00
Robert Jördens 6799bb097a sawg: adapt to int32/int64 change 2016-11-22 11:57:34 +01:00
Robert Jördens 4cd2b36995 Merge branch 'phaser' into phaser2
* phaser:
  runtime: replace a (deliberate) memory leak with an interner.
  compiler: disable remarks.
  runtime: rewrite i2c support code in Rust.
  runtime: rewrite rtio support code in Rust.
2016-11-21 23:11:52 +01:00
Robert Jördens feb95bf3cf Merge branch 'master' into phaser
* master:
  runtime: replace a (deliberate) memory leak with an interner.
  compiler: disable remarks.
  runtime: rewrite i2c support code in Rust.
  runtime: rewrite rtio support code in Rust.
2016-11-21 22:26:52 +01:00
whitequark a825584ac0 runtime: rewrite rtio support code in Rust. 2016-11-21 17:13:09 +00:00
Robert Jördens 4160490e0a Merge branch 'phaser' into phaser2
* phaser: (23 commits)
  RELEASE_NOTES: update
  pipistrello: add some inputs
  Remove last vestiges of nist_qc1.
  Fully drop AD9858 and kc705-nist_qc1 support (closes #576).
  coredevice.dds: reimplement fully in ARTIQ Python.
  compiler: unbreak casts to int32/int64.
  analyses.constness: fix false positive on x[...].
  inferencer: significantly improve the op-assignment diagnostic.
  Fix tests.
  Move mu_to_seconds, seconds_to_mu to Core.
  artiq_devtool: don't crash on invalid utf-8.
  artiq_devtool: detect a race condition during connect.
  llvm_ir_generator: handle no-op coercions.
  conda: use development version of migen/misoc
  Revert accidentally committed code.
  Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623"
  analyses.invariant_detection: implement (#622).
  Fix whitespace.
  coredevice.dds: work around the round(numpy.float64()) snafu.
  coredevice.dds: update from obsolete int(width=) syntax (fixes #621).
  ...
2016-11-21 17:29:46 +01:00
Robert Jördens f7e8961ab0 Merge branch 'master' into phaser
* master: (23 commits)
  RELEASE_NOTES: update
  pipistrello: add some inputs
  Remove last vestiges of nist_qc1.
  Fully drop AD9858 and kc705-nist_qc1 support (closes #576).
  coredevice.dds: reimplement fully in ARTIQ Python.
  compiler: unbreak casts to int32/int64.
  analyses.constness: fix false positive on x[...].
  inferencer: significantly improve the op-assignment diagnostic.
  Fix tests.
  Move mu_to_seconds, seconds_to_mu to Core.
  artiq_devtool: don't crash on invalid utf-8.
  artiq_devtool: detect a race condition during connect.
  llvm_ir_generator: handle no-op coercions.
  conda: use development version of migen/misoc
  Revert accidentally committed code.
  Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623"
  analyses.invariant_detection: implement (#622).
  Fix whitespace.
  coredevice.dds: work around the round(numpy.float64()) snafu.
  coredevice.dds: update from obsolete int(width=) syntax (fixes #621).
  ...
2016-11-21 17:29:39 +01:00
whitequark f4b7666768 coredevice.dds: reimplement fully in ARTIQ Python.
This commit also drops AD9858 support from software.
2016-11-21 15:13:26 +00:00
Robert Jördens c73b1af7ab coredevice/sawg: missing comma 2016-11-21 13:16:44 +01:00
Robert Jördens b226dbd257 sawg: unittest data format 2016-11-21 12:35:57 +01:00
whitequark 009d396740 Move mu_to_seconds, seconds_to_mu to Core. 2016-11-21 05:37:30 +00:00
Robert Jördens 9221a275cb sawg: kernel support (wip) 2016-11-20 16:39:53 +01:00
whitequark abf2b32b20 coredevice.dds: work around the round(numpy.float64()) snafu. 2016-11-20 09:49:58 +00:00
whitequark d7f4397924 coredevice.dds: update from obsolete int(width=) syntax (fixes #621). 2016-11-20 09:49:39 +00:00
Robert Jördens 641f07119f runtime: support rtio data wider than 64 bit 2016-11-18 17:08:33 +01:00
Robert Jördens aedb6747f2 Merge branch 'master' into phaser
* master: (47 commits)
  runtime: disable the Nagle algorithm entirely.
  runtime: buffer RPC send packets.
  runtime: don't print debug messages to the UART.
  runtime: print microsecond timestamps in debug messages.
  artiq_devtool: abort if build failed.
  conda: bump llvmlite-artiq dep.
  conda: bump llvmlite-artiq dep.
  llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
  artiq_devtool: more robust port forwarding.
  setup: remove paramiko dependency (optional and developer-only)
  artiq_devtool: implement.
  artiq_compile: actually disable attribute writeback.
  conda: use pythonparser 1.0.
  conda: tighten pythonparser dependency (fixes #600).
  doc: clarify kernel_invariant doc (fixes #609).
  compiler: Emit all-kernel_invariant objects as LLVM constants
  conda: update for LLVM 3.9.
  add has_dds, use config flags
  Revert "Revert "Revert "Revert "Update for LLVM 3.9.""""
  Revert "Revert "Revert "Update for LLVM 3.9."""
  ...
2016-11-13 16:54:28 +01:00
whitequark 0e76cbc414 artiq_compile: actually disable attribute writeback.
I wrote both halves of this condition but forgot to hook
them together.

Fixes #586.
2016-11-10 01:04:36 +00:00
whitequark 6fcd57a41a runtime: fix remaining async RPC bugs. 2016-11-01 10:33:57 +00:00
whitequark c1e6d4b67c runtime: fix multiple async RPC bugs. 2016-11-01 06:51:44 +00:00
Robert Jördens 6d07a16c62 Merge branch 'master' into phaser
* master: (72 commits)
  gateware: extend mailbox to 3 entries.
  master/worker_db: set default value for archive
  master: keep dataset manager consistent when set_dataset is called with contradictory attributes
  master: archive input datasets. Closes #587
  master: ensure same dataset is in broadcast and local when mutating
  scheduler: default submission arguments, closes #577
  pdq2: sync with pdq2
  doc: clarify usage of pause/check_pause, closes #571
  dashboard/datasets: use scientific spinbox and increase number of decimals, closes #572
  gateware/spi: fix import
  runtime: fix use of $(realpath) in Makefile.
  test: fix printf specifier.
  llvm_ir_generator: make sure RPC allocations are not underaligned.
  runtime: use i64 for watchdog timeout, not i32.
  runtime: port ksupport to Rust.
  runtime: remove some redundant libm functions copied inline.
  language: Add "A" (ampere) as well-known unit for arguments
  conda: misoc 0.4 (csr)
  runtime: cap log level at debug.
  runtime: discard unnecessary sections.
  ...
2016-10-28 01:40:11 +02:00
Robert Jördens 78700a67bc sawg: fast-math 2016-10-18 10:05:51 +02:00
Robert Jördens b2327cf808 sawg: core is kernel_invariant 2016-10-18 10:05:51 +02:00
Robert Jördens 4c7c479c94 ad9154: add mirrored bits 2016-10-13 15:02:18 +02:00
Robert Jördens 9644a3a362 ad9154: mix mode addr, digital gain must be on 2016-10-12 15:00:53 +02:00
Robert Jördens 1117fe191b phaser: support core stpl 2016-10-12 12:03:29 +02:00
whitequark 4f11b071a5 runtime: remove useless handshaking in analyzer. 2016-10-07 05:53:16 +00:00
whitequark 557bc4bb56 runtime: remove unnecessary buffering. 2016-10-06 17:25:43 +00:00
whitequark bcdbd00e7b runtime: remove unnecessary null bytes from session protocol. 2016-10-06 15:39:00 +00:00
Robert Jördens 1193ba4bf4 ad9154: merge csr spaces 2016-10-06 16:21:15 +02:00
Robert Jördens 4d87f0e9e0 phaser: instantiate jesd204b core, wire up 2016-10-06 14:44:22 +02:00
Robert Jördens 4a0eaf0f95 phaser: add jesd204b rtio dds
gateware: add jesd204b awg

gateware: copy phaser (df3825a)
dsp/tools: update satadd mixin
phaser: no DDS stubs
dsp: accu fix
phaser: cleanup/reduce

sawg: kernel support and docs

sawg: coredevice api fixes

sawg: example ddb/experiment

phaser: add conda package

examples/phaser: typo

sawg: adapt tests, fix accu stb

sawg: tweak dds parameters

sawg: move/adapt/extend tests

sawg: test phy, refactor

phaser: non-rtio spi

phaser: target cli update

phaser: ad9154-fmc-ebz pins

phaser: reorganize fmc signal naming

phaser: add test mode stubs

phaser: txen is LVTTL

phaser: clk spi xfer test

phaser: spi for ad9154 and ad9516

phaser: spi tweaks

ad9154: add register map from ad9144.xml

ad9516: add register map from ad9517.xml and manual adaptation

ad9154_reg: just generate getter/setter macros as well

ad9154: reg WIP

ad9154: check and fix registers

kc705: single ended rtio_external_clk

use single ended user_sma_clk_n instead of p/n to free up one clock sma

kc705: mirror clk200 at user_sma_clock_p

ad9516_regs.h: fix B_COUNTER_MSB

phase: wire up clocking differently

needs patched misoc

kc705: feed rtio_external_clock directly

kc705: remove rtio_external_clk for phaser

phaser: spi tweaks

ad9516: some startup

ad9516_reg fixes

phaser: setup ad9516 for supposed 500 MHz operation

ad9516: use full duplex spi

ad9154_reg: add CONFIG_REG_2

ad9154_reg: fixes

phaser: write some ad9154 config

ad9154_reg: fixes

ad9154: more init, and human readable setup

ad9154/ad9516: merge spi support

ad9154: status readout

Revert "kc705: remove rtio_external_clk for phaser"

This reverts commit d500288bb44f2bf2eeb0c2f237aa207b0a8b1366.

Revert "kc705: feed rtio_external_clock directly"

This reverts commit 8dc7825519e3e75b7d3d29c9abf10fc6e3a8b4c5.

Revert "phase: wire up clocking differently"

This reverts commit ad9cc450ffa35abb54b0842d56f6cf6c53c6fbcc.

Revert "kc705: mirror clk200 at user_sma_clock_p"

This reverts commit 7f0dffdcdd28e648af84725682f82ec6e5642eba.

Revert "kc705: single ended rtio_external_clk"

This reverts commit a9426d983fbf5c1cb768da8f1da26d9b7335e9cf.

ad9516: 2000 MHz clock

phaser: test clock dist

phaser: test freqs

ad9154: iostandards

phaser: drop clock monitor

phaser: no separate i2c

phaser: drive rtio from refclk, wire up sysref

phaser: ttl channel for sync

ad9154: 4x interp, status, tweaks

phaser: sync/sysref 33V banks

phaser: sync/sysref LVDS_25 inputs are VCCO tolerant

phaser: user input-only ttls

phaser: rtio fully from refclk

ad9154: reg name usage fix

ad9154: check register modifications

Revert "ad9154: check register modifications"

This reverts commit 45121d90edf89f7bd8703503f9f317ad050f9564.

ad9154: fix status code

ad9154: addrinc, recal serdes pll

phaser: coredevice, example tweaks

sawg: missing import

sawg: type fixes

ad9514: move setup functions

ad9154: msb first also decreasing addr

phaser: use sys4x for rtio internal ref

phaser: move init code to main

phaser: naming cleanup

phaser: cleanup pins

phaser: move spi to kernel cpu

phaser: kernel support for ad9154 spi

ad9154: add r/w methods

ad9154: need return annotations

ad9154: r/w methods are kernels

ad9154_reg: portable helpers

phaser: cleanup startup kernel

ad9154: status test

ad9154: prbs test

ad9154: move setup, document

phaser: more documentation
2016-10-05 16:17:50 +02:00
whitequark 494cfca41c coreanalyzer: fix rtio_log message extraction.
Fixes #550.
2016-09-14 10:18:00 +00:00
whitequark 25ec99930c Also serialize numpy.int{32,64} like int in RPC return values.
Fixes #555.
2016-09-09 08:52:18 +00:00
Sebastien Bourdeauducq 2b282456dc coredevice/ttl: fix imports 2016-09-07 17:37:14 +08:00
Sebastien Bourdeauducq 486fe97649 ttl: add level-based APIs (#218) 2016-09-07 16:55:21 +08:00
Sebastien Bourdeauducq 310acca372 dds: fix docstring, closes #540 2016-08-16 14:55:30 +08:00
Sebastien Bourdeauducq 23b704802d dds: make init_sync accessible for AD9914 only 2016-08-15 17:45:18 +08:00
raghu c4d17138a1 added sync for AD9914 2016-08-15 17:44:27 +08:00
Sebastien Bourdeauducq 89df048efb analyzer: use picosecond resolution in VCD output. Closes #528 2016-08-03 10:57:15 +08:00
whitequark 933ea53c77 compiler: add basic numpy array support (#424). 2016-07-06 09:51:57 +00:00
whitequark 906db876a6 language: replace coredevice int with numpy.{int32,int64}.
Fixes #453.
2016-07-06 04:44:21 +00:00
Robert Jördens 73ac153509 spi: expose more documentation on chaining transfers 2016-07-04 12:43:33 +02:00
Sebastien Bourdeauducq c6e54e3016 coredevice/core: add syscall type annotation 2016-06-29 10:38:19 +08:00
Sebastien Bourdeauducq c8dc6ca07c inter-experiment smooth handover 2016-06-29 02:37:50 +08:00
Sebastien Bourdeauducq 5853e31ac2 coredevice/comm_tcp: more appropriate exception 2016-06-26 19:08:40 +08:00
Sebastien Bourdeauducq bc7d06468f coredevice/comm_generic: style 2016-06-26 18:50:02 +08:00
Robert Jördens a8b211f891 spi: cross-reference bit ordering and alignment, closes #482 2016-06-15 15:04:04 +02:00
Sebastien Bourdeauducq 3aab77d7a0 doc: precisions about time cursor interaction 2016-06-12 13:08:47 +08:00
Sebastien Bourdeauducq b9c3edd49f Revert "coredevice: automatically close on pause"
This reverts commit 1f50b3428e.
2016-06-11 10:12:36 -06:00
whitequark e47538ca33 analyzer: explicitly delimit messages (with \x1D).
Fixes #461.
2016-06-07 11:26:49 +00:00
Sebastien Bourdeauducq 0ac0547bca dds: use fast math for asf computations 2016-06-03 23:34:32 -04:00
dhslichter 98ae779941 dds: fix asf_to_amplitude 2016-06-03 23:02:16 -04:00
Sebastien Bourdeauducq 3d6f55104b coredevice/TCA6424A: convert 'outputs' value to little endian. Closes #437 2016-05-22 06:53:18 -07:00
whitequark 640022122b embedding: refactor some more. 2016-05-16 14:38:09 +00:00
whitequark c94c411fd5 compiler: demangle symbols.
In future commits we'll add Itanium C++ ABI style mangling to ARTIQ
emitted function names.
2016-05-16 14:38:09 +00:00
whitequark a88425b66b compiler: allow RPCing builtin functions.
Fixes #366.
2016-04-26 01:31:17 +00:00
whitequark 1464bae6b7 compiler: don't typecheck RPCs except for return type.
Fixes #260.
2016-04-26 01:12:36 +00:00
whitequark 5cccdcaad6 coredevice: deserialize int64(width=64) as int(width=64), not host_int.
Fixes #402.
2016-04-21 18:59:54 +00:00
Sebastien Bourdeauducq 1f50b3428e coredevice: automatically close on pause 2016-04-12 15:46:21 +08:00
whitequark 9cc9e8b276 embedding: s/kernel_constant_attributes/kernel_invariants/g
Requested in #359.
2016-04-06 22:38:31 +00:00
whitequark 712e16b79e ttl: mark constant attributes for TTL{In,InOut,ClockGen}. 2016-04-02 18:20:51 +00:00
whitequark 132b55d6be coredevice: format backtrace RA as +0xN, not 0xN.
The absolute address is somewhere in the 0x4000000 range; the one
that is displayed is an offset from the shared object base.
2016-04-02 18:05:40 +00:00
Sebastien Bourdeauducq a545598d4c style 2016-03-29 16:19:03 +08:00
Sebastien Bourdeauducq 50888865e7 doc/dds: fix init timing margin 2016-03-29 12:01:32 +08:00
Sebastien Bourdeauducq ce57794e7f doc: fix comment about when and how DDS init should be done. Closes #353 2016-03-29 11:10:53 +08:00
whitequark 1038f1321f compiler: allow specifying per-function "fast-math" flags.
Fixes #351.
2016-03-28 21:44:08 +00:00
whitequark 6f5332f892 compiler: allow flagging syscalls, providing information to optimizer.
This also fixes a crash in test_cache introduced in 1d8b0d46.
2016-03-28 19:56:56 +00:00
whitequark 507ad96db3 coredevice: add some kernel_constant_attributes specifications. 2016-03-28 00:06:00 +00:00
Robert Jördens 5b536d7c67 i2c: fix variable name (closes #347) 2016-03-25 12:51:55 +01:00
Sebastien Bourdeauducq 4d22db1aff coredevice/exceptions/ClockFailure: improve description 2016-03-19 18:01:00 +08:00
Sebastien Bourdeauducq 641831e0e1 dds: improve error reporting 2016-03-19 12:15:19 +08:00
Sebastien Bourdeauducq d0af58d122 coredevice: only import common RTIO exceptions 2016-03-19 12:11:47 +08:00
whitequark 501de30626 Report watchdog expiration and RTIO clock failure as exceptions.
Fixes #316.
2016-03-18 22:29:53 +00:00
whitequark 78fa5becea compiler: refuse to embed a function from another core device.
Fixes #332.
2016-03-18 02:01:14 +00:00
Sebastien Bourdeauducq cb8e497ff6 analyzer: fix DDSHandler setup 2016-03-15 22:14:44 +08:00
Sebastien Bourdeauducq 0076fc4216 analyzer: fix AD9914 FTW decoding 2016-03-15 22:14:21 +08:00
Sebastien Bourdeauducq 6a9957a2ac analyzer: fix get_dds_sysclk 2016-03-15 21:47:24 +08:00
Sebastien Bourdeauducq e13d424398 analyzer: strip final StoppedMessage for VCD output 2016-03-15 18:33:36 +08:00
Sebastien Bourdeauducq 8a6873cab2 analyzer: use EOP, flush pipeline on stop 2016-03-15 17:49:59 +08:00
Sebastien Bourdeauducq f4f95d330b Merge branch 'master' of github.com:m-labs/artiq 2016-03-10 11:15:30 +08:00
Sebastien Bourdeauducq 1739e0f2f8 coredevice: put cache into separate file/device 2016-03-10 10:46:19 +08:00
Robert Jördens 9edaf16735 exceptions: clarify RTIOBusy 2016-03-09 22:11:32 +01:00
Robert Jördens 349a66124b Merge branch 'master' into rtiobusy
* master:
  coredevice: fix _DDSGeneric __init__ args
  rtio/core: fix syntax
  rtio: disable replace on rt2wb channels
  examples: dds_bus -> core_dds
  fix more multi-DDS-bus problems
  runtime: fix dds declarations
  support for multiple DDS buses (untested)
2016-03-09 17:58:58 +01:00
Robert Jördens b32217cc84 coredevice: fix _DDSGeneric __init__ args 2016-03-09 17:23:02 +01:00
Robert Jördens 0bd9add95e spi: fix frequency_to_div() 2016-03-09 12:32:31 +01:00
Robert Jördens b0de9ee90a coredevice: add RTIOBusy to __all__ 2016-03-09 12:27:45 +01:00
Robert Jördens 446dcfbfbc Merge commit '9d1903a' into rtiobusy
* commit '9d1903a':
  coredevice/i2c,ttl,spi: consistent device get
  examples/device_db: remove --no-localhost-bind
  Monkey-patch asyncio create_server (fixes #253).
  pipistrello: drop ttls on pmod, add leds back in
  pipistrello: try with fewer leds/pmod ttl
2016-03-09 11:55:08 +01:00
Sebastien Bourdeauducq f0b0b1bac7 support for multiple DDS buses (untested) 2016-03-09 17:12:50 +08:00
Sebastien Bourdeauducq 9d1903a4e2 coredevice/i2c,ttl,spi: consistent device get 2016-03-09 13:01:34 +08:00
Robert Jördens 2cb58592ff rtio: add RTIOBusy 2016-03-08 18:04:34 +01:00
Sebastien Bourdeauducq 71105fd0d7 rtio: collision_error -> collision 2016-03-08 15:38:35 +08:00
Sebastien Bourdeauducq c73b080019 doc/PCA9548: clarify channel selection 2016-03-07 00:17:45 +08:00
Sebastien Bourdeauducq 2770d9c729 doc: I2C/QC2 2016-03-05 19:02:03 +08:00
Sebastien Bourdeauducq 683716017b test: I2C/PCA9548 unittest 2016-03-05 19:01:35 +08:00
Robert Jördens f2b4b975a3 ad5360: add documentation and an example 2016-03-04 23:36:17 +01:00
Robert Jördens 18ccac717b ad5360: t16 is a max 2016-03-04 19:46:18 +01:00
Robert Jördens eb2ec40b3a ad5360: un-factor write_channels 2016-03-04 19:01:29 +01:00
Robert Jördens 725943fee2 ad5360: add busy and update timings 2016-03-04 18:53:05 +01:00
Robert Jördens e834a88340 ad5360: style 2016-03-04 18:15:35 +01:00
Robert Jördens 710717ca9b ad5360: add batched zero-length multi-channel set() 2016-03-04 18:14:31 +01:00
Robert Jördens 4ae3ca5f23 spi/ad5360: refactor, small fixes 2016-03-04 18:14:31 +01:00
Sebastien Bourdeauducq 200cddc346 coredevice/i2c: fix exception message 2016-03-05 00:51:13 +08:00
Sebastien Bourdeauducq 70f0a7447f coredevice/PCA9548: fix I2C address 2016-03-05 00:47:24 +08:00
Sebastien Bourdeauducq df71b82037 coredevice/i2c: fix imports 2016-03-05 00:43:13 +08:00
Sebastien Bourdeauducq 2f1a2782d2 coredevice: add I2C, PCA9548, TCA6424A drivers 2016-03-05 00:17:41 +08:00
Sebastien Bourdeauducq ff4a46c278 runtime/i2c: make syscalls more ARTIQ-Python-friendly 2016-03-05 00:16:23 +08:00
Sebastien Bourdeauducq 3364827744 ttl/TTLClockGen: fix FTW computation with ref_multiplier != 1 2016-03-04 16:59:59 +08:00
Sebastien Bourdeauducq 4352d15016 coredevice/core: add ref_multiplier and coarse_ref_period attributes 2016-03-04 16:59:35 +08:00
whitequark 6e44c5424d coredevice.ttl: add missed int64 conversion. 2016-03-04 08:37:43 +00:00
Robert Jördens 669fbaa4f1 ad53xx->ad5360 and refactor 2016-03-04 00:00:25 +01:00
Robert Jördens dc6d116824 spi: have write() delay by transfer duration 2016-03-03 21:57:27 +01:00
Robert Jördens 9969cd85de ad53xx: ldac may be none 2016-03-02 15:50:02 +01:00
Robert Jördens 1e4bccae20 ad53xx: add 2016-03-02 00:12:01 +01:00
Robert Jördens 162ecdd574 spi: cleanup, add frequency_to_div() 2016-03-02 00:11:17 +01:00
Robert Jördens d973eb879f coredevice.spi: docstring fix 2016-03-01 22:42:00 +01:00
Robert Jördens f754d2c117 Merge branch 'spimaster'
* spimaster: (52 commits)
  runtime/rtio: rtio_process_exceptional_status() has only one user
  coredevice.spi, doc/manual: add spi
  kc705: move ttl channels together again, update doc
  runtime: rt2wb_input -> rtio_input_data
  examples/tdr: adapt to compiler changes
  bridge: really fix O/OE
  runtime: define constants for ttl addresses
  coredevice.ttl: fix sensitivity
  bridge: fix ttl o/oe addresses
  runtime: refactor ttl*()
  rtio: rm rtio_write_and_process_status
  coredevice.spi: unused import
  rt2wb, exceptions: remove RTIOTimeout
  gateware.spi: delay only writes to data register, update doc
  nist_clock: disable spi1/2
  runtime/rt2wb: use input/output terminology and add (async) input
  examples: update device_db for nist_clock spi
  gateware.spi: rework wb bus sequence
  nist_clock: rename spi*.ce to spi*.cs_n
  nist_clock: add SPIMasters to spi buses
  ...
2016-03-01 22:08:08 +01:00
Robert Jördens 0456169558 coredevice.spi, doc/manual: add spi 2016-03-01 21:29:09 +01:00
Robert Jördens f30dc4b39e runtime: rt2wb_input -> rtio_input_data 2016-03-01 19:22:42 +01:00
Robert Jördens 3aebbbdb61 coredevice.ttl: fix sensitivity 2016-03-01 18:22:03 +01:00
Robert Jördens 8adef12781 runtime: refactor ttl*()
* remove rt2wb_output
* remove ttl_*() ttl.c ttl.h
* use rtio_output() and rtio_input_timestamp()
* adapt coredevice/compiler layer
* adapt bridge to not artiq_raise_from_c()
2016-03-01 16:36:59 +01:00
Robert Jördens 29776fae3f coredevice.spi: unused import 2016-03-01 15:38:40 +01:00
Robert Jördens 324660ab40 rt2wb, exceptions: remove RTIOTimeout
Assume that rt2wb transactions either collide and are then
reported (https://github.com/m-labs/artiq/issues/308) or that
they complete and the delay with which they complete does not matter.

If a transaction is ack'ed with a delay because the WB core's downstream
logic is busy, that may lead to a later collision with another WB
transaction.
2016-03-01 14:44:07 +01:00
Sebastien Bourdeauducq c7d48a1765 coredevice/TTLOut: add dummy output function 2016-03-01 19:03:10 +08:00
Robert Jördens 7d7a710a56 runtime/rt2wb: use input/output terminology and add (async) input 2016-03-01 00:35:56 +01:00
Robert Jördens 7ab7f7d75d Merge branch 'master' into spimaster
* master:
  artiq_flash: use term 'gateware'
  targets/kc705-nist_clock: add clock generator on LA32 for testing purposes
  doc: insist that output() must be called on TTLInOut. Closes #297
  doc: update install instructions
  coredevice: do not give up on UTF-8 errors in log. Closes #300
  use m-labs setup for defaults
  fix indentation
2016-02-29 20:47:52 +01:00
Robert Jördens 6c899e6ba6 runtime/rtio: fix rtio_input_wait(), add RTIOTimeout 2016-02-29 19:49:15 +01:00
Robert Jördens 16537d347e coredevice.spi: cleanup 2016-02-29 19:48:26 +01:00
Robert Jördens e11366869d coredevice/spi: clean up api 2016-02-29 17:54:42 +01:00
Sebastien Bourdeauducq a1e1f2b387 doc: insist that output() must be called on TTLInOut. Closes #297 2016-03-01 00:28:40 +08:00
Sebastien Bourdeauducq 4467f91cbf coredevice: do not give up on UTF-8 errors in log. Closes #300 2016-02-29 22:21:10 +08:00
Robert Jördens c226aeb0d4 coredevice/spi: read_sync read bit 2016-02-29 14:55:29 +01:00
Robert Jördens df7d15d1fe runtime: refactor spi into rt2wb 2016-02-29 13:54:36 +01:00
Robert Jördens 8b2b278457 spi: add coredevice support 2016-02-29 00:44:48 +01:00
whitequark cf41890255 Correctly display backtraces that contain inlined functions. 2016-02-24 17:44:19 +00:00
whitequark 950eaef08c coredevice: re-export more exceptions. 2016-02-24 15:09:22 +00:00
whitequark 9db2be2b03 compiler: only use colors in diagnostics on POSIX (fixes #272). 2016-02-22 11:27:45 +00:00
whitequark a5977a5b62 Commit missing parts of 1465fe6f8. 2016-02-15 21:42:51 +00:00
Robert Jördens 68891493a3 analyzer: move common to artiq.protocols
migen was still pulled in through rtio.__init__.py
2016-01-29 20:26:48 -07:00
whitequark 7f9a180946 Fix typo. 2016-01-26 23:23:35 +00:00
Robert Jördens d1119d7747 artiq_dir: move out of tools to unlink dependencies 2016-01-25 18:15:50 -07:00
Robert Jördens cbb60337ae refactor Analyzer constants to unlink dependencies 2016-01-25 18:03:48 -07:00
Robert Jördens f4c7f02127 CoreException: store at 'py_exn.artiq_core_exception'
... and fix a few imports
2016-01-25 17:24:00 -07:00
Robert Jördens e0f2d94191 coredevice: remove some print()s 2016-01-25 17:24:00 -07:00
Robert Jördens 2beaf23e6c language...ARTIQException -> coredevice...CoreException
gets rid of a cross import
is only used there
2016-01-25 17:24:00 -07:00
Robert Jördens 765001054d artiq.experiment: merge language and coredevice namespaces
perl -i -pe 's/^from artiq import \*$/from artiq.experiment import */' your_experiments/*.py

(assuming you skipped the changes form the previous commit)
2016-01-25 17:24:00 -07:00
Sebastien Bourdeauducq dc709a77b8 PPP support (TCP broken) 2016-01-18 20:09:10 -07:00
whitequark 5c6b1517d0 Rigorously treat builtin core device exceptions. 2016-01-19 01:45:25 +00:00
whitequark 785b2736a0 Document core device cache (#219). 2016-01-16 16:38:55 +00:00
whitequark 67d2e7a828 worker: display compile warnings and errors nicely (#227). 2016-01-16 01:28:26 +00:00
Sebastien Bourdeauducq a9cf89215b coredevice/dds: use explicit 64-bit ints for ftw computations 2016-01-14 15:25:01 -07:00
whitequark 225f7d7302 Commit missing parts of 9366a29. 2016-01-10 20:01:26 +00:00
whitequark b669e83554 Inject parameters into coredevice exception message when mapping. 2016-01-10 18:06:28 +00:00
whitequark 4198601abb coredevice.exceptions: add CacheError. 2016-01-10 14:43:30 +00:00
whitequark f8e50f2b0c Remove redundant ksupport API. 2016-01-10 14:27:46 +00:00
whitequark cc45694f5a Commit missing parts of 9366a29. 2016-01-10 13:08:26 +00:00
whitequark 9366a29483 Implement core device storage (fixes #219). 2016-01-10 13:04:55 +00:00
whitequark 03dd1c3a43 Refactor the logic of printing diagnostics to solely rely on Engine. 2016-01-04 22:11:54 +08:00
whitequark 38a99fde52 Implement selective attribute writeback using shadow memory. 2016-01-02 22:51:04 +08:00
whitequark 79d020dd3a transforms.artiq_ir_generator: handle terminated try body. 2015-12-31 22:36:25 +08:00
whitequark 8aa34ee952 compiler: don't require exceptions to inherit ARTIQException. 2015-12-31 21:54:54 +08:00
whitequark 8fb6d4cdb4 coredevice.comm_generic: handle RPC default args correctly. 2015-12-29 02:54:34 +08:00
Sebastien Bourdeauducq b5253e1353 coredevice/analyzer: decode log messages 2015-12-27 01:28:34 +08:00
Sebastien Bourdeauducq 24fa74a8ab coredevice/analyzer: support TTL clockgen 2015-12-26 21:51:37 +08:00
Sebastien Bourdeauducq 1c36ae0672 coredevice/analyzer: support TTL inputs 2015-12-26 21:24:53 +08:00
Sebastien Bourdeauducq a871194ee4 coredevice/analyzer: prefix channel names with their types 2015-12-26 17:47:53 +08:00
Sebastien Bourdeauducq 2b70fa14a6 coredevice/analyzer: update rtio_slack on output messages only 2015-12-26 17:47:08 +08:00
Sebastien Bourdeauducq cd8eccfd46 coredevice/analyzer: add rtio_slack channel 2015-12-25 00:40:47 +08:00
Sebastien Bourdeauducq 179c50480f frontend: split coretool into coreconfig, corelog and coreanalyzer 2015-12-24 18:51:11 +08:00
Sebastien Bourdeauducq e41e2c088d analyzer: encapsulate decoded dump, get onehot sel from header 2015-12-24 00:31:21 +08:00
Sebastien Bourdeauducq 4be5df9802 coredevice/analyzer: DDS decoding 2015-12-23 18:57:53 +08:00
Sebastien Bourdeauducq 58d0e2c0b8 coredevice/analyzer: log TTL decoding in debug mode 2015-12-23 18:56:23 +08:00
Sebastien Bourdeauducq e4d73c0302 artiq/coredevice/dds: fix dds_set signature 2015-12-23 17:25:31 +08:00
Sebastien Bourdeauducq f6522922f8 coredevice/exceptions: PEP8 2015-12-22 12:03:11 +08:00
Sebastien Bourdeauducq 23355d8eff coredevice: restore RTIOCollisionError 2015-12-22 11:59:18 +08:00
Sebastien Bourdeauducq 007a7170e1 analyzer: report DDS channel number 2015-12-21 18:37:53 +08:00
Sebastien Bourdeauducq e87436fc03 coredevice/analyzer: remove zero-timestamp msg filtering (now unnecessary) 2015-12-21 11:15:58 +08:00
Sebastien Bourdeauducq b96e0d241e coredevice/analyzer: set VCD timescale 2015-12-20 22:06:07 +08:00
Sebastien Bourdeauducq 4b5c10b641 coredevice/core: remove default period 2015-12-20 22:05:52 +08:00
Sebastien Bourdeauducq cdcb57effe coredevice/analyzer: basic VCD writing 2015-12-20 19:32:52 +08:00
Sebastien Bourdeauducq 46f59b673f coredevice: analyzer message decoding 2015-12-20 14:34:16 +08:00
whitequark afee03b89c Commit missing parts of 4fb1de33. 2015-12-19 06:41:32 +08:00
whitequark 4fb1de33c9 Initial invocation of a @kernel function can now return a value (fixes #197). 2015-12-19 05:26:18 +08:00
Sebastien Bourdeauducq 0832c71a66 coredevice/comm_tcp: support retrieving analyzer data 2015-12-18 18:22:50 +08:00
whitequark 52102a1a79 Fix handling of default values for RPC arguments (fixes #190). 2015-12-18 18:03:07 +08:00
Sebastien Bourdeauducq eeb53c5aa5 coredevice/comm: compare software and gateware versions. Closes #97 2015-12-11 22:56:40 +08:00
whitequark 16ae0fb6eb compiler.embedding: instantiate RPC method types (fixes #180). 2015-11-27 16:29:13 +08:00
whitequark e1cd2ccd40 compiler: pull in dependencies in more finely grained way (fixes #181). 2015-11-24 17:32:04 +08:00
whitequark bd5b324fc2 Merge branch 'master' into new-py2llvm 2015-10-13 19:24:45 +03:00
Sebastien Bourdeauducq 5f89d1a78f doc: document core device driver. Closes #119 2015-10-06 18:12:57 +08:00
whitequark 7a6fc3983c Make delay component of function type unifyable. 2015-09-30 18:41:14 +03:00
whitequark 3e1348a084 Merge branch 'master' of github.com:m-labs/artiq into new-py2llvm 2015-09-27 18:22:28 +03:00
Raghavendra Srinivas b3831d3387 dds: support amplitude tuning on AD9914
Closes #108
2015-09-05 13:15:09 -06:00
Sebastien Bourdeauducq 6e5b71a43e coredevice/comm_tcp: disable socket timeout after connect
Reads may block indefinitely.
2015-09-03 09:59:24 -06:00
whitequark 2df8b946f9 Factor out the code to pretty-print diagnostics. 2015-08-31 22:52:39 -06:00
whitequark 501ba912c2 Implement {delay,now,at}{,_mu} and {mu,seconds}_to_{seconds,mu}. 2015-08-31 09:59:33 -06:00
Sebastien Bourdeauducq a36a50ba0d comm_tcp: add connect timeout 2015-08-28 16:23:23 +08:00
whitequark 9605e8215f coredevice.ttl: update for new int semantics. 2015-08-28 02:11:26 -05:00
whitequark 7c1abb25ec compiler.embedding: test all diagnostics.
Also, unify and improve diagnostic messages.
2015-08-28 00:47:28 -05:00
whitequark d80be482fc Allow clearing core device log buffer.
This is useful to get a fresh environment, such as when
running tests that print to log buffer.
2015-08-28 00:37:46 -05:00
Sebastien Bourdeauducq 0fe0f4d433 dds: fix phase computation. Closes #79. 2015-08-27 11:09:33 +08:00
Sebastien Bourdeauducq 1991b3c910 coredevice/TTLClockGen: fix attribute init 2015-08-27 09:48:11 +08:00
whitequark 9b9fa1ab7c Allow embedding and RPC sending host objects. 2015-08-25 21:56:01 -07:00
whitequark 673512f356 coredevice.core: fix imports. 2015-08-19 12:37:31 -07:00
Sebastien Bourdeauducq c625f2e7c9 ttl: minor docstring cleanup 2015-08-17 23:50:24 +08:00
Sebastien Bourdeauducq c71d207e90 core/break_realtime: only increase now 2015-08-17 23:41:21 +08:00
Sebastien Bourdeauducq dee844510c comm_tcp: enable TCP keepalive on host side as well 2015-08-15 16:03:00 +08:00
Sebastien Bourdeauducq f073dfaee5 ttl: add input/output doc 2015-08-13 12:20:12 +08:00
whitequark 62e6f8a03d compiler.embedding.Stitcher: refactor. 2015-08-10 20:26:07 +03:00
whitequark 46476516ba ARTIQException: tell linecache where to look for runtime sources.
Runtime sources can appear in the backtrace when
artiq_raise_from_c is used.
2015-08-10 20:26:07 +03:00
whitequark c72267ecf5 Implement syscalls for the new compiler. 2015-08-10 20:26:06 +03:00
whitequark 75532d10aa Display full core device backtraces. 2015-08-10 15:12:22 +03:00
whitequark d4270cf66e Implement receiving data from RPCs. 2015-08-09 20:17:00 +03:00
whitequark 02b1543c63 Implement receiving exceptions from RPCs. 2015-08-09 16:16:41 +03:00
whitequark 8b7d38d203 Add ARTIQ_DUMP_ASSEMBLY. 2015-08-09 15:47:29 +03:00
whitequark b26af5df60 Implement sending RPCs. 2015-08-09 02:17:19 +03:00
whitequark 13ad9b5d08 Allow to dump ARTIQ/LLVM IR for stitched code. 2015-08-08 21:47:20 +03:00
Sebastien Bourdeauducq 671a3f1833 doc: precision about dds batch time 2015-08-08 23:05:00 +08:00
Sebastien Bourdeauducq 0a6fcd9fa0 Revert "comm_generic: cleanup"
This reverts commit be55487d2d.
2015-08-08 21:24:23 +08:00
whitequark 27d2390fed Add zero-cost exception support to runtime and host. 2015-08-08 16:01:31 +03:00
whitequark ecdebc0b8a session.c: refactor. 2015-08-08 13:21:43 +03:00