Problem
Currently, rig-specific details like IP addresses are hardcoded in the controller code. For example, PanelsController.m has hardcoded IP addresses that differ between rigs (192.168.10.62 vs 10.103.40.25).
This makes it difficult to:
- Share code between rigs without modification
- Track which settings belong to which rig
- Onboard new hardware setups
Proposed Solution
Add a rig configuration file (e.g., rig_config.json or rig_config.yaml) that stores:
- Controller IP address
- Port numbers (if needed?)
- SD drive letter
- Arena dimensions (rows, cols)
- Any other rig-specific parameters
The configuration file would be:
- Ignored by git (added to
.gitignore)
- Loaded at runtime by
PanelsController and other tools
- Documented with a template file (
rig_config_template.yaml)
Related
This would complement the new prepare_sd_card workflow by allowing arena dimensions to be validated against the rig configuration.
Problem
Currently, rig-specific details like IP addresses are hardcoded in the controller code. For example,
PanelsController.mhas hardcoded IP addresses that differ between rigs (192.168.10.62vs10.103.40.25).This makes it difficult to:
Proposed Solution
Add a rig configuration file (e.g.,
rig_config.jsonorrig_config.yaml) that stores:The configuration file would be:
.gitignore)PanelsControllerand other toolsrig_config_template.yaml)Related
This would complement the new
prepare_sd_cardworkflow by allowing arena dimensions to be validated against the rig configuration.