Wavemaker Function

Do you have a question on how to do something.
Ask in here.
Post Reply
dpitalo
Posts: 39
Joined: Mon Dec 12, 2011 6:45 pm

Wavemaker Function

Post by dpitalo »

trying to add a single powerhead that will come on and off at random.

I added this to my INO

Code: Select all

ReefAngel.WavemakerRandom1(Port6,15,60);          // Turn Port6 on/off random cycles that lasts from 15 to 60 secs
and get this error.

error: 'class ReefAngelClass' has no member named 'WavemakerRandom1'

Is there something that needs to be enabled in the features file for this to work??
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: Wavemaker Function

Post by rimai »

Nothing need to be enabled but i does require at least v0.9.0 libraries.
Roberto.
dpitalo
Posts: 39
Joined: Mon Dec 12, 2011 6:45 pm

Re: Wavemaker Function

Post by dpitalo »

Well, that would explain it. :-) So I updated the libraries and when I go to compile, I get the following error.

C:\Program Files\Reef Angel Controller\libraries\Wire\utility\twi.c: In function 'twi_init':
C:\Program Files\Reef Angel Controller\libraries\Wire\utility\twi.c:70: error: 'SDA' undeclared (first use in this function)
C:\Program Files\Reef Angel Controller\libraries\Wire\utility\twi.c:70: error: (Each undeclared identifier is reported only once
C:\Program Files\Reef Angel Controller\libraries\Wire\utility\twi.c:70: error: for each function it appears in.)
C:\Program Files\Reef Angel Controller\libraries\Wire\utility\twi.c:71: error: 'SCL' undeclared (first use in this function)
binder
Posts: 2865
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: Wavemaker Function

Post by binder »

How did you update? Did you just use the update utility?
I would suggest you using the Reef Angel Installation program because you have to use the latest arduino to get it to work.
dpitalo
Posts: 39
Joined: Mon Dec 12, 2011 6:45 pm

Re: Wavemaker Function

Post by dpitalo »

I used the installer for version 0.9.4. Using Arduino v1.0

It's not a huge rush since my controller is up and running with the old code/libraries, but I wanted to add the wavemaker function.
dpitalo
Posts: 39
Joined: Mon Dec 12, 2011 6:45 pm

Re: Wavemaker Function

Post by dpitalo »

I also tried loading some of the example code snip-its and compiling them and it's giving me the same error.
dpitalo
Posts: 39
Joined: Mon Dec 12, 2011 6:45 pm

Re: Wavemaker Function

Post by dpitalo »

Ok, so I went digging through the file in question called twi.c

I have no idea what this file does, but I commented out the following two lines.

Code: Select all


digitalWrite(SDA, 1);
digitalWrite(SCL, 1);

and the sketch compiled...Before I go and upload it to my controller, how necessary are the two lines I commented out?? :-)
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: Wavemaker Function

Post by rimai »

If you had to comment them, you got something else wrong.
My suggestion is rename your libraries folder to librariesold and update with http://www.reefangel.com/update
The libraries folder is located at "Documents/Arduino/libraries"
Roberto.
dpitalo
Posts: 39
Joined: Mon Dec 12, 2011 6:45 pm

Re: Wavemaker Function

Post by dpitalo »

did what you suggested and got the same result.

Here's the PDE.

Code: Select all

#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_NokiaLCD.h>
#include <RA_ATO.h>
#include <RA_Joystick.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <ReefAngel.h>

#define AutoTopOff        1
#define Skimmer           2
#define Port3             3
#define Heater            4
#define WM1               5
#define WM2               6
#define SeaSwirl          7
#define Return            8
/*
Ports assignment:

Port1 - Standard ATO - "http://forum.reefangel.com/viewtopic.php?f=7&t=240"
Port2 - Skimmer
Port3 - Port3
Port4 - Heater - "http://www.reefangel.com/Support.Relay-function-StandardHeater.ashx"
Port5 - Wavemaker 1
Port6 - Wavemaker 2 - "http://www.reefangel.com/Support.Activating-a-relay.ashx"
Port7 - SeaSwirl
Port8 - Return
*/

#define PWMRB1            0
#define PWMRB2            1
#define PWMRB3            2
#define PWMWT1            3
#define PWMWT2            4
#define PWMHN             5


byte PWMChannel[]={
  0,0,0,0,0,0};

void setup()
{
  ReefAngel.Init();
  ReefAngel.FeedingModePorts = Port2Bit | Port5Bit | Port6Bit | Port8Bit; // Turn off Port6 and Port8 when feeding mode is activated
  ReefAngel.WaterChangePorts = Port2Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit; // Turn off Port5, Port6, Port7 and Port8 when water change mode is activated
  ReefAngel.Relay.DelayedOn(Skimmer,2); // Turn on Port 7
  ReefAngel.Relay.On(SeaSwirl); // Turn on Port 7
  ReefAngel.Relay.On(Return); // Turn on Port 8
}

void loop()
{
  ReefAngel.StandardATO(AutoTopOff, 60);           // ATO with 60 seconds timeout
  ReefAngel.StandardHeater(Heater,788,792);    // Heater on at 77.0F and off at 78.0F
  ReefAngel.WavemakerRandom(WM2,15,60);     // Turn Port5 on/off random cycles that lasts from 15 to 60 secs
  ReefAngel.ShowInterface();
  
  if (hour()>=21 || hour()<10)
  {
    ReefAngel.PWM.SetActinic(MoonPhase());
  }
  else
  {
    ReefAngel.PWM.SetActinic(0);
  }
//************************************************************ Start of PWM Expansion Code for Slope

      PWMChannel[PWMRB2]=PWMSlope(9,30,21,20,0,95,60,PWMChannel[PWMRB2]);                   //Royal Blue - Left Bank
      PWMChannel[PWMRB3]=PWMSlope(9,50,21,40,0,95,60,PWMChannel[PWMRB3]);                   //Royal Blue - Middle Bank
      PWMChannel[PWMRB1]=PWMSlope(10,10,22,00,0,95,60,PWMChannel[PWMRB1]);                  //Royal Blue - Right Bank

      PWMChannel[PWMWT2]=PWMSlope(11,00,21,00,0,95,80,PWMChannel[PWMWT2]);                  //XP-E Cool Whites - Left Side  
      PWMChannel[PWMWT1]=PWMSlope(11,10,21,30,0,95,80,PWMChannel[PWMWT1]);                  //XP-E Cool Whites - Right Side

      PWMChannel[PWMHN]=PWMSlope(12,00,20,00,0,95,120,PWMChannel[PWMHN]);                   //XP-G Cool Whites - Left Side

      if (hour()>=21 || hour()<12)
  {
    ReefAngel.PWM.SetDaylight(0);
  }
  else
  {
    ReefAngel.PWM.SetDaylight(PWMSlope(12,00,20,30,0,95,120,ReefAngel.PWM.GetDaylightValue()));   //XP-G Cool Whites - Right Side
  }

  
  for (int a=0;a<6;a++)
  {
    ReefAngel.PWM.Expansion(a,int(2.55*PWMChannel[a])); 
  }
//************************************************************* End of PWM Expansion Code for Slope
  
  
  
}

rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: Wavemaker Function

Post by rimai »

I just tested it and it compiles fine.
Maybe you have not uninstalled the previous version of installer.
Try uninstalling the old versions and install the new one again.
Roberto.
dpitalo
Posts: 39
Joined: Mon Dec 12, 2011 6:45 pm

Re: Wavemaker Function

Post by dpitalo »

That fixed it.

Thanks Roberto!
Post Reply