Libraries TODO List
Re: Libraries TODO List
Ok, another un-initialize temp bug. A bit hard to explain though.
The default memory values on heater/chiller are -1. (An unfortunate coincidence)
There are two values (temp-on, tmp-off) passed into the setup gui for heat/chill.
But when the "y" value is -1, "bSingle" gets set, and it does not show on the GUI.
As such, you can only change TempOn for both heater/chiller, and never change TempOff away from -1.
Which makes heater/chiller not work properly.
I guess I should probably just use that tool to set memory to correct legal values.
Alternately, you might not want to use -1 for a flag, since it matches un-initialized memory.
Alternately, you might want to consider just having one value for heat/chill anyway.
And internally, add a small amount, say 0.5 deg or so, for hysteresis.
Less confusing for the user.
The default memory values on heater/chiller are -1. (An unfortunate coincidence)
There are two values (temp-on, tmp-off) passed into the setup gui for heat/chill.
But when the "y" value is -1, "bSingle" gets set, and it does not show on the GUI.
As such, you can only change TempOn for both heater/chiller, and never change TempOff away from -1.
Which makes heater/chiller not work properly.
I guess I should probably just use that tool to set memory to correct legal values.
Alternately, you might not want to use -1 for a flag, since it matches un-initialized memory.
Alternately, you might want to consider just having one value for heat/chill anyway.
And internally, add a small amount, say 0.5 deg or so, for hysteresis.
Less confusing for the user.
Re: Libraries TODO List
My controller had the uninitialized values set to 255 when I've used it. So it's hard to say what the values will be when they are uninitialized. You can honestly only do so much (programmatically) when it's uninitialized. This is also the reason why when upgrading to the dev libraries, you are supposed to run the SetInternalMemory PDE first so the values are set properly. Otherwise if you don't, the controller will not function properly. My wavemakers toggle off and on rapidly when the value is not set.
Also, RAGen is recommended to be used to generate the PDE files with the proper settings/values to help with confusion.
Good suggestion for having 1 value for heater/chiller. The 2 values are there for helping maintain a range so the heater or chiller isn't always kicking on/off or even both on at the same time.
curt
Also, RAGen is recommended to be used to generate the PDE files with the proper settings/values to help with confusion.
Good suggestion for having 1 value for heater/chiller. The 2 values are there for helping maintain a range so the heater or chiller isn't always kicking on/off or even both on at the same time.
curt
Re: Libraries TODO List
Fixed. Will be in next release.rygh wrote: Another very minor one:
For StandardHeater, you have a nice check for Temp1 = 0, and return.
But you are missing that check on StandardFan.
curt
Re: Libraries TODO List
Bug fix:
Line 993 of ReefAngel.cpp:
Change to:
Some web servers require that to consider requests as valid ones.
Line 993 of ReefAngel.cpp:
Code: Select all
Serial.println("\n\n");
Code: Select all
Serial.println(" HTTP/1.1\n\n");
Roberto.
-
- Posts: 18
- Joined: Sat Mar 19, 2011 4:23 pm
- Location: Sydne/Australia
Re: Libraries TODO List
Thanks Curt and Roberto for your updates.
Re: Libraries TODO List
My bad Curt.
After further testing, I noticed that reefangel.com server doesn't like HTTP/1.1
So, nevermind on the above bug fix. Please disregard.
But I'd like to leave it mentioned that some Unix based servers require the HTTP/1.1 to be there. So, if anyone is developing a custom script on your own web server, you may encounter problems and will need to change that.
After further testing, I noticed that reefangel.com server doesn't like HTTP/1.1
So, nevermind on the above bug fix. Please disregard.
But I'd like to leave it mentioned that some Unix based servers require the HTTP/1.1 to be there. So, if anyone is developing a custom script on your own web server, you may encounter problems and will need to change that.
Roberto.
Re: Libraries TODO List
haha. yeah no problem, I'll change it with 0.8.5.16. I did some reading about it and it is supposed to be there but we are omitting the host line which is part of the 1.1 specs. if you use the 1.0 specs you don't need the host line. you can try putting HTTP/1.0 instead and that should work or we have to add the full host we are requesting thus increasing size (which I really don't want to do). try that and let me know.rimai wrote:My bad Curt.
After further testing, I noticed that reefangel.com server doesn't like HTTP/1.1
So, nevermind on the above bug fix. Please disregard.
But I'd like to leave it mentioned that some Unix based servers require the HTTP/1.1 to be there. So, if anyone is developing a custom script on your own web server, you may encounter problems and will need to change that.
curt
Re: Libraries TODO List
I know 1.0 or nothing works on windows hosting of reefangel.com, but I didn't test on the linux one.
Since there is going to be very rare cases where someone will be using their own web server, let's just remove it.
Since there is going to be very rare cases where someone will be using their own web server, let's just remove it.
Roberto.
Re: Libraries TODO List
I just realized there is one define with wrong name. It may have been my fault.
#define PWMExpansionRelay
I think the Relay word shouldn't be there.
#define PWMExpansionRelay
I think the Relay word shouldn't be there.
Roberto.
Re: Libraries TODO List
Ok. That can be updated/changed fairly easily. I'll shift things around in the next release.rimai wrote:I just realized there is one define with wrong name. It may have been my fault.
#define PWMExpansionRelay
I think the Relay word shouldn't be there.
curt
Re: Libraries TODO List
I think DelayedOn() function should be a function of Relay class, instead of general function.
What do you think?
What do you think?
Roberto.
Re: Libraries TODO List
I think you are right. For some reason I'm thinking there was a reason why I didn't put it in the Relay class to begin with but I can't recall the reason(s) right now.rimai wrote:I think DelayedOn() function should be a function of Relay class, instead of general function.
What do you think?
I'll investigate moving it to the Relay class.
curt
Re: Libraries TODO List
Figured things out and moved it over. In the next release, instead of saying this:
you will say this:
It makes more sense having it like that because we are operating on the Relay's. It was coded the "wrong" way initially due to some errors with variable sharing but those were resolved and everything is working as expected now.
curt
Code: Select all
ReefAngel.DelayedOn(Port1, 5);
Code: Select all
ReefAngel.Relay.DelayedOn(Port1, 5);
curt
Re: Libraries TODO List
Hi Curt/Dave,
Would you be able to confirm this bug?
Seems to only happen with r121 though.
Send:
Result:
Followed by:
Result:
Would you be able to confirm this bug?
Seems to only happen with r121 though.
Send:
Code: Select all
GET /r121
Code: Select all
HTTP/1.1 200 OK
Server: ReefAngel
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Connection: close
Content-Type: text/xml
Content-Length: 495
<RA><T1>737</T1><T2>0</T2><T3>0</T3><PH>676</PH><R>248</R><RON>0</RON><ROFF>255</ROFF><R0>0</R0><RON0>2</RON0><ROFF0>255</ROFF0><R1>0</R1><RON1>0</RON1><ROFF1>255</ROFF1><R2>0</R2><RON2>0</RON2><ROFF2>255</ROFF2><R3>0</R3><RON3>0</RON3><ROFF3>255</ROFF3><R4>0</R4><RON4>0</RON4><ROFF4>255</ROFF4><R5>0</R5><RON5>0</RON5><ROFF5>255</ROFF5><R6>0</R6><RON6>0</RON6><ROFF6>255</ROFF6><R7>0</R7><RON7>0</RON7><ROFF7>255</ROFF7><ATOLOW>0</ATOLOW><ATOHIGH>0</ATOHIGH></RA>
Code: Select all
GET /r99
Code: Select all
HTTP/1.1 401 Access Denied
WWW-Authenticate: Basic realm=Reef Angel Controller
Content-Length: 0
Roberto.
Re: Libraries TODO List
what version of the libraries are you using or did you notice this with?
curt
curt
Re: Libraries TODO List
I'm still on .15
If I follow your steps and include the trailing space after GET /r121 and GET /r99 everything works fine.. If I don't include the trailing space in the above statements I see:
Never was able to get exactly your output, though
If I follow your steps and include the trailing space after GET /r121 and GET /r99 everything works fine.. If I don't include the trailing space in the above statements I see:
Code: Select all
HTTP/1.1 200 OK
Server: ReefAng
el
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Connection: close
Content-Type: text/html
Content-Length: 24
<h1>Unknown Request</h1>
Re: Libraries TODO List
Just confirmed I see the same results I mentioned above on .16 as I did .15
Re: Libraries TODO List
I guess I'll just download the libs again. I may have changed something that screwed it up.
Yeah, I had to do the trailing space to get the correct stuff, but that was not the problem. It was expected to be that way.
Yeah, I had to do the trailing space to get the correct stuff, but that was not the problem. It was expected to be that way.
Roberto.
Re: Libraries TODO List
I'm testing the masks of the expansion module relays of the Dev libs and the profile of relays of your Client to trigger events on the RA
Basically using the expansion relays as virtual on/off switches that can be turned on/off through the Client
Basically using the expansion relays as virtual on/off switches that can be turned on/off through the Client
Roberto.
Re: Libraries TODO List
Hey Curt,
What happens if I send you another pull request, with the current one I requested a couple days ago still open. Can you merge both of them??
I'd like to smooth down the pH readings by averaging 20 readings. Credits to Paul Viscowich for the idea, which should've been done since the beginning.... lol
What happens if I send you another pull request, with the current one I requested a couple days ago still open. Can you merge both of them??
I'd like to smooth down the pH readings by averaging 20 readings. Credits to Paul Viscowich for the idea, which should've been done since the beginning.... lol
Roberto.
Re: Libraries TODO List
i just merged the open request. for your reference, i can add your repository to my remotes for my local copy and i can manually pull any changes you have posted to your github account.
my master branch is updated to the latest with your changes in it. i have not updated the version of the libraries yet though (and don't plan on it just yet until i'm ready for .19 which will be after the pwm expansion settings via wifi and your ph updates).
curt
my master branch is updated to the latest with your changes in it. i have not updated the version of the libraries yet though (and don't plan on it just yet until i'm ready for .19 which will be after the pwm expansion settings via wifi and your ph updates).
curt