---
# System prepended metadata

title: 'Motion Meeting Minutes | BaPSF | March 08, 2022'
tags: [minutes, ' motion']

---

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