Yes, F1 operation happens if under 85 degrees and F2, F3, F4 are all inactive.
That's why I was thinking bit shift. 4 bits, 1000 =F1, 0100 =F2, 0010 =F3, 0001 =F4
And that works out great for shifting left.
Shifting right is where I am getting confused. If F1 is active and Temperature spikes to 100 degrees for 15 minutes, I need to shift that bit right 3 times.
Can I just write to that array instead of shifting the bit right?
Leave the BSL in place for under 85 degrees then depending on temperature could write to that array? Then use those bits to activate F1-F4 operations?
Sidebar: I think some of these solutions have not picked up that the OP process description has each Fn state (combination) representing the state of all four fans, i.e. "F1" is not Fan 1 on/off state alone, "F2" is not Fan 2 on/off state alone.
Shifting right is where I am getting confused. If F1 is active and Temperature spikes to 100 degrees for 15 minutes, I need to shift that bit right 3 times.
F4_15min Bits/0
---] [--+--]/[------[BSR ]---+----
| [Array #Bits] |
| [Control ctl] |
| [... ] |
| |
| Bits/0 ctl.EN ctl.EN |
+--]/[------] [------(U)-----+
| |
+-----------[BSR ]---+
| [Array #Bits] |
| [Control ctl] |
| [... ] |
| |
| Bits/0 ctl.EN ctl.EN |
+--]/[------] [------(U)-----+
| |
+-----------[BSR ]---+
[Array #Bits]
[Control ctl]
[... ]