Page 1 of 1

RAGen and ReefCleint Help

Posted: Sat Dec 31, 2011 11:39 am
by Mike S
Hello,

Sorry for the newbie question. I picked up a Reef Angel and WiFi adapter this week and have hit a wall with setting it up. I installed Arduino Reef Angel Controller, RAGen, and Reef Angel Client and have them all up and running. I’m using development library 0.8.5.19. I set up the WiFi adapter using the tool on this web page and it appears to be working ok.

The trouble I’m having is setting up my lighting and heater schedule/settings. Do I understand the concept of RAGen correctly in that I setup the lighting and heater settings using the Internal Memory function, generate the code and then upload it using the Reef Angel Controller App? Do I then assign the ports the particular devises and setup the functions using the PDE tab, the generate the code and upload it using the controller App? I’ve tried this a few times using a USB connection, but the settings don’t seem to take control.

Can I basically perform the same function using Reef Angel Client? I can control each individual port under the general settings tab and am getting temp. and pH data over WiFi. When I go the Memory tab and hit refresh, I get the default settings. If I try to adjust those settings and hit save I get and exception. If I hit continue it just loops and nothing happens. Here are the details of the exception that I’m getting:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at ReefAngelClient.Form1.SetMemoryValues()
at ReefAngelClient.Form1.btnSaveMemory_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5448 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/MicrosoftdotNET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ReefAngelClient
Assembly Version: 2.2.0.0
Win32 Version: 2.2.0.0
CodeBase: file:///C:/Users/Mike/AppData/Roaming/ReefAngel/Client/ReefAngelClient.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5446 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5447 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Windows.Forms.DataVisualization
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.116
CodeBase: file:///C:/Users/Mike/AppData/Roaming/ReefAngel/Client/dlls/System.Windows.Forms.DataVisualization.DLL
----------------------------------------
System.ServiceModel
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.5420 (Win7SP1.030729-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.ServiceModel/3.0.0.0__b77a5c561934e089/System.ServiceModel.dll
----------------------------------------
System.Runtime.Serialization
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.5420 (Win7SP1.030729-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Serialization/3.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Data.SqlServerCe
Assembly Version: 3.5.1.0
Win32 Version: 3.5.8080.0
CodeBase: file:///C:/Users/Mike/AppData/Roaming/ReefAngel/Client/dlls/System.Data.SqlServerCe.DLL
----------------------------------------
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
ReefAngelException
Assembly Version: 1.1.0.0
Win32 Version: 1.1.0.0
CodeBase: file:///C:/Users/Mike/AppData/Roaming/ReefAngel/Client/ReefAngelException.DLL
----------------------------------------
System.EnterpriseServices
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Core
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.5420 built by: Win7SP1
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
Manometers
Assembly Version: 1.0.3975.30783
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Mike/AppData/Roaming/ReefAngel/Client/dlls/Manometers.DLL
----------------------------------------
Accessibility
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
SMDiagnostics
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.5420 (Win7SP1.030729-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/SMDiagnostics/3.0.0.0__b77a5c561934e089/SMDiagnostics.dll
----------------------------------------
System.ServiceProcess
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.ServiceProcess/2.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll
----------------------------------------
SystemdotWeb
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_32/SystemdotWeb/2.0.0.0__b03f5f7f11d50a3a/SystemdotWeb.dll
----------------------------------------
System.WorkflowServices
Assembly Version: 3.5.0.0
Win32 Version: 3.5.594.5420
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.WorkflowServices/3.5.0.0__31bf3856ad364e35/System.WorkflowServices.dll
----------------------------------------
System.ServiceModeldotWeb
Assembly Version: 3.5.0.0
Win32 Version: 3.5.594.5420
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.ServiceModeldotWeb/3.5.0.0__31bf3856ad364e35/System.ServiceModeldotWeb.dll
----------------------------------------
System.IdentityModel
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.5420 (Win7SP1.030729-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.IdentityModel/3.0.0.0__b77a5c561934e089/System.IdentityModel.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Re: RAGen and ReefCleint Help

Posted: Sat Dec 31, 2011 11:47 am
by rimai
You are going the right path, but I'd like to ask you to take a step back.
Let's not use the Client just yet.
The first thing we want to make sure is that you can upload something to the controller.
Since you already have RAGen installed, and you know how to generate Internal Memory code, let's upload that code.
What happens when you try to upload that code?

Re: RAGen and ReefCleint Help

Posted: Sat Dec 31, 2011 11:52 am
by Mike S
Thanks,

I have felt like I've been going in 15 different directions and probably need to start by working with just a few functions using one app. I did initially generate a code using the Internal Memory submenu in RAGen. I then went to the Arduino app, opened that code and then uploaded to the controller. It seemed to upload without any issue.

Re: RAGen and ReefCleint Help

Posted: Sat Dec 31, 2011 12:03 pm
by rimai
Good.
So we know that you can upload something.
Now, let's get your PDE code generated.
Using RAGen, please go to the "Features" tab and make sure you got these checked:
  • Simple Menu
  • Wifi
  • Watchdog Timer
Then move to PDE tab and click each relay button and assign whatever function you wish it to perform.
When done, click Generate button and upload to RA.

Re: RAGen and ReefCleint Help

Posted: Sat Dec 31, 2011 2:08 pm
by Mike S
I went through and generated and uploaded new memory and PDE files and the lights appear to be cycled on. I'll check later tonight to see if everything cycles off. I must have missed one setting along the way. Thanks!

Re: RAGen and ReefCleint Help

Posted: Sat Dec 31, 2011 2:33 pm
by rimai
Good.
After you confirm you got everything working the way you want, we can move on to get the Client running.

Re: RAGen and ReefCleint Help

Posted: Sun Jan 01, 2012 8:01 pm
by Mike S
It looks like I'm in business. Lights and heater is cycling on and off as I programmed it. One thing I did notice is that my pH is off after I loaded the new code. Will I need to calibrate every time i load new code?

I wired up my float switches today and installed them using the standard arrangement. I'm using an Aqualifter for my ATO pump. Once I have it working properly, I'm going to hook it up to my kalk mixer to top off with kalk water. I have manually tested it to confirm that dropping the low level switch will turn it on and raising the high level switch will turn it off. Since this pump doesn't put out much water it has hit the time out after 60 seconds before reaching the high level alarm. Once it has timed out will it automatically start pumping again after one hour and continue to repeat that cycle until it reaches the high level alarm? Here is the code:

InternalMemory.ATOTimeout_write(60);
InternalMemory.ATOHighTimeout_write(60);
InternalMemory.ATOHourInterval_write(0);
InternalMemory.ATOHighHourInterval_write(0);

The only other thing that I need to get working if my refuge light. When I created the PDE file in RAGen I assigned Port 5 to the refuge light and defined it as a Standard Light. My PC lamps are also defined as standard lights. I'm assuming that because of this both the refuge light and PC lamps will follow the same schedule that I defined in the Internal Memory code. I'd like to run my refuge light on an opposite schedule. To create a separate schedule for my refuge lamp can I simply rename it in my PDE code from this:

ReefAngel.StandardLights(Port5);

to this:

ReefAngel.RefugeLight(Port5);

Then go into the Internal Memory code and insert this:

InternalMemory.RefugeLightOnHour_write(22);
InternalMemory.RefugeLightOnMinute_write(0);
InternalMemory.RefugeLightsOffHour_write(10);
InternalMemory.RefugeLightsOffMinute_write(0);

Is it that simple?

Re: RAGen and ReefCleint Help

Posted: Sun Jan 01, 2012 9:29 pm
by rimai
Which port is your PC light?

Re: RAGen and ReefCleint Help

Posted: Sun Jan 01, 2012 9:41 pm
by Mike S
Thanks for the help Roberto. My PC lights are on Port 3.

I watched the pump at exactly an hour after it timed out. I didn't see it cycle back on. After reading through a few other threads it appears that it might not cycle back on until the high level switch is triggered. Is that correct?

I think I could increase the timeout level or set it to zero so it doesn't time out, but I don't think I'd want to dose that much kalk water at once. I'm my sump that would probably mean putting a gallon of kalk water into my system in a about 20 minutes.

Would I be better off going with a single switch setup since it would pump a smaller amount of water per cycle and my kalk water would be dosed over sereval cycles each day? I'd then wire the other switch in series with the first and install it wires up to act as a fail safe.

Re: RAGen and ReefCleint Help

Posted: Sun Jan 01, 2012 9:42 pm
by wolfador
You would need to modify the libraries to add a new function. You can use:
ReefAngel.StandardLights(Port,Hr On, Min On, Hr Off, Min off) This is what mine looks like:

ReefAngel.StandardLights(FugeLT,23,0,10,0); //On at 11pm off at 10am.

Re: RAGen and ReefCleint Help

Posted: Sun Jan 01, 2012 9:51 pm
by rimai
Use this code for your refuge:

Code: Select all

  if (bitRead(ReefAngel.Relay.RelayData,2)) ReefAngel.Relay.Off(Port5); else ReefAngel.Relay.On(Port5); 
This should put the refuge in reverse cycle of your port 3.

For your ATO, the timeout is not triggered automatically. It has to be manually reset. Timeout is used for several reasons such as preventing overflow and running pump dry.
If you want an ATO function that doesn't have timeout, we can create a simple function for you, but your idea is pretty solid too.

Re: RAGen and ReefCleint Help

Posted: Wed Jan 04, 2012 5:11 pm
by Mike S
Thanks again Roberto. I've been testing out dosing kalk with my ATO pump the past few days. I was a little concerned that using the float switch might dump a lot of kalk water in my tank all at once and drive the pH up to much, but that doesn't appear to be the case. I'm going to try using the two switch in series with the single switch setup.

With regard to the code that you posted for the lighting, do I just post that in my PDE file at the bottom after the void loop() between the {} ?

BTW did the wifi module make it back to you yet?

Thanks,

Mike

Re: RAGen and ReefCleint Help

Posted: Wed Jan 04, 2012 6:58 pm
by rimai
Yes, I got it. Thanks.
The CheckCloud() function has to be pasted after the {} of the loop() function.
Take a look at this thread:
http://forum.reefangel.com/viewtopic.php?f=14&t=288
It has a PDE sample for you to look at.

Re: RAGen and ReefCleint Help

Posted: Wed Jan 04, 2012 8:19 pm
by Mike S
I think you may have mixed this thread up with another one or now I'm really confused. :D

I was talking about the code that you gave me for the fuge lights a few responses ago:

if (bitRead(ReefAngel.Relay.RelayData,2)) ReefAngel.Relay.Off(Port5); else ReefAngel.Relay.On(Port5);

Re: RAGen and ReefCleint Help

Posted: Wed Jan 04, 2012 8:47 pm
by rimai
Oh, sorry...
Got confused...
Yes, just place anywhere inside the {} of the loop() function. :)

Re: RAGen and ReefCleint Help

Posted: Sat Jan 07, 2012 7:58 pm
by Mike S
I played around with the ATO switch configuration and the code and have it working great. The code you posted for the fuge light worked perfectly also.

On to my next issue. I had installed Reef Client 2.2 on a separate desktop that stays on 24/7 rather than my laptop. I ran into some issues and tried to to a clean install. I tried to unistall it through the windows xp control panel, but that didn't appear to work. When I went to reinstall it the Reef Client installation packages asked me if I wanted to repair or unistall it. I tried both options and they both resulted in an error. Even tried removing it using regedit and had the same result.

I'm getting and error code 1001 that says several files don't exist.

Re: RAGen and ReefCleint Help

Posted: Sat Jan 07, 2012 8:32 pm
by binder
There have been issues with the Client Suite and uninstalling it. As much as it pains me to say, reading through this thread may prove beneficial. I know there's a lot there, but I know issues have come up before.

http://forum.reefangel.com/viewtopic.php?f=8&t=175

If you still are having problems, dmolton should be able to help out since he wrote the application.

Re: RAGen and ReefCleint Help

Posted: Sat Jan 07, 2012 9:22 pm
by Mike S
Thanks binder!

I had done several searches over the past few days and came up empty. The answer to my issue was in the thread that you posted. I simply needed to manually unistall the logger and then rerun the installer and repair it. I'm up and running again. Now I'll see if I can tackle modifying my settings from Client.

Re: RAGen and ReefCleint Help

Posted: Sun Jan 08, 2012 6:43 am
by binder
awesome. glad you got it figured out. :-)