Booz/Autopilot
Building Tips
Since the Booz uses the same LPC2148 as the Tiny and TWOG autopilots and runs the same core code the documented steps are nearly the same for booz. Below more Booz specific tests are given. However after assembly you load the bootloader in the same way to enable programming via the USB interface.
Assembly Tips
- BOM
- Assembly Notes
- Expected voltages for newly created boards
Loading the USB Boot Loader
This is virtually the same steps as for all other LPC2148 based Paparazzi autopilots. Just the cable is different. Using UART0/serial to load the image.
Create an adapter cable that has Tx/Rx and Ground along with the ability to hold P0.14 low (i.e. grounded). My cable has P0.14 pin connected to ground as I have found P0.14 should be held low during the entire upload process. See the Eagle Schematic for the pinouts on the GPS connector you will use to upload (same connector as the Tiny/TWOG). NOTE: You can not use the same cable as the Tiny/TWOG.
Steps:
- Connect the "USB to FTDI cable" (#1 above) TTL ends to 8-pin Picoblade to FTDI board cable
- Connect the USB end to your Linux laptop (/var/log/messages should show a new device on /dev/ttyUSB0).
- Connect 8-pin adapter cable to "GPS" 8-pin Pico-Female on Booz Main "GPS" labeled connector
- Using common ground" set BOOT (P0.14) "low" and keep it held low (on GPS connector)
- Power on (~5v to 12v current limited power supply suggested)
- Enter this command in a terminal:
make upload_bl PROC=GENERIC
NOTE: Success will mean you see this at the end in the terminal:
Synchronizing. OK Read bootcode version: 2.12.0 Read part ID: LPC2148, 512 kiB ROM / 40 kiB SRAM (67305253) Sector 0: .................................................. ............................................. Sector 1: .................................................. ......................... Download Finished... taking 6 seconds Now launching the brand new code ioctl get failed ioctl set ok, status = 0 ioctl get ok, status = 2 ioctl get ok, status = 2 ioctl set ok, status = 2 ioctl set ok, status = 0 ioctl set ok, status = 0
What you need to see is the "Download Finished" message. Now you can remove Jumper and FTDI cable. From now on all programming is loaded using USB Adapter cable
USB Programming
Once the USB boot code is loaded (see above) you now program the autopilot via USB. To enable the LPC2148 to wait for programming on the USB interface you must power the board while the USB is connected to the ground station computer. When properly wired P0.21 will be fed 5v from the USB interface and at boot time that tells the LPC2148 to wait for programming over USB. Once programmed the board will rest itself and run the programming (even if you leave the cable attached).
Steps
- Connect the USB cable from the computer to the Booz Main USB connector
- Power on the Booz Main board
- On the Linux (computer) side dmesg should show you a new detected USB device
- In Paparazzi Center click "Upload" and wait for the ####### message to show the code is being uploaded.
That's it.