Relay
Relay outputs: the switched 5 V / 12 V sensor supply rails.
There is no relay class in the firmware - the rails are driven with
plain machine.Pin writes inside the user-editable measure() hook
in last.py, gated by parameter 640 (“Relay On”):
relay12 = machine.Pin(relay12V, machine.Pin.OUT)
relay5 = machine.Pin(relay5V, machine.Pin.OUT)
machine.Pin(PperipherialPower, machine.Pin.OUT).value(1)
if core.db.read('640') == b'1':
relay12.value(1)
relay5.value(1)
time.sleep(int(core.db.read('587'))) # sensor warm-up
# ... read the ADC channels ...
relay12.value(0)
relay5.value(0)
machine.Pin(PperipherialPower, machine.Pin.OUT).value(0)
Before deep sleep fw.prepareSleep() reconfigures these pins as
inputs so nothing sources current while sleeping. This module only
provides the pin constants.
- findylab.relay.relay5V = 22
Pin driving the 5 V relay rail.
- findylab.relay.relay12V = 12
Pin driving the 12 V relay rail.
- findylab.relay.PperipherialPower = 25
Pin enabling the peripheral (sensor bus) power.
- findylab.relay.Pbuzzer = 27
Buzzer pin (see
findylab.core.beep()).