Difference between revisions of "Overo"
Line 14: | Line 14: | ||
This is not necessary unless you want to build your own custom kernels or root filesystems. | This is not necessary unless you want to build your own custom kernels or root filesystems. | ||
[http://www.gumstix.net/Software/view/Software-Overo/Setting-up-a-build-environment/111.html Instructions given here] | |||
[http://www.gumstix.net/Software/view/Software-Overo/Setting-up-a-build-environment/111.html here] | |||
can be used to generate a generic omap image (omap3-console-image for example). | can be used to generate a generic omap image (omap3-console-image for example). | ||
Latest revision as of 02:50, 14 December 2011
Gumstix Overo
The Overo is a module sold by Gumstix which contains a TI OMAP35xx processor (ARM Cortex-A8). This module is used on the Lisa board or, through the use of standard gumstix baseboards such as Tobi, it can be interfaced to LPC2148 boards such as the twog.
Using Paparazzi pre-built toolchain
Compiling overo programs is easy in paparazzi. Install the paparazzi-omap ubuntu package, create an SD card (sw/tools/overo_sd_maker) with a the required boot files (MLO, uboot, uImage) and rootfs, and you're ready!
Examples on how to perform telemetry, datalink, and other basics are provided in the sw/airborne/fms and sw/airborne/beth directories. Lisa board owners can also look there for info on interfacing to IMU/SPI/baro/etc.
Since overo is on the network (onboard or usb wifi), uploading overo programs is done using scp (See conf/Makefile.omap). Network configuration script is available at sw/tools/overo_sd_maker/configure_network.sh
Setting up a build environment
This is not necessary unless you want to build your own custom kernels or root filesystems. Instructions given here can be used to generate a generic omap image (omap3-console-image for example).
For paparazzi there is a custom image recommended (realtime kernel patch and other extras) and specific instructions are listed on the Lisa pages.
Communications between LPC and Overo via UART
An example implementation of an overo communicating with a twog is structured as follows:
The overo target application is sw/airborne/beth/overo_test_uart.c The twog configuration is conf/airframes/twinjet_overo.xml
Highlights:
- The Twog's GPS UART is repurposed to establish communications between Overo and Twog
- Twog uses a software module (sw/airborne/modules/core) to permit having an extra telemetry channel on the free UART
- The GPS is interfaced to the overo and the overo forwards the ublox messages to the twog
- Overo sends datalink messages to the Twog who accepts them just like they were from the ground station
- Overo receives twog messages and parses them
- Overo can exchange telemetry and datalink with ground station as usual (over ethernet/wifi UDP)
- Twog can exchange telemetry and datalink with ground station as usual (over serial Xbee)
Hardware configuration:
The hardware is connected according to this logical block diagram:
TWOG OVERO +------------+ +-----------+ +-----+ | Uart0+-------+Uart Uart+-----+ GPS | | Uart1| | wifi| +-----+ +----------+-+ +---------+-+ \ / \ / \ / +-+-------------+-+ | Ground Station | +-----------------+
The overo serial connections can be accomplished via the OMAP processor UARTS (1.8v level-shifting required) or via USB to serial converters (for testing this is easy to setup and convenient for debugging but too bulky to fly).
A U-Blox LEA-5H GPS is needed (an LEA-4H could be used with few sw modifications). A booz GPS board is ideal, but in this example we use a Tiny board with the uart tunnel application installed (GPS characters are tunneled through the processor).
Here are pictures of the example setup:
Software configuration:
Setting up Overo:
Create aircraft : Either using paparazzi center or by manually editing conf/conf.xml, use the example conf/airframes/Poine/beth.xml to create a new aircraft
exerpt of conf.xml:
exerpt of conf.xml
edit makefile to add correct overo hostname
edit beth/overo_gcs_com.c to add correct ground station IP address
Compiling application
make AIRCRAFT=BETH clean_ac overo_test_uart.compile make AIRCRAFT=BETH overo_test_uart.upload
Running application
ssh overo ./overo_test_uart.elf 0 1
Setting up Twog:
Create aircraft using twinjet_overo.xml build/upload via paparazzi center