Commit Graph

151 Commits

Author SHA1 Message Date
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