|
pflib v3.9.0-rc3-11-g2537d8f
Pretty Fine HGCROC Interaction Library
|
Hold a pflib::Target to do run commands on. More...
Public Member Functions | |
| PyTarget (bp::dict config) | |
| construct a PyTarget given some arbitrary Python dict of parameters | |
| void | configure () |
| void | trigger_align () |
| void | ror_latency () |
| void | pre_start () |
| void | go () |
| void | stop () |
| void | reset () |
| std::vector< uint32_t > | grab_pedestals () |
| should not use in actual DAQ | |
Private Attributes | |
| std::shared_ptr< pflib::Target > | tgt_ |
| our handle to the pflib::Target | |
Hold a pflib::Target to do run commands on.
We need to hold a pflib::Target and can't bind pflib::Target's directly since pflib::Target is abstract. We could /maybe/ use bp::no_copy in order to allow binding of an abstract class, but I think this is cleaner anyways since we need a spot to map the Python Run Control commands onto C++ pflib::Target functions (or series of functions).
See this example: https://github.com/slaclab/ucsc-hn/blob/master/firmware/python/ucsc_hn/_RenaDataEmulator.py The self._processor object is the bound C++ and you can see how we can connect pyrogue.LocalVariable to specific setters/getters here in order to ease passage of configuration between rogue and us.