Pages: [1]   Go Down
Author Topic: FIO Gives Serial garbage on XBee after waking up  (Read 1012 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 64
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Got some serial garbage coming out my FIO XBee, as soon as I wake up the XBee. The actual message being sent after that comes in fine though. This is what happens:
1- XBee slows (Pin Hibernate)
2- Arduino sleeps (Watchdog, power down)
3- After X times watchdog interrupts, the main cycle will wake up the XBee
4- When the XBee wakes up (pin output gets low), it sends something like ~.....)...... to another XBee, connected to the PC and monitored by X-CTU
6- ~2 seconds later the Arduino sends the actual message, will be received fine.
7- XBee is put asleep again (no garbage coming after the message or on shutdown btw)
8- Arduino puts itself asleep again

This does NOT happen when the I disable the "Pin Hibernate" sleep modus on the Xbee. Anyway, I tried to flush the Serial when waking up and just before putting the XBee asleep, but it still happens. I must also say that the garbage content isn't completely random. The length and the characters are almost the same each time.

Another little test. When I send no messages at all (no Serial.print), the same garbabe still occurs. Again, with sleepmodus disabled the clean stays clean though.

I guess waking up triggers some electro magic. I've read short bits about catching that with a resistor or something, but ifso, could someone give a bit more details about how to fix that on a FIO + XBee, using sleep and a battery?

---------------
Further details:
XBee Pro Series 1
Arduino FIO
Powered by a battery 3x2000 mAh, 3.7V  7.40Wh
* I don't have an extra USB cable to check if it still happens without the battery...

Cheers, Rick
Logged

Game hobby project: Tower22

Wellington, New Zealand
Offline Offline
Sr. Member
****
Karma: 1
Posts: 404
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Not sure if this will help but on my fio I had the XBee wake up the avr instead of the other way around, and never experienced any garbage output.  It also means a single sleep period rather than waking every 8 seconds.

You need to solder a wire from the XBee's wake pin to D2 or D3 on the fio to do this.
Logged


0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 64
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That's achieved with Cyclic Sleep modus I assume? A good suggestion, though there are some practical issues in my case.

AFAIK, Cyclic Sleep consumes a bit more than Pin Hibernate, and I really want to make to stretch the battery lifetime as long as possible. Second issue is that the microcontroller will wake up more often than than the XBee in the final version. For example, it measures the temperature each 2.5 minutes, and sends the average value after 20 minutes. All to save as much energy as possible...
Logged

Game hobby project: Tower22

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Any solutions to this one? I'm having the same problem, where the XBee prints some garbage to serial when it wakes up. This is a bit of an annoyance as it only wakes up to transmit data, and so the first packet of data is always garbage.

Thanks!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I also have exactly the same issue here.
If anyone has solved this please share.

Logged

Pages: [1]   Go Up
Jump to: