Not saving sensors

hello all

i have an issue where my sensors are not saved after a power loss or reboot of my brewpi setup.

my setup consists of

Odroid-x (like a ras pi, little different)
freetronics eleven arduino Uno clone
my onw custom made sheild with the SSr’s to control the fridge and heater.

i had a bastard of a time getting the hex file to flash through the brewpi software, and ended up using xloader (after looking for hours on end to find the hex code) and since then it seems to work well enough

but when there is a power loss or i reboot the odroid, it loses device settings.

i have looked around and tried to re-flash the hex and updated and what not, nothing there helped. and i even ran the command to re-set the eeprom. but that still didnt work.

can anyone help me to work out whats going on?

Cheers

Jason

someone,

anyone

any ideas on where to go from here?

Jason

The problem is that the odroid is sending ‘E’ over serial during the reboot, which is the reset defaults command.
I actually don’t know how you can prevent it from doing that.

so does that mean that a ras-pi will do the same thing? surely not?

as the system is still linux and the script is just python it shouldnt matter the os should it? how can i be the only one with the issue? how come ‘E’ is sent every boot?

Jason

The raspberry pi can occasionally send a character, but not every boot.
I am releasing a software update for the Spark later to prevent it from happening (requiring ‘E’ to be followed by \r or \n.

What about for the arduino members?

Or is there something I can do to work around it?

OK, so still not saving sensors upon a reboot. surely there must be a way around this. I have gone as far as having it on a ups so that it keeps going if there is a power outage.

Please help.

Jason.

ok, so its done it again.something rebooted, and then lost all settings. i havent checked it for a day and it want heating all day. can anyone help to determine whats causing this?

here is the stderr

allProcesses.update()
File “/home/brewpi/BrewPiProcess.py”, line 124, in update
matching = [p for p in psutil.process_iter() if any(‘python’ in p.name() and 'brewpi.py’in s for s in p.cmdline())]
File “/home/brewpi/BrewPiProcess.py”, line 124, in
matching = [p for p in psutil.process_iter() if any(‘python’ in p.name() and 'brewpi.py’in s for s in p.cmdline())]
File “/usr/local/lib/python2.7/dist-packages/psutil/init.py”, line 557, in name
name = self._proc.name()
File “/usr/local/lib/python2.7/dist-packages/psutil/_pslinux.py”, line 935, in wrapper
raise NoSuchProcess(self.pid, self._name)
psutil.NoSuchProcess: psutil.NoSuchProcess process no longer exists (pid=21188, name=‘Xorg’)
Jul 04 2016 14:09:02 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Traceback (most recent call last):
File “/home/brewpi/brewpi.py”, line 194, in
if allProcesses.findConflicts(myProcess):
File “/home/brewpi/BrewPiProcess.py”, line 187, in findConflicts
matching = [p for p in psutil.process_iter() if any(‘python’ in p.name() and 'flashDfu.py’in s for s in p.cmdline())]
File “/usr/local/lib/python2.7/dist-packages/psutil/init.py”, line 617, in cmdline
return self._proc.cmdline()
File “/usr/local/lib/python2.7/dist-packages/psutil/_pslinux.py”, line 935, in wrapper
raise NoSuchProcess(self.pid, self._name)
psutil.NoSuchProcess: psutil.NoSuchProcess process no longer exists (pid=3896)
Jul 04 2016 18:33:03 Another instance of BrewPi is already running, which will conflict with this instance. This instance will exit
Jul 05 2016 19:59:29 Controller debug message: INFO MESSAGE 17: Positive peak detected: 21.4, estimated: 21.5. Previous heat estimator: 0.090, New heat estimator: 0.090.

BUNCH OF CONROLLER DEBUG MESSAGES*

Jul 05 2016 20:46:07 Controller debug message: INFO MESSAGE 17: Positive peak detected: 21.4, estimated: 21.5. Previous heat estimator: 0.090, New heat estimator: 0.090.
Jul 05 2016 21:30:21 Controller debug message: INFO MESSAGE 17: Positive peak detected: 21.4, estimated: 21.5. Previous heat estimator: 0.090, New heat estimator: 0.090.
Jul 05 2016 22:14:46 Controller debug message: INFO MESSAGE 17: Positive peak detected: 21.4, estimated: 21.5. Previous heat estimator: 0.090, New heat estimator: 0.090.
Jul 05 2016 22:49:26 Serial Error: [Errno 5] Input/output error)
Jul 05 2016 22:49:27 Lost serial connection. Error: [Errno 2] could not open port /dev/ttyACM0: [Errno 2] No such file or directory: ‘/dev/ttyACM0’)
Terminating due to fatal serial error
Jul 05 2016 22:50:01 Opening serial port
Jul 05 2016 22:50:01 Notification: Script started for beer 'My First Beer’
Jul 05 2016 22:50:11 Checking software version on controller…
Jul 05 2016 22:50:12 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revC shield on port /dev/ttyACM0

Jul 06 2016 00:00:00 Notification: New day, creating new JSON file.
Jul 06 2016 13:53:01 Installed devices received: []

I have run an “uptime” command in terminal, and the system has been running for 4 days nonstop. so the odroid isnt rebooting, but something is causing this.
Jason

Please make sure your Arduino and your Odroid are getting enough power. Try powering the Arduino with a DC adapter 7-12V.

Also try another USB cable.

Yes
The duino is powered from an external 12v source. As well as the odroid. I will try another cable tomorrow. I have also gone as far as powering it off a UPS to eliminate spikes and whatnot.

Is there something I can run to see what commands its sending g that’s causing the reset. Seems odd that I am the only person with this issue.

You are also the only person running this on an Odroid I think :).

It is losing the serial connection, I don’t know why. You are running this on different hardware than what we test with.

As it runs in python I wouldn’t have thought it would make a difference. Perhaps it does. I had the odroid spate and didn’t want to spend the 80aud to get a pi.

What if I try installing it on a Linus laptop I have. Or would that possibly have hardware issues aswe

Worth a try. It is possible that the laptop will also send signals to the controller during reboot, but it might not lock up the serial port.