|
1 Migration from wiringPi to PIGPIO. |
|
2 ================================== |
|
3 |
|
4 WiringPi is unmaintained and replaced by pigpio. This will need large parts |
|
5 of thermferm to be rewritten. It is also a good moment to replace the current |
|
6 server protocol with json data and start sending data chaanges over |
|
7 websockets. |
|
8 |
|
9 Some parts of the code can make use of direct kernel support, since kernel 4 |
|
10 there are lots of new modules. Fact is that thermferm is started in 2014, |
|
11 that is 10 years ago. |
|
12 |
|
13 The current devices model is not very practical. We need to separate the parts |
|
14 that don't need gpio out of it. All one-wire devices need their own driver |
|
15 thread. |
|
16 |
|
17 |
|
18 Current threads. |
|
19 ---------------- |
|
20 |
|
21 These are the current running threads. |
|
22 1. my_devices_loop. |
|
23 2. my_server_loop. |
|
24 3. my_panel_loop. |
|
25 4. my_simulator_loop (if enabled). |
|
26 |
|
27 |
|
28 |
|
29 Steps to do. |
|
30 ------------ |
|
31 |
|
32 Write a new thread for the one-wire devices. Make it a dynamic table. The |
|
33 old device table is still needed to tie devices to fermenters. |
|
34 Try to read all temperature sensors at once. The kernel supports this now. |
|
35 The devices thread needs to use the collected temperatures. |
|
36 Read all ds2413 devices from sys/bus/w1. If output bits are set different |
|
37 then send output values. |
|
38 Create tables for ds28b20 and ds2413. Simulated and real sensors should |
|
39 share these tables. |
|
40 |
|
41 |
|
42 Add pigpio library and make it testable by the configure script. |
|
43 |