Skip to content

Commit ce44639

Browse files
update some docs
1 parent 90e1318 commit ce44639

File tree

2 files changed

+3
-14
lines changed

2 files changed

+3
-14
lines changed

developer-guide/10-Hardware/05-i2c-addresses.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

developer-guide/10-Hardware/10-custom-hardware.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: Customize your Pioreactor hardware
2+
title: Customize the hardware interface
33
slug: /developer-guide/custom-hardware
44
description: Extend or override Pioreactor hardware definitions by layering YAML files that hardware.py reads.
55
hide_table_of_contents: true
66
---
77

8-
Pioreactor's hardware layer is intentionally data-driven. Everything in [`core/pioreactor/hardware.py`](https://github.com/pioreactor/pioreactor/blob/main/core/pioreactor/hardware.py) loads user-editable YAML files from `~/.pioreactor/hardware/` (or the folder pointed to by the `DOT_PIOREACTOR` env var). By editing these files you can rewire pins, add new peripherals, or describe an entirely new bioreactor model without touching the Python code. Pair these configs with [custom bioreactor model definitions](/custom-bioreactor-models) so the UI, safety limits, and wiring stay in sync.
8+
Pioreactor's hardware layer is intentionally data-driven. Everything in [`core/pioreactor/hardware.py`](https://github.com/pioreactor/pioreactor/blob/main/core/pioreactor/hardware.py) loads user-editable YAML files from `~/.pioreactor/hardware/` (or the folder pointed to by the `DOT_PIOREACTOR` env var). By editing these files you can rewire pins, add new peripherals, or describe an entirely new bioreactor model without touching the Python code. Pair these configs with [custom bioreactor model definitions](/developer-guide/custom-bioreactor-models) so the UI, safety limits, and wiring stay in sync.
99

1010
## How the loader works
1111

@@ -78,6 +78,6 @@ You can add additional mods with any key/value structure—`get_layered_mod_conf
7878
- Use integers for all addresses and pins; `hardware.py` casts everything via `int()` and will raise if parsing fails.
7979
- Keep YAML minimal—only override keys that differ from the hat defaults to take advantage of deep-merge layering.
8080
- The helper predicates (`is_ADC_present`, `is_heating_pcb_present`, etc.) are safe ways to gate optional hardware in your jobs.
81-
- Store supporting scripts, cad files, or calibration notes under `~/.pioreactor/hardware/<...>/README.md` so teammates know how to reproduce the wiring.
81+
8282

8383
Once you describe the hardware this way, the rest of the stack—jobs, automations, plugins—just asks `hardware.py` for the capabilities it needs, so new hardware becomes a configuration exercise instead of a fork of the core codebase.

0 commit comments

Comments
 (0)