openag_python
openag_python copied to clipboard
Connect firmware inputs/outputs internally
Right now, every input/output of a firmware module in use on an Arduino is exposed over the Serial port. There are cases when this is undesirable. In particular, if the output of one firmware module is to be connected to the input of another, it doesn't really make sense to send the output through the Serial port and have the same data come back to be fed into the target input. Here are a couple of cases I had in mind:
- Several of the atlas scientific circuits can apply corrections to their sensor readings using values of other environmental variables (e.g. the pH sensor needs to know what the water temperature is to get an accurate reading but will just assume 25 degrees C unless you tell it otherwise). If we have 1 Arduino reading from both an atlas pH sensor and an temperature sensor, we should be able to feed the temperature value into the pH sensor module without going through the Raspberry Pi.
- If we ever want to have control loops running on the Arduino for whatever reason (maybe in simpler systems with only a few sensors we don't have a Raspberry Pi at all but still want to control things), we need to be able to feed sensor data streams into control modules and feed their outputs to actuators.