Rebooting Reef Angel Controller
avrdude: verification error, first mismatch at byte 0x3ba4
0x4e != 0x49
avrdude: verification error; content mismatch
Code: Select all
[quote]
#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_Wifi.h>
#include <[color=#CC6600]Wire[/color].h>
#include <[color=#CC6600]OneWire[/color].h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_NokiaLCD.h>
#include <RA_ATO.h>
#include <RA_Joystick.h>
#include <[color=#006699]LED[/color].h>
#include <RA_TempSensor.h>
#include <[color=#006699]Relay[/color].h>
#include <RA_PWM.h>
#include <[color=#006699]Timer[/color].h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <[color=#006699]Salinity[/color].h>
#include <[color=#006699]RF[/color].h>
#include <[color=#006699]IO[/color].h>
#include <[color=#006699]ORP[/color].h>
#include <[color=#006699]AI[/color].h>
#include <[color=#006699]PH[/color].h>
#include <[color=#006699]WaterLevel[/color].h>
#include <[color=#006699]Humidity[/color].h>
#include <[color=#006699]DCPump[/color].h>
#include <[color=#CC6600]ReefAngel[/color].h>
[color=#7E7E7E]////// Place global variable code below here[/color]
[color=#7E7E7E]////// Place global variable code above here[/color]
[color=#CC6600]void[/color] [color=#CC6600][b]setup[/b][/color]()
{
[color=#7E7E7E]// This must be the first line[/color]
[color=#CC6600]ReefAngel[/color].[color=#CC6600]Init[/color](); [color=#7E7E7E]//Initialize controller[/color]
[color=#CC6600]ReefAngel[/color].[color=#CC6600]AddStandardMenu[/color](); [color=#7E7E7E]// Add Standard Menu[/color]
[color=#CC6600]ReefAngel[/color].[color=#CC6600]Use2014Screen[/color](); [color=#7E7E7E]// Let's use 2014 Screen [/color]
[color=#7E7E7E]// Ports toggled in Feeding Mode[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]FeedingModePorts[/color] = [color=#006699]Port1Bit[/color] | [color=#006699]Port5Bit[/color] | [color=#006699]Port6Bit[/color];
[color=#7E7E7E]// Ports toggled in Water Change Mode[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]WaterChangePorts[/color] = [color=#006699]Port1Bit[/color] | [color=#006699]Port5Bit[/color] | [color=#006699]Port6Bit[/color] | [color=#006699]Port7Bit[/color] | [color=#006699]Port8Bit[/color];
[color=#7E7E7E]// Ports toggled when Lights On / Off menu entry selected[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]LightsOnPorts[/color] = [color=#006699]Port3Bit[/color] | [color=#006699]Port4Bit[/color];
[color=#7E7E7E]// Ports turned off when Overheat temperature exceeded[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]OverheatShutoffPorts[/color] = [color=#006699]Port2Bit[/color] | [color=#006699]Port3Bit[/color] | [color=#006699]Port4Bit[/color] | [color=#006699]Port7Bit[/color];
[color=#7E7E7E]// Use T1 probe as temperature and overheat functions[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]TempProbe[/color] = [color=#006699]T1_PROBE[/color];
[color=#CC6600]ReefAngel[/color].[color=#006699]OverheatProbe[/color] = [color=#006699]T1_PROBE[/color];
[color=#7E7E7E]// Set the Overheat temperature setting[/color]
[color=#CC6600]InternalMemory[/color].[color=#CC6600]OverheatTemp_write[/color]( 820 );
[color=#7E7E7E]// Feeeding and Water Change mode speed[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]DCPump[/color].[color=#006699]FeedingSpeed[/color]=0;
[color=#CC6600]ReefAngel[/color].[color=#006699]DCPump[/color].[color=#006699]WaterChangeSpeed[/color]=0;
[color=#7E7E7E]// Ports that are always on[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]On[/color]( [color=#006699]Port5[/color] );
[color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]On[/color]( [color=#006699]Port6[/color] );
[color=#7E7E7E]////// Place additional initialization code below here[/color]
[color=#7E7E7E]////// Place additional initialization code above here[/color]
}
[color=#CC6600]void[/color] [color=#CC6600][b]loop[/b][/color]()
{
[color=#CC6600]ReefAngel[/color].[color=#CC6600]StandardATO[/color]( [color=#006699]Port1[/color],7200 );
[color=#CC6600]ReefAngel[/color].[color=#CC6600]StandardLights[/color]( [color=#006699]Port2[/color],22,0,10,0 );
[color=#CC6600]ReefAngel[/color].[color=#CC6600]StandardLights[/color]( [color=#006699]Port3[/color],11,0,22,15 );
[color=#CC6600]ReefAngel[/color].[color=#CC6600]StandardLights[/color]( [color=#006699]Port4[/color],12,0,22,0 );
[color=#CC6600]ReefAngel[/color].[color=#CC6600]StandardHeater[/color]( [color=#006699]Port7[/color],734,740 );
[color=#CC6600]ReefAngel[/color].[color=#CC6600]StandardFan[/color]( [color=#006699]Port8[/color],741,743 );
[color=#CC6600]ReefAngel[/color].[color=#006699]DCPump[/color].[color=#006699]UseMemory[/color] = [color=#CC6600]false[/color];
[color=#7E7E7E]////// Place your custom code below here[/color]
{
[color=#CC6600]if[/color] ([color=#CC6600]hour[/color]()>=0 && [color=#CC6600]hour[/color]()<6)
{
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetDaylight[/color]( [color=#CC6600]ElseMode[/color](30,10,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Else on sync mode[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetActinic[/color]( [color=#CC6600]ElseMode[/color](30,10,[color=#CC6600]false[/color]) ); [color=#7E7E7E]// Else on sync mode[/color]
}
[color=#CC6600]else[/color] [color=#CC6600]if[/color] ([color=#CC6600]hour[/color]()>=6 && [color=#CC6600]hour[/color]()<10)
{
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetDaylight[/color]( [color=#CC6600]ElseMode[/color](40,20,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Else on sync mode[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetActinic[/color]( [color=#CC6600]ElseMode[/color](40,20,[color=#CC6600]false[/color]) ); [color=#7E7E7E]// Else on sync mode[/color]
}
[color=#CC6600]else[/color] [color=#CC6600]if[/color] ([color=#CC6600]hour[/color]()>=10 && [color=#CC6600]hour[/color]()<13)
{
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetDaylight[/color]( [color=#CC6600]NutrientTransportMode[/color](77,90,3000,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Nutrient Transport on sync mode[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetActinic[/color]( [color=#CC6600]NutrientTransportMode[/color](77,90,3000,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Nutrient Transport on sync mode[/color]
}
[color=#CC6600]else[/color] [color=#CC6600]if[/color] ([color=#CC6600]hour[/color]()>=13 && [color=#CC6600]hour[/color]()<14)
{
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetDaylight[/color]( [color=#CC6600]ShortPulseMode[/color](0,50,800,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Short pulse at 50% with 800ms pulse on sync mode[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetActinic[/color]( [color=#CC6600]ShortPulseMode[/color](0,50,800,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Short pulse at 50% with 800ms pulse on sync mode[/color]
}
[color=#CC6600]else[/color] [color=#CC6600]if[/color] ([color=#CC6600]hour[/color]()>=14 && [color=#CC6600]hour[/color]()<17)
{
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetDaylight[/color]( [color=#CC6600]ShortPulseMode[/color](0,70,800,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Short pulse at 90% with 800ms pulse on sync mode[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetActinic[/color]( [color=#CC6600]ShortPulseMode[/color](0,70,800,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Short pulse at 90% with 800ms pulse on sync mode[/color]
}
[color=#CC6600]else[/color] [color=#CC6600]if[/color] ([color=#CC6600]hour[/color]()>=17 && [color=#CC6600]hour[/color]()<20)
{
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetDaylight[/color]( [color=#CC6600]ShortPulseMode[/color](0,90,800,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Short pulse at 90% with 800ms pulse on sync mode[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetActinic[/color]( [color=#CC6600]ShortPulseMode[/color](0,90,800,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Short pulse at 90% with 800ms pulse on sync mode[/color]
}
[color=#CC6600]else[/color] [color=#CC6600]if[/color] ([color=#CC6600]hour[/color]()>=20 && [color=#CC6600]hour[/color]()<22)
{
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetDaylight[/color]( [color=#CC6600]ShortPulseMode[/color](0,60,800,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Short pulse at 90% with 800ms pulse on sync mode[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetActinic[/color]( [color=#CC6600]ShortPulseMode[/color](0,60,800,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// Short pulse at 90% with 800ms pulse on sync mode[/color]
}
[color=#CC6600]else[/color] [color=#CC6600]if[/color] ([color=#CC6600]hour[/color]()>=22 && [color=#CC6600]hour[/color]()<=24)
{
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetDaylight[/color]( [color=#CC6600]ReefCrestMode[/color](40,20,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// reefcrest at 40% hours 22-24 on sync[/color]
[color=#CC6600]ReefAngel[/color].[color=#006699]PWM[/color].[color=#CC6600]SetActinic[/color]( [color=#CC6600]ReefCrestMode[/color](40,20,[color=#CC6600]true[/color]) ); [color=#7E7E7E]// [/color]
}
}
[color=#7E7E7E]////// Place your custom code above here[/color]
[color=#7E7E7E]// This should always be the last line[/color]
[color=#CC6600]ReefAngel[/color].[color=#CC6600]Portal[/color]( [color=#006699]"Docstach"[/color] );
[color=#CC6600]ReefAngel[/color].[color=#CC6600]DDNS[/color]( [color=#006699]"125g"[/color] ); [color=#7E7E7E]// Your DDNS is Docstach-125g.myreefangel.com[/color]
[color=#CC6600]ReefAngel[/color].[color=#CC6600]ShowInterface[/color]();
}
[/quote]