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

659 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq b74d6fb9ba make collision and busy asynchronous errors, and simplify CPU/gateware handshake for output errors and reads 2017-03-27 16:32:23 +08:00
whitequark 795a3e24d8 artiq_coreboot: block until hotswap image is actually received. 2017-03-07 11:36:28 +00:00
whitequark b0cdef3211 firmware: implement hotswap through artiq_coreboot tool. 2017-03-06 16:01:28 +00:00
whitequark e8c093deb3 Allow changing runtime log level without recompilation.
This shouldn't affect performance much, as the log crate guards
every log statement with a branch, adding just two instructions.
2017-03-03 06:06:26 +00:00
whitequark a4ece19614 Implement DMA playback. 2017-02-28 21:28:40 +00:00
Sebastien Bourdeauducq 7d6ebabc1b reorganize core device communication code 2017-02-27 18:37:30 +08:00
Sebastien Bourdeauducq b8bfcd2d7e moninj: share probe/override numbers and use Enum 2017-02-27 11:54:16 +08:00
Sebastien Bourdeauducq 26654e6a3a moninj: Python-side fixes 2017-02-27 11:45:04 +08:00
Sebastien Bourdeauducq dff23293c7 Merge branch 'master' of github.com:m-labs/artiq 2017-02-27 01:05:40 +08:00
Sebastien Bourdeauducq 990b8152f6 coredevice: add moninj protocol driver 2017-02-27 00:59:17 +08:00
whitequark 5d3b00cf12 Implement recording of DMA traces on the core device. 2017-02-26 02:50:20 +00:00
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
whitequark d6ab567242 coredevice.comm_*: refactor. 2015-08-07 16:44:16 +03:00
Sebastien Bourdeauducq be55487d2d comm_generic: cleanup 2015-08-07 21:12:00 +08:00
whitequark 353f454a29 Add basic support for embedded functions with new compiler. 2015-08-07 11:44:49 +03:00
whitequark b5cf1e395d runtime: avoid race condition when running kernel.
Also, don't bother passing kernel name: entry point is already
recorded in DT_INIT when the kernel is linked.
2015-08-07 08:51:33 +03:00
whitequark 4a8e397a77 Fold llvmlite patches into m-labs/llvmlite repository. 2015-08-05 03:49:01 +03:00
whitequark 62fdc75d2d Integrate libdyld and libunwind.
It is currently possible to run the idle experiment, and it
can raise and catch exceptions, but exceptions are not yet
propagated across RPC boundaries.
2015-08-02 15:43:03 +03:00
Sebastien Bourdeauducq 1d34c06d79 rtio: detect collision errors 2015-07-29 19:43:35 +08:00
Sebastien Bourdeauducq 90368415a6 ttl: remove timestamp function
The general idea is that functions that work with absolute timestamps exist only in machine units versions, to help prevent floating point losses of precision. Time differences should be computed in machine units and then converted, e.g. mu_to_seconds(t2-t1).

This function would have had problems after ~50 days of running the device.
2015-07-29 11:11:16 +08:00
Robert Jördens 5f5227f01f ttl: add timestamp() 2015-07-28 16:20:05 -06:00
Robert Jördens e95b66f114 ttl: remove spurious _mu 2015-07-28 16:20:05 -06:00
Sebastien Bourdeauducq f836465585 coredevice: environment -> runtime 2015-07-15 11:20:41 +02:00
Yann Sionneau 90ba9f7bbf llvmlite: rename our package to be llvmlite_or1k to avoid collision with llvmlite package needed for numba 2015-07-14 01:01:56 +02:00
Sebastien Bourdeauducq 56fc7a484c TTLInOut: timestamp -> timestamp_mu 2015-07-13 23:21:29 +02:00
Sebastien Bourdeauducq 32d141f5ac refactor ddb/pdb/rdb 2015-07-13 22:21:32 +02:00
Sebastien Bourdeauducq 34aacd3c5f complete AD9914 support (no programmable modulus, untested) 2015-07-08 17:22:43 +02:00
Sebastien Bourdeauducq 8a33d8c868 never stop RTIO counter 2015-07-07 15:29:38 +02:00
Sebastien Bourdeauducq 58c0150822 ttl: improve clockgen doc 2015-07-05 19:07:13 +02:00
Sebastien Bourdeauducq 65ec6c28f4 ttl/clockgen: expose acc_width 2015-07-04 19:21:25 +02:00
Sebastien Bourdeauducq 753d61b38f complete support for TTL clock generator 2015-07-04 18:36:01 +02:00
Sebastien Bourdeauducq 9d6287a6a3 expose machine units to user 2015-07-01 22:22:53 +02:00
Sebastien Bourdeauducq c71fe29792 simplify unit system and use floats by default 2015-06-26 16:34:37 +02:00
Sebastien Bourdeauducq e6a4c2fb36 dds: make it easier to specify phase 2015-06-26 12:05:11 +02:00
Sebastien Bourdeauducq 87ea1433d3 dds: all working 2015-06-20 18:42:39 -06:00
Sebastien Bourdeauducq 5a9bdb2e33 DDS monitoring 2015-06-19 15:30:17 -06:00
Yann Sionneau 575dfade38 flash_storage comm: use OK/ERROR replies instead of specific FLASH_WRITE_REPLY 2015-05-29 11:10:40 +02:00
Yann Sionneau 4bf7875b87 flash_storage: refactor + unit tests + artiq_coreconfig.py CLI + doc 2015-05-27 18:06:12 +08:00
Sebastien Bourdeauducq ce4b5739ed runtime: reset all DDSes upon startup 2015-05-09 17:12:38 +08:00
Sebastien Bourdeauducq 1ceb06fb16 dds: use context manager for batches 2015-05-09 14:47:40 +08:00
Sebastien Bourdeauducq 5c08423b29 dds: support batches in driver 2015-05-08 22:17:06 +08:00
Sebastien Bourdeauducq 55f2fef576 runtime: support DDS batches 2015-05-08 16:51:54 +08:00
Sebastien Bourdeauducq 53c6339307 runtime: break ttl-specific functions from rtio 2015-05-08 16:20:12 +08:00
Sebastien Bourdeauducq a36c51eb83 DDS over RTIO (batch mode not supported yet) 2015-05-08 14:44:39 +08:00
Sebastien Bourdeauducq 2adf9d91df recover_underflow -> break_realtime 2015-05-03 20:45:28 +08:00
Sebastien Bourdeauducq 4048568d8e support kernel handover with coherent time 2015-05-02 23:41:49 +08:00
Sebastien Bourdeauducq 65b4b7bb12 coredevice: rename rtio to ttl, integrated in+out driver, loopback on the same pin in tests 2015-05-02 10:35:21 +08:00
Sebastien Bourdeauducq 967145f2dc watchdog support on core device (broken by bug similar to issue #19) 2015-04-29 12:58:37 +08:00
Sebastien Bourdeauducq e5f7fcc339 coredevice/comm_tcp: raise exception on connection closed 2015-04-29 11:18:51 +08:00
Sebastien Bourdeauducq 9b62e7e77b runtime,coredevice: support session reset for serial 2015-04-28 02:11:58 +08:00
Sebastien Bourdeauducq 8a19766278 runtime,comm_generic: improve and fix list encoding 2015-04-28 01:31:55 +08:00
Sebastien Bourdeauducq 934a6b0495 runtime,coredevice: Ethernet support (buggy) 2015-04-23 23:22:40 +08:00
Sebastien Bourdeauducq 18106cc014 comm: refactor to support lwip event model 2015-04-22 01:31:31 +08:00
Sebastien Bourdeauducq 9f52277245 coredevice/core: set default for ref_period 2015-04-22 01:12:01 +08:00
Sebastien Bourdeauducq 0c1d256fef comm_dummy: remove unneeded import 2015-04-19 11:41:20 +08:00
Sebastien Bourdeauducq c98e08fe36 fix transforms unittest 2015-04-19 11:40:49 +08:00
Sebastien Bourdeauducq 546996f896 coredevice,runtime: put ref_period into the ddb 2015-04-16 15:15:38 +08:00
Sebastien Bourdeauducq ecf6b29279 coredevice/rtio: minor docstring cleanup 2015-04-15 13:53:00 +08:00
Sebastien Bourdeauducq 4c10182c9f rtio: refactor, use rtlink 2015-04-14 19:44:45 +08:00
Sebastien Bourdeauducq 88e0aae16d coredevice: add comm_tcp 2015-04-10 01:22:03 +08:00
Sebastien Bourdeauducq f427041ae9 coredevice/comm_serial: minor cleanup 2015-04-10 01:21:47 +08:00
Sebastien Bourdeauducq cb2596bd81 coredevice/comm: split protocol to allow reuse for Ethernet 2015-04-10 00:59:35 +08:00
Sebastien Bourdeauducq fda4ee1a83 coredevice: add compile method 2015-04-07 15:40:25 +08:00
Sebastien Bourdeauducq 72f9f7ed79 runtime: implement mailbox, use it for kernel startup, exceptions and termination 2015-04-05 22:07:34 +08:00
Sebastien Bourdeauducq 833178462d remove gpio driver 2015-04-04 22:06:54 +08:00
Sebastien Bourdeauducq 3108ffeef6 coredevice/comm_serial: use lazy formatting in logging 2015-03-27 18:54:19 +01:00
Robert Jördens f4cb97b709 comm_serial: fix baud rate change logging 2015-03-25 17:57:53 -06:00
Sebastien Bourdeauducq 7a1d60ee15 coredevice,runtime,language: add parameters to runtime exceptions, include information with RTIO errors 2015-03-13 14:55:18 +01:00
Sebastien Bourdeauducq 84732a469d coredevice/gpio: fix indentation 2015-03-13 14:31:50 +01:00
Sebastien Bourdeauducq 0f007cb1a7 language/db: remove implicit_core 2015-03-08 11:37:53 +01:00
Sebastien Bourdeauducq e10390d142 coredevice: add get_rtio_time 2015-02-18 09:56:30 -07:00
Sebastien Bourdeauducq 37feaf1cea comm_serial: use serial.serial_for_url 2015-01-30 11:47:20 +08:00
Sebastien Bourdeauducq 891c0d12f2 refactor device/parameter management, immediate parameter updates, start introducing results 2015-01-12 18:51:23 +08:00
Sebastien Bourdeauducq f7232fd3d1 support exceptions raised by RPCs 2014-12-20 21:33:22 +08:00
Yann Sionneau e4897132ad comm_serial.py: Use cross-platform pyserial 2014-12-20 10:19:06 +08:00
Sebastien Bourdeauducq 0d10ae7580 rpc: support all data types as parameters 2014-12-19 12:46:24 +08:00
Sebastien Bourdeauducq 059608d1fd dds: fix phase modes 2014-12-09 13:50:33 +08:00
Sebastien Bourdeauducq cb48dba29c coredevice: fix external clock ref_period computation 2014-12-09 11:22:55 +08:00
Sebastien Bourdeauducq bfe980d458 py2llvm: distinguish between llvmlite Module and ModuleRef 2014-12-06 15:14:39 +08:00
Sebastien Bourdeauducq 159f632a65 switch to llvmlite 2014-12-05 17:05:43 +08:00
Sebastien Bourdeauducq 2a95d27770 device and parameter database 2014-12-03 18:20:30 +08:00
Sebastien Bourdeauducq a41009f92a coredevice/comm_dummy: support clock-switching functions 2014-12-03 18:16:18 +08:00
Sebastien Bourdeauducq 2a843ea436 language: replace AutoContext 'parameter' string with abstract attributes
This allows specifying default values for parameters, and other data.
2014-12-02 17:19:05 +08:00
Sebastien Bourdeauducq 83d3b97b23 coredevice/comm_serial: give up on garbage received after baudrate change 2014-12-02 16:04:41 +08:00
Sebastien Bourdeauducq 649fedd656 coredevice/core: fix recover_underflow 2014-12-02 15:31:09 +08:00
Sebastien Bourdeauducq fc690ead75 runtime: support clock switching 2014-12-02 14:06:32 +08:00
Sebastien Bourdeauducq 94218f785e comm_serial: cleanup 2014-12-02 11:09:02 +08:00
Yann Sionneau 20adb57140 comm_serial: allow to use dynamic baudrate 2014-12-02 10:42:14 +08:00
Sebastien Bourdeauducq 57d633f48e rtio: remove unnecessary attributes 2014-12-01 17:47:24 +08:00
Sebastien Bourdeauducq cd587e4f12 rtio: do housekeeping in gateware 2014-12-01 17:32:36 +08:00
Sebastien Bourdeauducq d50dbc0e73 coredevice/runtime_exceptions: update RTIO exception behaviour doc 2014-12-01 13:57:25 +08:00
Sebastien Bourdeauducq 901073acf3 asynchronous RTIO 2014-11-30 00:13:54 +08:00
Sebastien Bourdeauducq 914bdd95d5 runtime: use booleans in syscalls 2014-11-20 12:49:09 -08:00
Sebastien Bourdeauducq dfd779c7c5 core: add underflow recovery function 2014-11-20 12:38:52 -08:00
Sebastien Bourdeauducq 1780759327 dds: phase control (mostly untested) 2014-11-20 12:32:56 -08:00
Sebastien Bourdeauducq b736c30cdb coredevice/core: core_com -> comm 2014-11-19 17:44:06 -08:00
Sebastien Bourdeauducq 75df0ae94a coredevice/gpio: replace set() with on()/off() to make API consistent 2014-11-19 12:33:33 -08:00
Sebastien Bourdeauducq abae5c6728 coredevice/dds: round FTW instead of flooring 2014-11-17 18:36:00 -07:00
Sebastien Bourdeauducq e02ca0b404 transforms: quantize time before interleaving 2014-11-15 15:26:35 -07:00
Sebastien Bourdeauducq b163c9f7ea test: add optimization transform stack 2014-11-03 18:44:30 +08:00
Sebastien Bourdeauducq 9b93b0cedf unparse: string-based API 2014-11-03 18:14:33 +08:00