FourThievesVinegar / solderless-microlab

GNU Affero General Public License v3.0
168 stars 20 forks source link

Refactor Hardware Interface #110

Closed 0phelia36 closed 1 year ago

0phelia36 commented 1 year ago

TL;DR

Refactored the hardware interface and implementation to be more flexible, to allow enabling/disabling individual hardware sections and allow adding and switching between alternate implementations of hardware components.

All the simulation versions of the hardware were tested and working. The basic temperature controller was tested with a "w1_therm" thermometer and a heating element and pump setup for the heaters but no hardware setup for cooling. The syringepump reagent dispenser mode was also tested with hardware. Stirrer has not been tested with hardware but should work since it's controlled the same way as the heating element/pumps. Thermometer in serial mode was the old implementation for getting temperature and I don't have the hardware to test.

What

What is affected by this PR?

Testing

How was this tested?

Notes

How was your day?