My Neptune Apex web interface compatible DIY reef controller

The pcb order status says sent to board house. Not sure if that means it is really accepted or if it can still be rejected. The two previous orders I made just showed shipped 4 days after it showed sent to board house. So I guess I'll know by Monday or Tuesday.
 
having a little problem uploading the code here is the error that im getting if someone could point me in the right direction as to what is wrong that would be awesome thanks.





Arduino: 1.6.5 (Windows 8.1), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Using library OneWire in folder: C:\Users\alex\Documents\Arduino\libraries\OneWire

Using library Wire in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire

Using library LiquidCrystal in folder: C:\Users\alex\Documents\Arduino\libraries\LiquidCrystal (legacy)

Using library Time in folder: C:\Users\alex\Documents\Arduino\libraries\Time

Using library DS1307RTC in folder: C:\Users\alex\Documents\Arduino\libraries\DS1307RTC

Using library SdFat in folder: C:\Users\alex\Documents\Arduino\libraries\SdFat (legacy)

Using library SPI in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI

Using library Ethernet in folder: C:\Users\alex\Documents\Arduino\libraries\Ethernet

Using library Flash in folder: C:\Users\alex\Documents\Arduino\libraries\Flash (legacy)



C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega -IC:\Users\alex\Documents\Arduino\libraries\OneWire -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire -IC:\Users\alex\Documents\Arduino\libraries\LiquidCrystal -IC:\Users\alex\Documents\Arduino\libraries\Time -IC:\Users\alex\Documents\Arduino\libraries\DS1307RTC -IC:\Users\alex\Documents\Arduino\libraries\SdFat -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI -IC:\Users\alex\Documents\Arduino\libraries\Ethernet\src -IC:\Users\alex\Documents\Arduino\libraries\Flash C:\Users\alex\AppData\Local\Temp\build4864463391432159768.tmp\Chauvet16.cpp -o C:\Users\alex\AppData\Local\Temp\build4864463391432159768.tmp\Chauvet16.cpp.o

Sensors.ino: In function 'float getTemp(int)':
Sensors.ino:136:8: error: 'tempdata' was not declared in this scope
Sensors.ino:143:18: error: 'tempdata' was not declared in this scope
Sensors.ino: In function 'uint16_t getTempRaw(int)':
Sensors.ino:156:8: error: 'tempdata' was not declared in this scope
Sensors.ino:159:16: error: 'tempdata' was not declared in this scope
Sensors.ino: In function 'void updateTemp()':
Sensors.ino:171:11: error: 'ds' was not declared in this scope
Sensors.ino:178:7: error: 'ds' was not declared in this scope
Sensors.ino:210:21: error: 'tempdata' was not declared in this scope
Sensors.ino:233:11: error: 'tempdata' was not declared in this scope
Sensors.ino:240:11: error: 'tempdata' was not declared in this scope
Sensors.ino: In function 'void checkTempISR()':
Sensors.ino:256:7: error: 'tempdata' was not declared in this scope
'tempdata' was not declared in this scope
 
you are getting that error because _TEMP is not defined in your config.h. temp sensor is required for the controller to work.
 
Controller Hangs During Boot

Controller Hangs During Boot

For some reason my controller is now hanging at NTP DNS Fails. It was working fine. If I disconnect the SDA and SCL from the pH stamp, it's running I2C, the controller boots fine. Any suggestions? Address issue? If so why would it have changed? Pull up resistor needed?

Logs with hang and without:
07/10/2016 18:44:03 crc mismatch
07/10/2016 18:44:03 crc mismatch
07/10/2016 18:44:03 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch

07/10/2016 18:50:07 Get ntp failed.
07/10/2016 18:50:07 Using RTC as sync provider.
07/10/2016 18:50:07 RTC time 07/10/2016 18:50:07
07/10/2016 18:50:07 System initializing...
07/10/2016 18:50:09 Ethernet and Webserver reset.
07/10/2016 18:50:10 Found Temp 0
07/10/2016 18:50:10 Found Temp 1
07/10/2016 18:50:12 Temp sensor initialized.
07/10/2016 18:50:19 pH init failed. ph 0
07/10/2016 18:50:20 Outlet Timers initialized
07/10/2016 18:50:21 Please configure doser pumps before using.
07/10/2016 18:50:23 Initialization Completed.
07/10/2016 18:50:23 4160
07/10/2016 18:57:11 Get ntp failed.
07/10/2016 18:57:11 Using RTC as sync provider.
07/10/2016 18:57:11 RTC time 07/10/2016 18:57:11
07/10/2016 18:57:11 System initializing...
07/10/2016 18:57:13 Ethernet and Webserver reset.
07/10/2016 18:57:14 Found Temp 0
07/10/2016 18:57:14 Found Temp 1
07/10/2016 18:57:16 Temp sensor initialized.
07/10/2016 18:57:23 pH init failed. ph 0
07/10/2016 18:57:24 Outlet Timers initialized
07/10/2016 18:57:25 Please configure doser pumps before using.
07/10/2016 18:57:27 Initialization Completed.
07/10/2016 18:57:27 4160
07/10/2016 19:00:17 Ethernet and Webserver reset.
 
pH Stamp

pH Stamp

For some reason my controller is now hanging at NTP DNS Fails. It was working fine. If I disconnect the SDA and SCL from the pH stamp, it's running I2C, the controller boots fine. Any suggestions? Address issue? If so why would it have changed? Pull up resistor needed?

Logs with hang and without:
07/10/2016 18:44:03 crc mismatch
07/10/2016 18:44:03 crc mismatch
07/10/2016 18:44:03 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:04 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch
07/10/2016 18:44:05 crc mismatch

07/10/2016 18:50:07 Get ntp failed.
07/10/2016 18:50:07 Using RTC as sync provider.
07/10/2016 18:50:07 RTC time 07/10/2016 18:50:07
07/10/2016 18:50:07 System initializing...
07/10/2016 18:50:09 Ethernet and Webserver reset.
07/10/2016 18:50:10 Found Temp 0
07/10/2016 18:50:10 Found Temp 1
07/10/2016 18:50:12 Temp sensor initialized.
07/10/2016 18:50:19 pH init failed. ph 0
07/10/2016 18:50:20 Outlet Timers initialized
07/10/2016 18:50:21 Please configure doser pumps before using.
07/10/2016 18:50:23 Initialization Completed.
07/10/2016 18:50:23 4160
07/10/2016 18:57:11 Get ntp failed.
07/10/2016 18:57:11 Using RTC as sync provider.
07/10/2016 18:57:11 RTC time 07/10/2016 18:57:11
07/10/2016 18:57:11 System initializing...
07/10/2016 18:57:13 Ethernet and Webserver reset.
07/10/2016 18:57:14 Found Temp 0
07/10/2016 18:57:14 Found Temp 1
07/10/2016 18:57:16 Temp sensor initialized.
07/10/2016 18:57:23 pH init failed. ph 0
07/10/2016 18:57:24 Outlet Timers initialized
07/10/2016 18:57:25 Please configure doser pumps before using.
07/10/2016 18:57:27 Initialization Completed.
07/10/2016 18:57:27 4160
07/10/2016 19:00:17 Ethernet and Webserver reset.

I tested the stamp in serial mode with the standalone Atlas sample code and it works fine. Since it wasn't working anymore in I2C i switched to serial but it will not initialize when connected to the controller, but the controller fully boots up. Any suggestions on that one?

Thanks for your time!

Mark
 
if it works in standalone code, it should work in the controller code.

look in Sensor.cpp code and find the stamp init code, and try to do the sequence manually in a serial terminal to see if everything works.
 
if it works in standalone code, it should work in the controller code.

look in Sensor.cpp code and find the stamp init code, and try to do the sequence manually in a serial terminal to see if everything works.

While running the Atlas code or controller code? I tried to get serial terminal while running controller code but got "no data" return.
 
look at Sensor.cpp source code. see what commands are sent to the stamp to initialize, then from a serial terminal, send the exact same commands manually.
 
pH Init Serial Commands

pH Init Serial Commands

I have tried to do it from the controller code serial monitor but there is no communication. I may be doing something wrong there. Sending the pH commands below from the Atlas code works with the exception of the "e" which isn't a recognized code based on the stamp data sheet.

I have a new mega and enet shield on the way. Something may be amiss with them as I also lost enet at the same time I lost I2C for the PH stamp.

boolean Sensor::init() {
_initialized=false;
if (_isEZO) {
if (_addrType==_serial) {
send("");
delay(300);
getresponse();
_scratch[0]=0;
send("response,0");
send("c,0");
}
send("L,1");
if (_type==_cond) {
send("o,ec,1");
delay(300);
send("o,tds,0");
delay(300);
send("o,sg,0");
delay(300);
send("o,s,1");
delay(300);
send("k,1.0");
delay(300);
getresponse();
}
send("r");
} else {//non EZO is always Serial
send("e");
send("e");
send("L1");
send("r");
}
delay(1500);
int countdown = 50;
while (!getresponse() || _scratch[0]==0) {
if (countdown-- == 0)
return false;
delay(100);
}
if (_type==_cond) {
char* v = strchr(_scratch,',');
if (v==0) return false;
_value=atof(v+1);
} else {
_value=atof(_scratch);
if (_value==0 && _scratch[0]!='0')
return false;
}
if (_value>=0) {
send("r");
_initialized=true;
return true;
}
return false;
}
 
Just test the individual function, if it works stand alone, it will work in the controller code. From my experience, other than component failure, problems are most likely caused by loose connection.
 
The PCB status is now shipped. I'll probably get them around the first week of August.
The plan is to have software for basic functions working by end of August.
 
Just test the individual function, if it works stand alone, it will work in the controller code. From my experience, other than component failure, problems are most likely caused by loose connection.

Did a factory reset of the stamp and now it works just fine in I2C mode with the controller.

Thank you again for your time!

Mark
 
Doser Calibration Fails

Doser Calibration Fails

Run the calibration just fine it says calibration sent. Go to the dosing screen and try to set up dosing but it gives and error every time I click save. Rebooted reloaded a few times. I also edited conf.h as follows and this doesn't show up either.
#define DOSERDEFAULT {"Cal",5,0,0,2030,3626,3000},{"Alk", 20,1,1,2000,3234,3000}
 
Doser Setup Fails

Doser Setup Fails

Run the calibration just fine it says calibration sent. Go to the dosing screen and try to set up dosing but it gives and error every time I click save. Rebooted reloaded a few times. I also edited conf.h as follows and this doesn't show up either.
#define DOSERDEFAULT {"Cal",5,0,0,2030,3626,3000},{"Alk", 20,1,1,2000,3234,3000}
I can dose manually and it works fine. Just can't get auto dosing setup, it errors out.
Is there a file to modify that can fix this? The config.h didn't work. Or is it something else like write permission? Any suggestions?

Thank you in advance for your assistance.

Mark
 
Back
Top