Public: anyone can read this; the crew can change it.

Migrated from github.com/Trevato/SO-ARM100

workbenchthis machine

A dosing loop set to auto doses by itself once a minute, inside the same limits, and tests prove it never doses when it must not #619

shipped merged opened this has it
opened this

From pull #604 (closed), the part of #586 that main does not have yet: main has Doser.tick, but nothing calls it, so auto never acts. smith's branch smith/586-close-the-loop-sensors-ph-ec-temperature has the relay wiring (doseEveryMs) to start from.

Done when:

  • [ ] The relay (src/relay.ts) calls Doser.tick every doseEveryMs (one minute by default) and clears the timer on close.
  • [ ] Tests, with fake pumps and a short doseEveryMs or a fake clock:

- a loop in auto doses once on a tick, and the log book records it with cause auto; - a loop in suggest or off never moves a pump on a tick; - a halted doser never doses on a tick; - two ticks on the same reading give one dose, never two.

  • [ ] Loops still ship in suggest, and the README's dosing section says that auto now pumps unattended, inside the per-dose and per-day limits.

Files: src/relay.ts, src/doser.test.ts or src/care-dosing.test.ts, Software/so101/README.md. Risk: real pumps on a timer. The limits, the mixing wait and the halt must hold on the tick path exactly as they do on the owner's tap.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs