Libraries TODO List
Libraries TODO List
This is where I'm going to attempt to keep a list of the items / features that I'm working on or plan to work on for my libraries.
EDIT:
This list is currently blank on here. There have been lots of additional features added and the TODO list has been changing too rapidly to keep up with on here. Features may be added here in the future but at the current time there's not much to add that I'm aware of.
If you have any ideas or suggestions, feel free to PM me or post an idea in this topic.
curt
EDIT:
This list is currently blank on here. There have been lots of additional features added and the TODO list has been changing too rapidly to keep up with on here. Features may be added here in the future but at the current time there's not much to add that I'm aware of.
If you have any ideas or suggestions, feel free to PM me or post an idea in this topic.
curt
Re: Libraries TODO List
sounds good!
What about functions for an Android app? Or am I barking up the wrong tree?
What about functions for an Android app? Or am I barking up the wrong tree?
Re: Libraries TODO List
Most likely barking up the wrong tree. My main goal is to get a stable library base that has a good underlying API for additional clients to communicate....like the iPhone app or other clients and such. I'm not up on the mobile apps, so that may need to be in Dave's realm or somebody else's.alexwbush wrote: What about functions for an Android app? Or am I barking up the wrong tree?
curt
Re: Libraries TODO List
I knew you weren't working on the actual app, but I heard the foundation needs to be laid and it needs to be worked into the code for the android app to work just as the iphone app does.
Re: Libraries TODO List
Possibility to have timer with day of week (mond, tues, wes,....)
thx
thx
Fresh Water Aquarium 180*60*80
Salt Water Aquarium 60*60*60
Click Here to see the Video of my Fresh Water Aquarium
Salt Water Aquarium 60*60*60
Click Here to see the Video of my Fresh Water Aquarium
Re: Libraries TODO List
Found a minor bug in the setup:
When you change the Chiller Temperature down, the number jumps to 999.
Going up works fine.
Version 8.5.14
When you change the Chiller Temperature down, the number jumps to 999.
Going up works fine.
Version 8.5.14
Re: Libraries TODO List
Just tested it, doesn't happen on my copy of 0.8.5.14.rygh wrote:Found a minor bug in the setup:
When you change the Chiller Temperature down, the number jumps to 999.
Going up works fine.
Version 8.5.14
What is the value for your temperature?
Is it the On or the Off temperature option?
Does it happen when you first change the number or does it happen when you go below 700?
Does it happen on other screens too?
I ask these questions because the same code is used in all of the setup screens, so if there is an error with one then there is an error with all of them. Also, if your internal memory values are set outside of the range, unexpected responses can occur.
curt
Re: Libraries TODO List
It was a new main board, un-initialized.binder wrote:Just tested it, doesn't happen on my copy of 0.8.5.14.rygh wrote:Found a minor bug in the setup:
When you change the Chiller Temperature down, the number jumps to 999.
Going up works fine.
Version 8.5.14
What is the value for your temperature?
Is it the On or the Off temperature option?
Does it happen when you first change the number or does it happen when you go below 700?
Does it happen on other screens too?
I ask these questions because the same code is used in all of the setup screens, so if there is an error with one then there is an error with all of them. Also, if your internal memory values are set outside of the range, unexpected responses can occur.
curt
Also, I was confused because I did not realize at first it was /10. So I set it to 78, not 780.
It looks like when you are not initialized, you can go up outside your bounds, but not down.
Once it is in the 700-900 range, it stays there and up/down works as expected.
It was the same for all temp settings.
My guess: You only have the low-range check on the down button, and high-range on the up button.
Perhaps put range checks on both.
Minor.
If anything, I would add a clear decimal point on the GUI. It was pretty confusing.
Re: Libraries TODO List
(I hope this is a good thread for minor notes)
Another very minor one:
For StandardHeater, you have a nice check for Temp1 = 0, and return.
But you are missing that check on StandardFan.
Another very minor one:
For StandardHeater, you have a nice check for Temp1 = 0, and return.
But you are missing that check on StandardFan.
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.