Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • bliss bliss
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 540
    • Issues 540
    • List
    • Boards
    • Service Desk
    • Milestones
  • Jira
    • Jira
  • Merge requests 149
    • Merge requests 149
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • BlissBliss
  • blissbliss
  • Issues
  • #2787
Closed
Open
Issue created Jun 01, 2021 by Cyril Guilloud@cyril.guilloudOwner

closed loop management

Closes #1904

Ideas for the closed loop property on Axis objects (from #1904)

  • all axes should have .closed_loop property
    • read-only
    • returns self.controller.get_closed_loop(axis)
  • motor controllers can implement get_closed_loop
    • default implementation of Controller class returns None
    • otherwise, a controller has to return a ClosedLoop object for the specified axis
  • ClosedLoop object has the following members (to be continued)
    • .on(), .off() methods
    • .state property
  • Initialization of ClosedLoop objects ?
    • at the same time as the Axis ?
    • better start CL at controller initialization (i.e. at session startup) ?
    • in initialize_hardware_axis() ?
    • will start closed loop for the axis ?
  • configuration
    • axis YAML configuration can have a new closed-loop section
      • activate: True => means it is activated automatically ?
      • ... in the future: parameters like window, settling time etc.
    • we need to have settings on those
      • ClosedLoop can be a BeaconObject ?
  • all existing motor controllers have to be revised when the new code is ready (could be done in other issues)
  • files reorganization ? (maybe for another issue)
    • adding a motor directory: bliss.controllers.motor
    • use __init__.py for backward compatibility
    • split of motor.py in 3
      • base.py (or controller.py)
      • calc_controller.py
      • closed_loop.py
    • longer term: move motor controllers from bliss.controllers.motors to bliss.controller.motor
Edited Mar 01, 2022 by Matias Guijarro
Assignee
Assign to
Time tracking