--- tags: minutes, motion --- # Motion Meeting Minutes | BaPSF | March 08, 2022 ## Agenda 1. Progress on restructuring pkg 2. Progress on defining major component configurations 3. Project bluepring ## Attendees * Erik * Steve * Rishabh ## Minutes * Logical code blocks ```bash +-- MotionManager: Handle commuication to (N) child GroupMangers | +-- GroupMangager | | +-- Confgiruation Handler: Handles and communciates to GroupManager about confiuration parameters | | | +-- DriveConfig: handles/interprets probe drive configuration | | | +-- ProbeConfig: handles/interprets probe configuration | | | +-- MotionlistConfig: handles/interprets motionlist configuration | | +-- DriveController: Send & Recevie commands to (N) child MotorControllers | | | +-- MotorController: Send & Receive Commands from a single axis ``` * Need configurators (each will need a backend class and separate gui) ```python class ConfigureMotionlist: """Contains all functionallity for designing a motion list.""" ... class ConfigureDrive: """Contains all functionallity for designing a probe drive configuration.""" ... class ConfigureProbe: """Contains all functionallity for designing a probe configuration list.""" ... class ConfigureRun: """Contains all functionallity for designing a run configuration.""" # could possibley subclass ConfigureMotionlist, ConfigureDrive, ConfigureProbe ... ``` ```bash= motion config +-- parameter A +-- parameter B +-- probe config | +-- pparam A | +-- pparam B +-- drive config | +-- dparam A | +-- dparam B +-- motionlist config | +-- mparam A | +-- mparam B motion config +-- parameter A +-- parameter B +-- mparam A +-- mparam B +-- probe config | +-- pparam A | +-- pparam B +-- drive config | +-- dparam A | +-- dparam B ``` ```python= class Probe: data = probe_config # any methods that operate on probe_config ... class Drive: data = drive_config # any mthods that operate on drive_config ... class Motion: data = motion_config # excluding probe_config and drive_config probe = Probe() drive = Drive() # all methods handling data, probe, and drive def generate_motionlist(): # read data, probe.data, and drive.data to generate complete motionlist ... ```