sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
lrak has quit [Ping timeout: 255 seconds]
cr1901_modern has quit [Read error: Connection reset by peer]
<GitHub187> [pythonparser] whitequark pushed 2 new commits to master: http://git.io/vIIHu
<GitHub187> pythonparser/master 56e5b7f whitequark: Update examples/quot_to_dquot.py to reflect API changes.
<GitHub187> pythonparser/master 776188b whitequark: Replace single-quoted strings with double-quoted.
<GitHub16> [artiq] whitequark pushed 1 new commit to new-py2llvm: http://git.io/vIIHx
<GitHub16> artiq/new-py2llvm eb76f59 whitequark: Replace single-quoted strings with double-quoted.
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#189 (new-py2llvm - eb76f59 : whitequark): The build is still failing.
travis-ci has left #m-labs [#m-labs]
fengling has quit [Quit: WeeChat 1.1.1]
<GitHub75> [artiq] sbourdeauducq pushed 2 new commits to master: http://git.io/vILrb
<GitHub75> artiq/master 14cf244 Sebastien Bourdeauducq: gui: display status of TTL channels
<GitHub75> artiq/master 9f90795 Sebastien Bourdeauducq: gui: send monitor requests to core device
maxime_ has joined #m-labs
maxime_ has left #m-labs [#m-labs]
attie has quit [Ping timeout: 240 seconds]
attie has joined #m-labs
cr1901_modern has joined #m-labs
antgreen has quit [Ping timeout: 240 seconds]
antgreen has joined #m-labs
<sb0> ysionneau, pxi6733 controller is fully done and tested, right?
<sb0> ysionneau, https://github.com/m-labs/artiq/blob/master/artiq/devices/pxi6733/driver.py#L42 < the docstring should say when the first sample is output
<sb0> ysionneau, also, the user probably should not need to know anything about tasks
<sb0> if load_sample_values is called again before the full playback, and this *will* happen if an experiment is aborted and restarted, your code must automatically cancel the previous task
<ysionneau> 17:20 < sb0> ysionneau, pxi6733 controller is fully done and tested, right? < load_sample_values has been tested and works, though I need to add the "cancel the previous task", ping() doesn't work yet, so far it always return True
<ysionneau> as I've been told by Katie yesterday
<ysionneau> I need to find another way of testing the presence of the hw
<sb0> what's the return value of daq.DAQmxGetDevSerialNum?
<sb0> don't assume that bindings use exceptions ...
<ysionneau> in fact it does not seem to use exceptions
<sb0> self.tasks should not be a list, just one element/None
<ysionneau> my angle of attack here is to try to get the serial number and compare it with the one of pxi6733
<ysionneau> return value of daq.DAQmxGetDevSerialNum is just a success/failure flag I think, but don't know for sure
<ysionneau> data should contain the serial num
<sb0> C functions that fail often do not fill in their output data, so I'd check that return value
<sb0> isn't that documented?
<ysionneau> my next move was to ask Katie to add prints of data value and return value and so on
<ysionneau> return value wasn't very clear, let me check
<ysionneau> the documentation page I found just gives the prototype, saying return value is int32
<ysionneau> but does not describe what it means
nicksydney has joined #m-labs
<ysionneau> ack about tasks which should not be a list, since a user can now create as many DAQmx instance as it needs for different devices/analog_output combinations
<sb0> hmm, really?
<sb0> how does that work? run several controllers?
<ysionneau> yes
<sb0> targeting the same device?
<sb0> does it work?
<ysionneau> it should
<ysionneau> since it create tasks targeting device/outputs couples
<ysionneau> but I don't think Katie tested this (several simultaneous outputs/controllers)
<sb0> won't it also target the same clock line?
<ysionneau> you give the clock line as parameter when instanciating the DAQmx
<ysionneau> so you could use different clocks if you wish
<ysionneau> or use the same
<sb0> as far as I know the use case is clocking out several waveforms synchronously from the same clock
<sb0> won't the DAQmx driver break if you have multiple processes trying to access the same clock line on the same device?
<ysionneau> That's something I need to ask Katie to test for
<ysionneau> I hope not
<ysionneau> if it does, I can refactor to use one task per multiple analog outputs
<sb0> that may be easier to use anyway
<sb0> otherwise you need to run lots of controllers on different TCP ports, have many entries in the ddb, and then the mediator needs to aggregate connections to several controllers and check that they are all configured to use the same clock line
<ysionneau> humm ok
<sb0> the "bytes(args.device, "ascii")" probably should be done in pxi6733/driver.py
<ysionneau> ok
<sb0> also, doing dubious things like accessing the same device from multiple processes is generally a bad idea. even if it is supposed to work, it may tickle race conditions or other bugs in the driver.
<ysionneau> right, I will refactor then
<ysionneau> It does not need much changes to support this anyway
<ysionneau> (if I understood well the API)
<GitHub172> [artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/vIqVm
<GitHub172> artiq/master 37c7ea3 Sebastien Bourdeauducq: gui: TTL override support
<ysionneau> sb0: use can specify channels by using this kind of syntax : device/lineI:J, device2/lineK:L etc ( http://zone.ni.com/reference/en-XX/help/370466AA-01/mxcncpts/physchannames/ )
<ysionneau> do you recommend I parse the channel string specified by the user to find out how many channels there are?
<ysionneau> or do I put a "channel_number" parameter?
<ysionneau> I would go for the simpler "channel_number" parameter solution
<sb0> how would that "channel_number" work?
<ysionneau> in DAQmx() __init__ I replace device arg by channels arg, then if the user provides channels="Dev1/ao1:4" he must supplies also channel_number=4
<sb0> why?
<ysionneau> this is needed to validate the "values" array size, and also to provide the "number of samples per channel" to the DAQmx API
<sb0> ah, you mean the user has to count the channels themselves. no, that's obviously unacceptable.
<ysionneau> ok
<ysionneau> then parsing it is
<sb0> isn't there an API that returns the number of channels you have selected?
<ysionneau> I'm searching but I don't think there is
<sb0> if not, i'd suggest dumbing down the specification system
<ysionneau> I can just ask the user for an array of single channels like ["dev1/ao1", "dev1/ao2"] and then concatenate it myself
<ysionneau> if that's what you mean by that
<sb0> yes
<ysionneau> all right
<sb0> we don't have to support the NI channel selection mini-language, and Python eval() is a superior alternative to it anyway
<sb0> but I'd be really surprised if the API wouldn't tell you how many channels you got
<ysionneau> API is there http://zone.ni.com/reference/en-XX/help/370471AC-01/TOC3.htm , not sure if everything is really there, but I didn't find any other documentation page
<ysionneau> ah!
<ysionneau> DAQmxGetTaskNumChans
<ysionneau> they split the documentation in "functions"/"properties" ...
<ysionneau> so now that I have this, I have no reason not to support the "mini-language"
<ysionneau> I can just blindly pass the channels string to the API
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#191 (master - 37c7ea3 : Sebastien Bourdeauducq): The build is still failing.
travis-ci has left #m-labs [#m-labs]
<GitHub62> [artiq] sbourdeauducq pushed 2 new commits to master: http://git.io/vIqAW
<GitHub62> artiq/master 26e737f Sebastien Bourdeauducq: style
<GitHub62> artiq/master 398940f Sebastien Bourdeauducq: fix doc build
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#192 (master - 398940f : Sebastien Bourdeauducq): The build was fixed.
travis-ci has left #m-labs [#m-labs]
<GitHub60> [artiq] fallen pushed 1 new commit to master: http://git.io/vImEk
<GitHub60> artiq/master c251601 Yann Sionneau: pxi6733: refactor, allow multiple channels in one task, cancel any previous task
travis-ci has joined #m-labs
<travis-ci> m-labs/artiq#193 (master - c251601 : Yann Sionneau): The build passed.
travis-ci has left #m-labs [#m-labs]
_florent_ has joined #m-labs
antgreen has quit [Remote host closed the connection]
_florent_ has quit [Quit: Leaving]