Open swh76 opened 5 years ago
I think it should not be a script at all. A while back I had proposed a rogue instance to interface with the impi and other general shelf functions. The shamhammer functionality should be included as a routine in this rogue instance. This routine could then be initiated through an external command.
Just for the record, here's my solution to this. jackhammer hammer
implements everything that shawnhammer does in python, and brings up the OCS/smurf-streamer dockers. System and startup configuration info is stored in a yaml file "sys_config.yaml" located in the ocs-site-config directory. There are also other commands you can run such as jackhammer soft_reset
which will just reset software without rebooting the smurf-slots, or jackhammer pysmurf <slot>
which will place you in an ipython session with pysmurf instantiated. It would still be great to add validation steps to make sure the system has booted properly. lmk if you have any feedback, and if you think it's useful for non-simons experiments maybe we can move it to the pysmurf directory.
Is there any chance we can attempt to overlap the configurarions on the jackhammer script and the core rogue/pysmurf system. This was we only have to set some variables in a single config file instead of two places?
Sure, the sys_config.yaml
file replaces the shawn_startup_config
file and adds some additional info, like the location of the pysmurf config files. I'm hesitant to merge the sys_config and the pysmurf config files, since I'd like sys_config to be small and human readable and easy to compare, and I don't really want to put all of the rogue registers in there. What did you have in mind?
We definitly could keep it a seeperate file and stie specific, but maybe change the structure a bit to match the equivelennt fields in th rogue/pysmurf configuration. And then we can just load that file as part of the rogue/pysmurf configuration process. I will take a closer look and suggest a format later today.
shawnhammer has (embarrassingly) become the primary method for rebooting and configuring SMuRF systems. I vote we make the following improvements to make it more usable:
smurf_startup
and move it into a top levelscripts
directory in pysmurf.