---
# System prepended metadata

title: 'Motion Meeting Minutes | BaPSF | April 26, 2022'
tags: [minutes, ' motion']

---

---
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
    ...
```