Closed laroque closed 6 years ago
Item the first is close but there's some flow control issues. I'm about to leave for the holidays but should leave notes for myself for later... Also these should make it into the actual reST docs before I merge (and therefore before I forget).
The egg reader should start up in a paused state and then receive a "resume" signal later (this happens by dealing with instructions in a similar fashion to what is done in tf_roach_receiver). This means we then need to use psyllid's start_run via dripline request to cause it to start reading the egg file and streaming the data. This should resolve the fact that currently it segfaults because the egg writer isn't ready.
Further, the execute() function of egg3_reader should remain in the execution loop until it receives the pause instruction, not return when the file is done.
Note also:
you can issue dripline commands to psyllid.run-daq-cmd.[stream].[node].[command]
. The commands are implemented in [node]_binding::do_run_command(), which receives the [command] from the RKS as a string and implements whatever call(s) to the node instance. Also, The other commands available via dripline are in source/control/run_server.cc starting around line 123 (f_request_receiver->register_cmd_handler()
calls).
Note to self:
dragonfly cmd -b rabbit_broker psyllid_reader.start-run filename=/tmp/foo2.egg duration=200
Or for several:
dragonfly cmd -b rabbit_broker psyllid_reader.start-run filenames='["/tmp/foo_t.egg", "/tmp/foo_f.egg"]'
(this may be excessive with quotes, I'd have to experiment, but it works)
note from @cclaessens:
The tf_roach_receiver
has a mode to only output f-packets. This is used to build the frequency mask without populating the time output. I think that the frequency_transform class needs to support the same OP_CMD and behavior, @nsoblath is welcome to disagree with the approach.
Christine has a good point. The basic way that it's setup for tf_roach_receiver
should be easy to copy for frequency_transform
.
created new issues for outstanding items. Batch mode exists, including reading an egg file, doing an FFT, and passing everything off to the trigger. I'm closing this issue and we can focus on other details in the new one.
This requires three new components:
future issue
We're in crunch time trying to push for Neutrinos, so I'm going to leave some outstanding items that I don't think matter yet... I hate this, but I don't have time to clean it up. I'm going to try and double document my sloppiness with 1) instances of
//TODO
in source/header files, and the following list of items. If the above are done then this list may be moved into another issue with a more clear name