17f61b8e29
pxi6733: minor fixes
2015-04-21 16:23:09 +08:00
Yann Sionneau
69388ccc1a
pxi6733: add driver and controller
2015-04-21 16:09:55 +08:00
6a0e97f161
pdq2: refactor program_frame(), cleanup test, stall correctly
...
Once the Sequencer ack's a line, the Parser starts preparing the
next one. This includes jumping through the frame table if necessary.
To stall the Parser while the Sequencer executes the last line of a
frame and to ensure that the frame select lines can be set up and their
sampling is synchronized to a trigger, we add a triggered stall line
at the end of the frame.
When that line is triggered the Parser jumps through the table and starts
parsing the first line of the next frame. We let the duration of this
last stall line be 10 cycles (200ns@50MHz) to be able to distinguish this
sampling of the frame select lines from the triggering of the first line
in the next frame.
frame f
parser n f 0
stb __---________---___
trigger ___----_______----_
ack ____-__________-___
sequencer n-1 n 0
2015-04-14 18:18:16 -06:00
7ea9250b31
wavesynth: interpolate->coefficients
2015-04-05 04:43:27 -06:00
9fd4594c53
interpolate: refactor discrete_compensate
2015-04-05 04:32:23 -06:00
1d5f467da7
pdq2: implement changes in trigger/jump semantics, add unittest
...
The unittests now runs the compute_samples.Synthesizer against the actual
gateware and verifies similarity (up to integer rounding errors).
2015-04-05 03:55:54 -06:00
e870b27830
wavesynth: new semantics, fix compensation
...
* "trigger" now means that the corresponding line will only start
once the trigger line is high.
* "jump" is implicit as the last line in a frame must jump back.
* spline coefficients are now compensated for finite time step size
2015-04-05 03:55:54 -06:00
Yann Sionneau
5ca5a3602e
novatech409b: cleanup
2015-03-25 16:11:11 +01:00
6a0bc19279
pdq2/driver: document a few units
2015-03-23 20:31:37 -06:00
b597483913
thorlabs_tcube: spelling, fix ping
2015-03-23 17:24:12 +01:00
Yann Sionneau
2651050c83
Controller cleanups
2015-03-23 17:02:39 +01:00
0b174085c8
pdq2/mediator: rewrite, adapt to new PDQ RPC format, support anonymous segments, support uploading to controllers
2015-03-22 22:30:59 +01:00
1b7f71bda9
controllers: consistent device/simulation specification
2015-03-22 00:48:15 +01:00
7e61f66493
pdq2/mediator: get pdq devices from pdb
2015-03-22 00:24:42 +01:00
05781699b8
pdq2: driver and unittest
...
* parses wavesynth style programs
* verified with cosimulated gateware
2015-03-21 00:29:00 -06:00
fae7246f30
pdq2: merge from main pdq2 repo
2015-03-19 14:34:37 -06:00
0f007cb1a7
language/db: remove implicit_core
2015-03-08 11:37:53 +01:00
Yann Sionneau
c2831db253
thorlabs_tcube: add realistic values for status bits and dc status in driver sim
2015-03-04 23:45:22 +00:00
Yann Sionneau
5091098eb0
thorlabs_tcube: driver PEP8 fix
2015-03-04 23:45:21 +00:00
Yann Sionneau
5b8691f7f5
thorlabs_tcube: fix driver spelling issues
2015-03-04 23:45:21 +00:00
Yann Sionneau
14c759ff89
add Thorlabs T-Cube NDSP
2015-03-04 14:30:49 +00:00
3e46a36a4d
lda: do not print attenuation value in simulation
2015-02-27 00:16:56 -07:00
Yann Sionneau
b672a99174
lda: add support for ping
2015-02-26 09:30:30 -07:00
Yann Sionneau
5cfdac9c7c
Lda: replace assert with direct exception raising
2015-02-20 10:21:15 -07:00
05824fd3be
lda: style
2015-02-18 11:31:44 -07:00
Yann Sionneau
dc132bd248
lda: fixes
2015-02-18 11:23:24 -07:00
4558fb3e33
clarify controller terminology
2015-02-16 08:57:15 -07:00
021d0d312e
novatech409b: do not specify type info in docstrings
2015-02-16 04:43:30 -07:00
Joe Britton
a3494c57cc
add Novatech 409B controller
2015-02-15 17:31:37 -07:00
891c0d12f2
refactor device/parameter management, immediate parameter updates, start introducing results
2015-01-12 18:51:23 +08:00
Yann Sionneau
2ad063c377
Lda: sanity checks on attenuation value
...
- Plus use of dB unit
2015-01-10 00:27:21 +08:00
Yann Sionneau
d21211a473
lda: docstring style
2015-01-10 00:27:15 +08:00
dhslichter
ff37cdc26c
Update driver.py
2015-01-05 17:40:37 -07:00
dhslichter
c971a6f1c6
Update driver.py
...
Fix 32dB limit bug
2015-01-05 15:52:47 -07:00
d315268ddb
move controllers/clients to frontend
2014-12-11 14:10:15 +08:00
87fdad97ca
devices/lda: break off main function
2014-12-10 12:01:31 +08:00
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
Yann Sionneau
0c20445413
lda: allow to simulate without needing hidapi
...
This also fixes some old style string formating
2014-12-01 19:39:13 +08:00
9c41f98d70
lda_controller: fix memory leak
2014-11-29 11:19:03 +08:00
8f18d8d492
devices: use underscore in filenames to permit import
2014-11-29 11:03:52 +08:00
Yann Sionneau
81ab801fe4
lda: filter reports when waiting for command response
2014-11-29 10:50:41 +08:00
Yann Sionneau
075e540032
lda: separate simulation class
2014-11-29 10:50:12 +08:00
Yann Sionneau
b9e7fdb80e
lda: add docstring
2014-11-29 10:49:43 +08:00
dc27c2e3ad
lda: remove excessive verbosity
2014-11-25 19:59:53 +08:00
57e25c7af1
lda: minor fixes and refactoring
2014-11-25 19:56:28 +08:00
Yann Sionneau
744e7841c6
devices: initial LDA controller
2014-11-25 19:51:28 +08:00
9098d10766
use .py extension on all Python files
2014-11-18 13:50:47 -08:00
f54a2f93d2
remove kernel_attr (inline transform is now smart enough to autodetect)
2014-11-03 14:38:04 +08:00
4cae5531ec
pc_rpc: server identification support
2014-10-28 15:45:56 +08:00
2946fa58b8
pc_rpc: factor out asyncio server code
2014-10-27 20:37:37 +08:00
1e5b05d4ec
pdq2: fix commandline arguments
2014-10-27 20:34:33 +08:00
171ed70f2a
pc_rpc: remove WaitQuit (use e.g. Ctrl-C on the controller side instead)
2014-10-27 14:33:45 +08:00
3f1391f7f2
devices: basic pdq2 controller/client
2014-10-25 11:38:42 +08:00
85b6a7ca24
pdq2: small improvements based on ML feedback
2014-10-22 17:31:33 +08:00
61a50ee53c
reorganize for devices/controllers
2014-10-19 23:51:49 +08:00
caab81974a
devices: add pdq2 (incomplete)
2014-10-17 00:13:09 +08:00
111bd3092c
devices/rtio_core: add LLRTIOOut
2014-10-17 00:12:53 +08:00
27d1a5ffb9
devices/dds_core: rename rtio_channel to rtio_switch
2014-10-16 23:36:28 +08:00
cbf915c2cc
devices/runtime: pretty-print
2014-10-14 19:49:39 +08:00
88ad4fbf23
pdq2: pep8
2014-10-14 17:02:25 +08:00
ea0773ccb5
pdq2: split CLI
2014-10-14 16:38:02 +08:00
de158e0aeb
artiq/devices: add pdq2.py
2014-10-14 16:00:52 +08:00
d22c30650d
rtio: add timestamp function
2014-10-14 15:54:10 +08:00
2449348f31
devices/runtime: allow 1ms for all initial DDS programming
2014-10-14 12:47:24 +08:00
a303293e8f
devices/dds_core: fix merging of back-to-back pulses of different frequencies
2014-10-13 23:58:32 +08:00
0158de5ac9
devices/corecom_dummy: fix ref_period
2014-10-13 17:20:12 +08:00
74adb39157
devices/dds_core: add frequency_to_ftw and ftw_to_frequency
2014-10-13 17:05:35 +08:00
9925568473
devices/runtime: add returns_twice attribute on __eh_setjmp (fixes exception crashes)
2014-10-11 12:59:39 +08:00
Yann Sionneau
e3ef077cb2
Fix module installation
...
Allow to use setup.py for ARTIQ instead of PYTHONPATH.
Without this, the installation is incomplete.
2014-10-11 00:42:26 +08:00
e22301ea05
transforms: track units, now() returns seconds, implement time_to_cycles and cycles_to_time
2014-10-06 23:28:56 +08:00
8612a8a9ca
devices/dds_core: remove stale kernel_attr
2014-10-06 17:23:00 +08:00
76fed11d59
rtio: raise RTIOSequenceError exceptions when events are not submitted in-order
2014-09-30 19:32:11 +08:00
73d0a84b44
doc: various cleanups
2014-09-30 18:10:40 +08:00
cb036a30c7
devices/dds_core: document
2014-09-30 17:38:52 +08:00
5099643f84
devices/rtio_core: rename RTIOCounter to RTIOIn and document
2014-09-30 16:42:07 +08:00
4572b7657f
devices/runtime_exceptions: fix exception_map generation
2014-09-29 18:08:58 +08:00
035b541a73
language/core: add RuntimeException
2014-09-29 17:36:35 +08:00
af0cd902d3
get frequency from RTIO, support fractional frequencies
2014-09-26 17:24:06 +08:00
e0cd45b1ba
devices/corecom_serial: do not use deprecated logger.warn
2014-09-25 12:58:11 +08:00
4f26b6281d
host: support runtime device exceptions
2014-09-25 12:57:26 +08:00
af15f45bb9
runtime: do not use buggy llvm.eh.sjlj.* intrinsics
2014-09-23 22:09:08 +08:00
8b769a0417
devices/runtime: add more eh functions
2014-09-23 16:25:41 +08:00
bad87ef38b
devices/corecom_serial: unpack unsigned chars
2014-09-22 13:23:39 +08:00
19abab3feb
devices/runtime: rename syscall to build_syscall
2014-09-22 13:22:38 +08:00
5244a63b55
devices/runtime: register eh_raise service
2014-09-22 13:22:04 +08:00
3de24619b2
corecom: exception support
2014-09-21 23:36:10 +08:00
e821f9eb83
transforms/inline: encode exceptions
2014-09-21 23:30:40 +08:00
426d6dd979
corecom_serial: logger/debugging
2014-09-21 18:19:14 +08:00
0b1ebb1ba5
devices/core: raise loop unrolling limit
2014-09-17 19:52:18 +08:00
9af0e9c91a
devices/runtime: support dumping of ELF object via ARTIQ_DUMP_OBJECT environment variable
2014-09-17 18:03:54 +08:00
af6457c5fa
devices/core: enable unparser via ARTIQ_UNPARSE environment variable
2014-09-17 17:06:51 +08:00
140b4eb594
devices/rtio_core: set OE, implement gate/count
2014-09-15 22:48:22 +08:00
8bf7b27a89
runtime: increase initial_time
2014-09-15 22:47:19 +08:00
11d8840277
runtime: new serial protocol, support multiple entry points and log messages
2014-09-15 22:40:33 +08:00
f529361c8b
runtime: add rtio_oe and rtio_get syscalls
2014-09-14 23:30:33 +08:00
a55018953d
devices/rtio_core: add dummy counter
2014-09-13 19:37:57 +08:00
5c228f9114
Consistent variable naming
2014-09-13 19:32:21 +08:00
6861d28d2d
runtime: support arbitrarily long initial DDS setup time
2014-09-12 15:40:34 +08:00
92efde1e40
devices/dds_core: support realtime FUD and zero-length pulse collapsing
2014-09-12 15:36:17 +08:00
a60e6237bf
runtime: increase initial time
...
This leaves some time for DDS FUD operations to complete.
2014-09-12 15:34:29 +08:00