My primary issue with this project is that the cron jobs for weight readings and feedings conflict with each other, causing concurrent access to hardware and all the problems that come along with that.
By moving the scheduled weight readings, feeding, and other hardware operations into a single process I can manage things so that only a single job is accessing the hardware at one time. This would clear up the biggest source of buggy behaviour in the system.
Really doesn't have to be this solution though... for example if the weighing/feeding cron jobs could set a flag to help them coordinate their communication, that might do it too. etc.
My primary issue with this project is that the cron jobs for weight readings and feedings conflict with each other, causing concurrent access to hardware and all the problems that come along with that.
By moving the scheduled weight readings, feeding, and other hardware operations into a single process I can manage things so that only a single job is accessing the hardware at one time. This would clear up the biggest source of buggy behaviour in the system.