Friday 20 June 2014

TTL_GPS_v9 (rev 2)

After selling out of the first batch quickly I have got a new batch of PCBs for the BlueFlyVario_TTL_GPS_v9. The rev 2 board has a few minor changes:

  • I removed the pcb pads for the switch. 
  • It is now about 1mm less wide. This makes it fit more neatly on the Kobo bezel. 
  • I have exposed the VBACKUP pin of the GPS next to the V+ pin of the TTL connection. If you attach this to a power supply (like the battery in the Kobo) the GPS will get a fix much quicker between power cycles. It consumes very little power. See the PA6H datasheet for more information. 
See below for updated schmatics and pcb layout:

New Sleep Command

The sleep command included in the first v9 firmware ($SLP*) allows the BlueFlyVario to be woken up just by sending a character over the serial port. In rev 2 I added a command $SLX*. This puts the BlueFlyVario fully to sleep, it can then only be waked with a power cycle.  

Kobo Nickel Patch

This is for advanced users. I am sure there is a better way to do it but I am not sure how. To make these changes you can telnet in to your Kobo via Putty and edit files using vi. I posted most of this to the XCSoar dev forum but have yet to commit the changes. Once again, many of these ideas come from my power user friend Steve.

During the ongoing development of the BlueFly vario I have found it might be useful to run some additional commands when switching from the KoboMenu to Nickel. I have used it to send the new sleep command to the connected BlueFly vario so it does not consume power when using Nickel. The sole patch for XCSoar is to include this in /kobo/rcS [Update: The file path is actually /opt/xcsoar/bin/rcS]

# launch user script before nickel start
if [ -f /mnt/onboard/XCSoarData/kobo/ ]; then
source /mnt/onboard/XCSoarData/kobo/

just just prior to the call to unmount the xcsoar files and launch the original nickel rcS:

umount -l /mnt/onboard
exec /etc/init.d/rcS

My has one command:

sh /mnt/onboard/XCSoarData/kobo/bfvsleep &

This kicks off bfvsleep in the new thread that runs as Nickel is starting up. bfvsleep contains the following commands.

sleep 10
stty ospeed 57600 ispeed 57600 -F /dev/ttymxc0
stty -F /dev/ttymxc0 raw
echo '$SLX*'>/dev/ttymxc0