GPS & Serial Communication Conflicts...

Hi guys,

This is my first post here so please excuse me if I'm doing everything wrong...

I'm currently on an internship working for a company called Envision Solar trying to make a monitor & control embedded system to replace the 3rd party stuff they use on their EV Arc products and am using Arduino uno's to prototype the system.

So far everything has been working great and I've managed to successfully create a complex system in which an Arduino (1) that measures a bunch of inputs and sends them to a second Arduino (2) with an Ethernet shield that sends the data up to the WWW and is displayed on a website etc. Arduino 1 also has a few buttons and knobs that do some stuff and flash some lights and an LCD screen displays some of this data. I'll spare you the nitty gritty and get to my point...

On the website there are two buttons that send trigger values back to Arduino 2 which then sends them to Arduino 1 to either reset either the EV Arcs Ethernet or battery connections (currently flashing LEDs from green to red etc.). These buttons have been working seamlessly with the rest of the system.

I have just added the adafruit ultimate gps module so that I can get the coordinates of the EV Arc and send them to the website to display on a cool google maps thing. The gps module works fine and I can get the gps coordinates to send to the web with no problems. However, now the Ethernet and Battery reset buttons on the website wont reset the LEDs...

As far as I can tell, when I print the trigger value in the serial monitor, Arduino 1 appears to be receiving the trigger values from the internet which should reset their corresponding outputs however they're not doing their job.

I've read that the Arduino can only process one set of serial commands at a time and am thinking that this could be the problem?

I've tried using gpsSerial.end(); to start and stop the gps serial connection when it's not needed although I've heard software serial doesn't support this so that line may be doing nothing...

The gps module is running in an interrupt as adafruit recommends and is using softwareserial on pins 8 & 9 and the two Arduinos are communicating via the hardware(?) serial on pins 1 & 0.

The GPS doesn't need to update that frequently, only every 30 mins or so on the final product, so I'm not bothered about speeds etc.

Would putting the trigger commands in an interrupt do the trick?

I've attached the code for both Arduinos should you want to take a look.

Never mind... Just fixed it.

There was some conflicting serial data floating around due to the second Arduino printing stuff it didn't need to.

Is the product you are working on going to be Open Source or commercial?

It does not seem right to be seeking free Open Source assistance for a commercial project.