--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MIGRATION Sat Mar 23 09:31:01 2024 +0100 @@ -0,0 +1,43 @@ + Migration from wiringPi to PIGPIO. + ================================== + +WiringPi is unmaintained and replaced by pigpio. This will need large parts +of thermferm to be rewritten. It is also a good moment to replace the current +server protocol with json data and start sending data chaanges over +websockets. + +Some parts of the code can make use of direct kernel support, since kernel 4 +there are lots of new modules. Fact is that thermferm is started in 2014, +that is 10 years ago. + +The current devices model is not very practical. We need to separate the parts +that don't need gpio out of it. All one-wire devices need their own driver +thread. + + + Current threads. + ---------------- + +These are the current running threads. +1. my_devices_loop. +2. my_server_loop. +3. my_panel_loop. +4. my_simulator_loop (if enabled). + + + + Steps to do. + ------------ + +Write a new thread for the one-wire devices. Make it a dynamic table. The +old device table is still needed to tie devices to fermenters. +Try to read all temperature sensors at once. The kernel supports this now. +The devices thread needs to use the collected temperatures. +Read all ds2413 devices from sys/bus/w1. If output bits are set different +then send output values. +Create tables for ds28b20 and ds2413. Simulated and real sensors should +share these tables. + + +Add pigpio library and make it testable by the configure script. +