--- tags: minutes, motion --- # Motion Meeting Minutes | BaPSF | April 26, 2022 ## Agenda 1. ... ## Attendees * Erik * Rishabh * Steve ## Minutes * refactoring of pkg ```bash= +-- src/bapsf_motion/ | +-- gui/ | | +-- __init__.py | | +-- configuration.py # what's launched w/ the "configure" request | | +-- config_editor.py | +-- controllers/ | | +-- __init__.py | | +-- motor.py | | +-- drive.py | +-- configurators/ | | +-- __init__.py | | +-- probe.py | | +-- drive.py | | +-- motion_group.py (or group.py) | +-- __init__.py | +-- motion_group.py | +-- motion_manager.py ``` ```python # in controllers/motor.py class MotorController: # handles direct communication to motors ... # in conrolers/drive.py class DriveController: # handles messaging between motion group and motor classes motors = (MotorController(), ...) ... # in motion_group.py class MotionGroup: # handles # - messaging between motion manager and drive controller # - translates request to motor/drive units vis configuration settings config = MotionConfig() drive = DriveController() ... # in configurators/probe.py class ProbeConfig: # maybe a dataclass or subclass of dict # handles validation of probe metadata # handle saving/reading TOML files ... # in configurators/drive.py class DriveConfig: # maybe a dataclass or subclass of dict # handles validation of drive metadata # handle saving/reading TOML files ... # in configurators/motion_group.py class MotionConfig(ProbeConfig, DriveConfig): # maybe a dataclass or subclass of dict # subclasses ProbeConfig and DriveConfig to retain functionality # handles validation of all motion metadata # handle saving/reading TOML files # generating motionlist ... ```