How do I configure my Overo Fire (on a Tobi expansion board) to talk with my
iRobot Create's Cargo Bay Connector using ttyS0 (UART1)?
I would like to send the following commands to my Create in the Overo
console (It starts the Create's interface, stops any demos running, goes
into safe mode, and turns on the LEDs 2 greens and a bright red. (iRobot
Create Open Interface doc:
echo -n -e "\x80" > /dev/ttyS0
echo -n -e "\x88\xFF" > /dev/ttyS0
echo -n -e "\x83" > /dev/ttyS0
echo -n -e "\x8B\x0A\xFF\xFF" > /dev/ttyS0
Up to this point we've been using a Gumstix Verdex XM4 (not the Pro) and an
Element Direct Sticky Interface to talk to the Create (both in C/C++ and
through the console) for a couple of years and we are now trying to upgrade
to the Overo Fire directly. The commands above work perfectly on the old
system, and solving this problem will allow me to port our C/C++ code myself
further on. There are a couple of hurdles we yet need to jump: Level
shifting (which was previously done for us in the Sticky board) and setting
up the GPIO to use the Overo's UART 1 serial port. Here, we are completely
Level shifting: I know the Overo uses 1.8V serial for UART 1 [thanks Nabble
users!]. All the level-shifting examples I see seem to address 1.8V:3.3V or
3.3V:5.0V shifting. Is it safe to jump all the way from 1.8V to 5.0V?
Also, does the Overo use inverted voltage levels (1.8/-1.8 like some kind of
low-power "RS232") or is it just 0/1.8V (like the Create's 0/5V serial)? I
am aware that the 40-pin header on the Tobi board supplies a 1.8V reference
voltage, (presumably for accessories and applications like this). This
nabble post suggests the Sparkfun level converter:
Would that work in this case?
Using UART 1: Unfortunately the process for the Overo does not appear to be
as straightforward as it was for the Verdex XM4/Sticky board
Using UART 1 on the Overo means /dev/ttyS0 and I need to use pins 9 (RX) and
10 (TX) on the Tobi board (/sys/class/gpio/GPIO151,148 - diagram:
and the Element Direct link above I inferred the following, and there are no
errors reported when it runs. Is this correct, or am I chasing a red
herring on the GPIO assignment? Should I be able to send my console
commands once I've installed the level-shifter?
echo GPIO148 > /sys/class/gpio/export
echo out > /sys/class/gpio/GPIO148/direction
echo GPIO151 > /sys/class/gpio/export
echo in > /sys/class/gpio/GPIO151/direction
stty -F /dev/ttyS0 speed 57600
stty -F /dev/ttyS0 sane
stty -F /dev/ttyS0 -ixon
Does anyone have any ideas on this? Am I skipping something critical? I
feel like I'm getting really close here, and just need to patch this
together. I am confident that there are others out there that could benefit
from this too! The Fire/Tobi is a sweet combo and we're only hanging up on
this little point!
View this message in context: http://old.nabble.com/Overo-Fire-Tobi-using-UART1-to-command-an-iRobot-Create-tp26657057p26657057.html
Sent from the Gumstix mailing list archive at Nabble.com.