I have this in my setup()
Code: Select all
ReefAngel.OverheatShutoffPorts = B00000000;
But somehow, when I got home today, I found my tank with all ports masked off.
Interestingly enough, I don't have *OverheatTempProbe assigned, but somehow it was using Temp3, because it was kind of sunny today and I saw sun on my Temp3 probe and the temperature got to above 100F. I used Temp3 for room temperture. Not that the room was 100F, but with the sun shinning on the probe, it increased the temperature locally on the probe itself.
I tested the same behavior again with a lighter, by heating temp3 above 100F and again the controller shut down all ports.
I went on the libraries and saw that overheat temp is a byte variable and has this code:
Code: Select all
// if overheat probe exceeds the temp
if ( *OverheatTempProbe >= InternalMemory.OverheatTemp_read() )
{
LED.On();
The byte variable threw me off, because it can only go to 255, which would mean 25.5F
If I don't have *OverheatTempProbe assigned in the PDE, it does not have a initial value anywhere else.
I didn't see anywhere in the code where the pointer would get assigned a value.
Maybe the pointer is picking up Temp3 by coincidence?
So, I'm kind of totally lost and decided to just see if had anything to light up my head.
I'm working on a little surprise for tonight, if I can get it done... lol
So, I revisit this issue when I have more time if nothing comes to your mind.