Examples

void loop()

{

ReefAngel.PWM.SetDaylight( PWMSlope(9,0,20,0,15,100,60,15) ); // Type of Fade, StartHour, StartMinute, EndHour, EndMinute, StartPercentage, EndPercentage, TimeOfslope,DefaultValue

ReefAngel.PWM.SetActinic( PWMParabola(9,0,20,0,15,100,60,15) ); // Type of Fade, StartHour, StartMinute, EndHour, EndMinute, Start Percentage,End%, Default Value

}

### Using the StandardDimming channels for DC pumps (Jebao,Tunze, Speedwave)

* We have 2 pumps running.
* We are using the StandardDimming ports
* We are using ShortPulse and want one pump running when the other pump is off.

void loop()

{

ReefAngel.DCPump.UseMemory = false;

ReefAngel.DCPump.SetMode( ShortPulse,50,10 ); //Type, PulseSpeed,PulseDuration

ReefAngel.DCPump.DaylightChannel = Sync; // the dimming channel we are using for pump1 is opposite to the other dimming channel

ReefAngel.DCPump.ActinicChannel = AntiSync; // the dimming channel we are using for pump2 is opposite to the other dimming channel

}

## DimmingExpansion Examples

### Using the DimmingExpansion channels for LEDs

* We have an LED unit with Blue and White Channels
* We are using the standard dimming ports
* We will use a PWMSlope shape for the Whites on the Daylight channel
* We will use a PWMParabola shape for the Blues on the Actinic channel

void loop()

{

ReefAngel.PWM.SetChannel ( 0, PWMSlope(9,0,20,0,15,100,60,15) ); // Use ExpansionPort 0, Type of Fade, StartHour, StartMinute, EndHour, EndMinute, StartPercentage, EndPercentage, TimeOfslope,DefaultValue

ReefAngel.PWM.SetChannel ( 1, PWMParabola(9,0,20,0,15,100,60,15) ); // Use ExpansionPort1,Type of Fade, StartHour, StartMinute, EndHour, EndMinute, Start Percentage,End%, Default Value

}

### Using the DimmingExpansion channels for DC pumps (Jebao,Tunze, Speedwave)

* We have 2 pumps running.
* We are using the First 2 ports on the DimmingExpansion
* We are using ShortPulse and want one pump running when the other pump is off.

void loop()

{

ReefAngel.DCPump.UseMemory = false;

ReefAngel.DCPump.SetMode( ShortPulse,50,10 ); //Type, PulseSpeed,PulseDuration

ReefAngel.DCPump.ExpansionChannel[0] = Sync; // the dimming channel we are using for pump1 is opposite to the other dimming channel

ReefAngel.DCPump.ExpansionChannel[1] = AntiSync; // the dimming channel we are using for pump2 is opposite to the other dimming channel

}

## DCPump Examples

### Using StandardDimming channels, pumps alternating on & off:

* We have 2 pumps running.
* We are using the StandardDimming ports
* We are using ShortPulse and want one pump running when the other pump is off.

void loop()

{

ReefAngel.DCPump.UseMemory = false;

ReefAngel.DCPump.SetMode( ShortPulse,50,10 ); //Type, PulseSpeed,PulseDuration

ReefAngel.DCPump.DaylightChannel = Sync; // the dimming channel we are using for pump1 is opposite to the other dimming channel

ReefAngel.DCPump.ActinicChannel = AntiSync; // the dimming channel we are using for pump2 is opposite to the other dimming channel

}

### Using StandardDimming channels, both pumps on:

This exactly the same code, but both channels are set to Sync

void loop()

{

ReefAngel.DCPump.UseMemory = false;

ReefAngel.DCPump.SetMode( ShortPulse,50,10 ); //Type, PulseSpeed,PulseDuration

ReefAngel.DCPump.DaylightChannel = Sync; // the dimming channel we are using for pump1 is the same as the other channel

ReefAngel.DCPump.ActinicChannel = Sync; // the dimming channel we are using for pump2 is the same as the other channel

}

### Using StandardDimming channels and DimmingExpansion channels:

Now we add another 2 pumps. We have exceded the 2 StandardDimming channels so we are going to use 2 channels of the DimmingExpansion

* We have 4 pumps running.
* We are using the StandardDimming ports and Channel 1 + 2 of the DimmingExpansion
* We are using ShortPulse and want the 2 pumps running on the StandardDimming ports to run on opposite cycles to the 2 pumps on the DimmingExpansion

{

ReefAngel.DCPump.UseMemory = false;

ReefAngel.DCPump.SetMode( ShortPulse,50,10 ); //Type, PulseSpeed,PulseDuration

ReefAngel.DCPump.DaylightChannel = Sync; // the dimming channel we are using for pump1 is the same as pump2

ReefAngel.DCPump.ActinicChannel = Sync; // the dimming channel we are using for pump2 is the same as pump1

ReefAngel.DCPump.ExpansionChannel[0] = AntiSync; // the dimming channel we are using for pump3 is opposite to pump 1+2

ReefAngel.DCPump.ExpansionChannel[2] = AntiSync; // the dimming channel we are using for pump4 is opposite to pump 1+2

}

## WaterLevelExpansion Example

### Using the single WaterLevelExpansion for an ATO

* We are using a single WaterLevel Sensor
* We have an ATO pump on Port4 of the RelayBox
* We want this pump to turn on when the LowLevel is at 10%
* We want the pump to turn off when the HighLevel is 15%
* We want a Timeout as a failsafe to turn the pump off after 60Seconds

{

ReefAngel.WaterLevelATO( Port4,60,10,15); //WaterLevelATO/ Use Port4 for Pump, Timeout in S, LowLevel%, HighLevel%

}