Re: [ARTIQ] Installing and trying ARTIQ is now easier

2015-02-18 Thread Sebastien Bourdeauducq
On Wednesday, February 18, 2015 11:25 AM, Gaebler, John wrote: 3. cd binary_package ./flash.sh -a (notice the .sh) Is there a way to do this from Windows? xc3sprog should also work on Windows, but I never tried. artiq_run.exe led.py from the command prompt (and in the folder

Re: [ARTIQ] handling device disconnections and controller freezes

2015-02-17 Thread Sebastien Bourdeauducq
On Tuesday, February 17, 2015 09:59 AM, Slichter, Daniel H. wrote: One fairly easy-to-imagine possibility is people wanting to call Matlab from ARTIQ for some of their data processing, using the Matlab Engine for Python. In this instance, one would have to wait for Matlab network licenses to be

Re: [ARTIQ] shallow parameter histories

2015-03-19 Thread Sebastien Bourdeauducq
Hi, On Wednesday, March 18, 2015 09:22 PM, Joe Britton wrote: Ok. How deep should the history be, and what is the algorithm that takes the history and outputs the expected mass at a given time? Does the algorithm really need the complete history every time? For the accumulation of heavy

Re: [ARTIQ] artiq future

2015-03-09 Thread Sebastien Bourdeauducq
Hi Robert, thank you, we will send you those estimates shortly. (Cc'ing list) One item we forgot is the handling of worker timeouts (e.g. if the experiments goes into an infinite loop). I would propose a watchdog context manager to use in the experiment code that terminates the process with

Re: [ARTIQ] ARTIQ future details

2015-03-13 Thread Sebastien Bourdeauducq
On Friday, March 13, 2015 10:44 PM, Britton, Joe wrote: 4) functional parameter database What do you mean? It would be helpful to have a history for the parameter database. We use this in the Penning experiment to feed forward on some aspects of the experiment that drift over time (e.g.

Re: [ARTIQ] ARTIQ future details

2015-03-14 Thread Sebastien Bourdeauducq
On Saturday, March 14, 2015 12:13 AM, Joe Britton wrote: We have a higher level of H2 in our trap than we would like. And, when Dopper laser cooled the 9Be+ ions react chemically with background Hydrogen gas and form 9BeH+. We can tolerate this but need to keep track of what fraction of our 9Be+

Re: [ARTIQ] external triggering; optical dipole force beatnote

2015-03-24 Thread Sebastien Bourdeauducq
Hi, On Friday, March 20, 2015 11:38 PM, Britton, Joe wrote: (1b) Logic lines in our labs are often TTL carried over BNC. On some occasions there is cross coupling between cables when they are tightly bundled. What about fixing the cabling and/or devices so that this does not happen? There

Re: [ARTIQ] kc705 flashing woes

2015-03-02 Thread Sebastien Bourdeauducq
Hi, On Monday, March 02, 2015 03:53 PM, Joe Britton wrote: Here's what I see trying to start artiq on the KC705. rabi@vboxartiq:~/artiq-dev/misoc/tools$ ./flterm --port /dev/ttyUSB0 [...] Booting from flash... Error: Invalid flash boot image length 0x Booting from serial...

Re: [ARTIQ] kc705 flashing woes

2015-02-28 Thread Sebastien Bourdeauducq
Hi, we found the problem with the KC705 flashing. When the XM105 FMC card is plugged in, it opens a switch on the KC705 between TDI and TDO at the FMC to make the JTAG chain go through the mezzanine card. On the XM105, TDI/TDO are simply connected to a 2.54mm pin header, which meant that the

[ARTIQ] AD9914 programming details

2015-05-18 Thread Sebastien Bourdeauducq
Taking this to the list. Forwarded Message Subject: RE: [ARTIQ] Today's slides Date: Mon, 18 May 2015 20:53:39 + From: Slichter, Daniel H. daniel.slich...@nist.gov To: Jordens, Robert robert.jord...@nist.gov, Sébastien Bourdeauducq s...@m-labs.hk, Britton, Joe

Re: [ARTIQ] GUI spec.

2015-05-19 Thread Sebastien Bourdeauducq
Hi, The description of the fits in this document is problematic. The fits are done in the analyze() method of the experiments, running on the master and possibly updating the parameter database, independently of whether one or several GUI clients are connected. If we have a Python console

Re: [ARTIQ] AD9914 programming details

2015-05-20 Thread Sebastien Bourdeauducq
From a hardware perspective, the DDS registers can be programmed ahead of time and then the actual change of output freq/phase/amplitude occurs when the IO_UPDATE (aka FUD) command is sent. So if multiple DDS chips need to be updated to new output parameters at the same time, one would program

Re: [ARTIQ] fire-and-forget RPC / inter-CPU communication

2015-06-13 Thread Sebastien Bourdeauducq
On Friday, June 12, 2015 11:17 PM, Robert Jördens wrote: I would estimate the peak required throughput for my experiments to be 100 kB in 100 ms. And gathering that data into one 100kB buffer sent by regular RPC would not work? ___ ARTIQ mailing

Re: [ARTIQ] fire-and-forget RPC / inter-CPU communication

2015-06-13 Thread Sebastien Bourdeauducq
On Saturday, June 13, 2015 04:45 AM, Slichter, Daniel H. wrote: How small is a small inter-CPU message? With option #2, something that mostly results in L2 hits, and the L2 cache can be dozens of kilobytes. ___ ARTIQ mailing list

Re: [ARTIQ] fire-and-forget RPC / inter-CPU communication

2015-06-14 Thread Sebastien Bourdeauducq
Hi, After discussing with Robert, the purpose of 'fire-and-forget' turns out to be able to execute non-critical and slow functions, typically from controllers, in the background. This mechanism is not limited to RPC from the core device. I have developed an implementation here:

Re: [ARTIQ] QC1 vs QC2 select

2015-07-16 Thread Sebastien Bourdeauducq
On Thursday, July 16, 2015 03:40 AM, Neal Pisenti wrote: Joe had mentioned that as part of the shot/data acquisition routine, a git commit hash would be stored for future reference repeatability. Where is this hook in the code/is it easily extendable? If code is allowed to exist outside the

Re: [ARTIQ] LED example

2015-07-15 Thread Sebastien Bourdeauducq
Hi, Yes. Check the RTIO channel number in your DDB against soc/targets/artiq_kc705.py (if you look at how the rtio_channels list is built, you'll see that the LED is channel 17). Also check that soc/targets/artiq_kc705.py is in sync with what is flashed in your board... Sebastien

Re: [ARTIQ] QC1 vs QC2 select

2015-07-15 Thread Sebastien Bourdeauducq
Just add -s NIST_QC2 to the misoc make.py invocation. Note that QC2 is untested as of now. And don't forget to rebuild the ARTIQ runtime as this will change the generated hardware headers (which the runtime depends on for e.g. choosing between 9858 or 9914 DDS code).

Re: [ARTIQ] QC1 vs QC2 select

2015-07-15 Thread Sebastien Bourdeauducq
Hi, On Wednesday, July 15, 2015 09:22 PM, Neal Pisenti wrote: We've been chatting about this at the JQI -- is there a longterm plan for how to incorporate custom SoC builds into the artiq repository...? It seems like this might be better handled as a configuration file versioned separately from

Re: [ARTIQ] displays/plotting v2

2015-12-04 Thread Sebastien Bourdeauducq
On Friday, December 04, 2015 07:37 PM, whitequark wrote: that basically every async library calls sigaction(SIGPIPE, SIG_IGN), as it will never have intended behavior when you're epolling. Windows does not have an equivalent to SIGPIPE. But pending reads on the pipe will immediately terminate

[ARTIQ] tracking the source of the last change to broadcasted datasets

2015-12-06 Thread Sebastien Bourdeauducq
Hi, the ARTIQ2 contract contains the item "On each output, indicate the RID and date associated with the last modification". My idea behind this feature was the following: if a display depends on multiple datasets (many displays do, e.g. a scatter plot needs one for X and one for Y and

Re: [ARTIQ] DDS vs DAC for RF; parallel LVDS vs GTX

2015-12-03 Thread Sebastien Bourdeauducq
On Friday, December 04, 2015 09:09 AM, Joe Britton wrote: I'm aware that the User IO can't drive JESD204B so that a different DAC would be needed in the case of parallel LVDS. Note that parallel LVDS can be done with a Artix FPGA, which could be the lowest-cost-per-channel option. The largest

Re: [ARTIQ] New compiler announcement

2015-12-10 Thread Sebastien Bourdeauducq
On Thursday, December 10, 2015 11:30 PM, Peter Zotov wrote: * print() now prints into core device log, not host console; it is much faster but limited by ringbuffer size. As the core device log is currently not so easily accessible, this is not a very pragmatic thing to do.

Re: [ARTIQ] changing "experiment" terminology

2015-12-11 Thread Sebastien Bourdeauducq
On Friday, December 11, 2015 04:21 PM, Robert Jördens wrote: I don't follow. Even the most complicated experiment is just a bunch of DDS frequency settings, TTL line settings, rotating wall changes and a bit of gated edge counting. My thinking is that the word "experiment" evokes something

Re: [ARTIQ] changing "experiment" terminology

2015-12-11 Thread Sebastien Bourdeauducq
On Friday, December 11, 2015 04:36 PM, Sebastien Bourdeauducq wrote: My thinking is that the word "experiment" evokes something more advanced Or more precisely: something that produces science results directly. ___ ARTIQ mailing

Re: [ARTIQ] API for kernel-CPU to add data to RTIO debug traces

2015-12-11 Thread Sebastien Bourdeauducq
On Friday, December 11, 2015 04:22 PM, Peter Zotov wrote: what about using arbitrary ARTIQ Python objects for keys and values? They're essentially equivalent to strings since we already have the serialization code for RPCs. VCD viewers (e.g. GtkWave) won't support them. Strings OTOH work in

Re: [ARTIQ] API for kernel-CPU to add data to RTIO debug traces

2015-12-11 Thread Sebastien Bourdeauducq
On Friday, December 11, 2015 04:50 PM, Peter Zotov wrote: We could use the string representation of keys/values then, converted on the core device using existing polymorphic print code. I see. We may still want to limit the key type to string, as this is what corresponds to the VCD format

[ARTIQ] API for kernel-CPU to add data to RTIO debug traces

2015-12-10 Thread Sebastien Bourdeauducq
Hi, the ARTIQ2 specs say: "There is an API for the kernel-cpu to emit data to be timestamped and added to the buffer". What type of data are we talking about? Sebastien ___ ARTIQ mailing list https://ssl.serverraum.org/lists/listinfo/artiq

[ARTIQ] linked histogram/XY plot

2015-12-10 Thread Sebastien Bourdeauducq
Hi, Does anyone need the "linked histogram/XY plot" display? What I was imagining is: * there is a N-point scan of the X axis. * for each point of the scan, a histogram is generated. Each histogram contains M values. The dataset is a NxM array, or two arrays of lengths N and M. * on the

Re: [ARTIQ] API for kernel-CPU to add data to RTIO debug traces

2015-12-10 Thread Sebastien Bourdeauducq
On Friday, December 11, 2015 02:42 PM, whitequark wrote: On 2015-12-11 09:39, Sebastien Bourdeauducq wrote: On Friday, December 11, 2015 01:27 PM, Robert Jördens wrote: The same type of data going over the RTIO channels is sufficient: integers. So, 32-bit integers? How many channels? I

Re: [ARTIQ] changing "experiment" terminology

2015-12-10 Thread Sebastien Bourdeauducq
On Friday, December 11, 2015 01:21 PM, Robert Jördens wrote: The three items you list above are exactly what an experiment would do. Why would setting DDS frequencies, configuring the rotating wall clearing/building a reference histogram_not_ be something done in an Experiment? They are each

Re: [ARTIQ] API for kernel-CPU to add data to RTIO debug traces

2015-12-10 Thread Sebastien Bourdeauducq
On Friday, December 11, 2015 01:27 PM, Robert Jördens wrote: The same type of data going over the RTIO channels is sufficient: integers. So, 32-bit integers? How many channels? ___ ARTIQ mailing list https://ssl.serverraum.org/lists/listinfo/artiq

[ARTIQ] experiment samples to test compiler

2015-11-27 Thread Sebastien Bourdeauducq
Hi all, can you provide samples of real-world code you are using so we can test the new compiler with them? Sebastien ___ ARTIQ mailing list https://ssl.serverraum.org/lists/listinfo/artiq

[ARTIQ] displays/plotting v2

2015-11-23 Thread Sebastien Bourdeauducq
Hi, The current proposal for next-generation plotting is the following: * Each display is operated by one subprocess, which displays and manages one window on the screen. The window gets embedded into a pyqtgraph dock by artiq_gui. The embedding can be done with XEmbed on Unix, and this way