def setup(self, registrar: PartRegistrar) -> None:
     super().setup(registrar)
     # Hooks
     registrar.hook(scanning.hooks.ReportStatusHook, self.on_report_status)
     registrar.hook(scanning.hooks.ValidateHook, self.on_validate)
     registrar.hook(
         scanning.hooks.ConfigureHook,
         self.on_configure,
         self.configure_args_with_exposure,
     )
     registrar.hook(
         scanning.hooks.SeekHook,
         self.on_seek,
         self.configure_args_with_exposure,
     )
     registrar.hook(scanning.hooks.RunHook, self.on_run)
     registrar.hook(scanning.hooks.PostRunArmedHook, self.on_post_run_armed)
     registrar.hook((scanning.hooks.PauseHook, scanning.hooks.AbortHook),
                    self.on_abort)
     # Attributes
     registrar.add_attribute_model("attributesToCapture",
                                   self.extra_attributes,
                                   self.set_extra_attributes)
     # Tell the controller to pass "exposure" and "frames_per_step" to configure
     info = scanning.infos.ConfigureParamsInfo(
         metas=dict(frames_per_step=NumberMeta.from_annotype(
             ADetectorFramesPerStep, writeable=False), ),
         required=[],
         defaults=dict(frames_per_step=1),
     )
     registrar.report(info)
Example #2
0
 def setup(self, registrar: PartRegistrar) -> None:
     super(KinematicsSavuPart, self).setup(registrar)
     # Tell the controller to expose some extra configure parameters
     registrar.report(scanning.hooks.ConfigureHook.create_info(self.on_configure))
     # Hooks
     registrar.hook(scanning.hooks.ConfigureHook, self.on_configure)
     registrar.hook(scanning.hooks.PostConfigureHook, self.on_post_configure)
Example #3
0
 def setup(self, registrar: PartRegistrar) -> None:
     super().setup(registrar)
     # Attributes
     registrar.add_attribute_model("exposure", self.exposure)
     # Tell the controller to pass "exposure" to configure
     info = scanning.infos.ConfigureParamsInfo(
         metas=dict(exposure=NumberMeta.from_annotype(
             scanning.hooks.AExposure, writeable=True)),
         required=[],
         defaults=dict(exposure=0.0),
     )
     registrar.report(info)
Example #4
0
 def setup(self, registrar: PartRegistrar) -> None:
     super().setup(registrar)
     # Tell the controller to expose some extra configure parameters
     registrar.report(
         scanning.hooks.ConfigureHook.create_info(self.on_configure))
     # Hooks
     registrar.hook(scanning.hooks.ConfigureHook, self.on_configure)
     registrar.hook(scanning.hooks.SeekHook, self.on_seek)
     registrar.hook(scanning.hooks.RunHook, self.on_run)
     registrar.hook(scanning.hooks.PostRunArmedHook, self.on_post_run_armed)
     registrar.hook(scanning.hooks.PostRunReadyHook, self.on_post_run_ready)
     registrar.hook(scanning.hooks.AbortHook, self.on_abort)
     registrar.hook(scanning.hooks.PauseHook, self.on_pause)
Example #5
0
 def setup(self, registrar: PartRegistrar) -> None:
     super().setup(registrar)
     # Hooks
     registrar.hook(scanning.hooks.ConfigureHook, self.on_configure)
     registrar.hook(
         (scanning.hooks.PostRunArmedHook, scanning.hooks.SeekHook),
         self.on_seek)
     registrar.hook(scanning.hooks.RunHook, self.on_run)
     registrar.hook((scanning.hooks.AbortHook, builtin.hooks.ResetHook),
                    self.on_reset)
     # Tell the controller to expose some extra configure parameters
     registrar.report(
         scanning.hooks.ConfigureHook.create_info(self.on_configure))
 def setup(self, registrar: PartRegistrar) -> None:
     super().setup(registrar)
     # Hooks
     registrar.hook(ReportStatusHook, self.on_report_status)
     registrar.hook(ValidateHook, self.on_validate)
     registrar.hook(ConfigureHook, self.on_configure)
     # Attributes
     registrar.add_attribute_model("readoutTime", self.readout_time)
     registrar.add_attribute_model("frequencyAccuracy",
                                   self.frequency_accuracy)
     registrar.add_attribute_model("exposure", self.exposure)
     # Tell the controller to expose some extra configure parameters
     registrar.report(ConfigureHook.create_info(self.on_configure))
     # Tell the controller to expose some extra validate parameters
     registrar.report(ConfigureHook.create_info(self.on_validate))
Example #7
0
 def setup(self, registrar: PartRegistrar) -> None:
     super().setup(registrar)
     # Hooks
     registrar.hook(scanning.hooks.PreConfigureHook, self.reload)
     registrar.hook(
         (
             scanning.hooks.ConfigureHook,
             scanning.hooks.PostRunArmedHook,
             scanning.hooks.SeekHook,
         ),
         self.on_configure,
     )
     registrar.hook(scanning.hooks.RunHook, self.on_run)
     # Tell the controller to expose some extra configure parameters
     registrar.report(
         scanning.hooks.ConfigureHook.create_info(self.on_configure))
Example #8
0
 def setup(self, registrar: PartRegistrar) -> None:
     super().setup(registrar)
     # Validate hook for exposure time
     registrar.hook(scanning.hooks.ValidateHook, self.on_validate)
     # Attributes
     registrar.add_attribute_model("exposure", self.exposure)
     # Tell the controller to pass "exposure" and "frames_per_step" to configure
     info = scanning.infos.ConfigureParamsInfo(
         metas=dict(
             exposure=NumberMeta.from_annotype(scanning.hooks.AExposure,
                                               writeable=True),
             frames_per_step=NumberMeta.from_annotype(AFramesPerStep,
                                                      writeable=False),
         ),
         required=[],
         defaults=dict(exposure=0.0, frames_per_step=1),
     )
     registrar.report(info)
Example #9
0
 def setup(self, registrar: PartRegistrar) -> None:
     super().setup(registrar)
     # Hooks
     registrar.hook(scanning.hooks.ConfigureHook, self.on_configure)
     registrar.hook(
         (scanning.hooks.PostRunArmedHook, scanning.hooks.SeekHook),
         self.on_seek)
     registrar.hook(scanning.hooks.RunHook, self.on_run)
     registrar.hook(scanning.hooks.PostRunReadyHook, self.on_post_run_ready)
     registrar.hook(scanning.hooks.AbortHook, self.on_abort)
     # Attributes
     registrar.add_attribute_model(
         "writeAllNdAttributes",
         self.write_all_nd_attributes,
         self.write_all_nd_attributes.set_value,
     )
     # Tell the controller to expose some extra configure parameters
     registrar.report(
         scanning.hooks.ConfigureHook.create_info(self.on_configure))
Example #10
0
 def setup(self, registrar: PartRegistrar) -> None:
     registrar.add_attribute_model(self.name, self.attr, self.attr.set_value)
     # Tell the controller to expose some extra configure parameters
     registrar.report(ConfigureHook.create_info(self.configure))
Example #11
0
 def update_completed_steps(self, value: int, registrar: PartRegistrar) -> None:
     completed_steps = value + self.uniqueid_offset
     registrar.report(scanning.infos.RunProgressInfo(completed_steps))