Greetings from the steep learning curve. I’m setting up my first Arduplane while learning Linux on my first AP (BBBlue) with my first GCS (Mission Planner) on Windows 10, for use in a custom vessel. Practically speaking, it's been a recipe for delayed gratification, uncomfortably akin to a monkey with a typewriter.
I now have blue-arduplane running on the Bone (sudo /usr/bin/ardupilot/blue-arduplane -C udp:192.168.8.132:14550 -B /dev/ttyO5 with telemetry reporting via wifi to my Windows 10 laptop, but no signal arrives from the GPS (booted, with flashing blue led). My GPS is a generic ublox neo-M8n (with compass), plugged into the GPS jst-sh (wired according to attached jpeg). Windows Device Manager reports ublox Virtual Com Port on COM5.
I’m guessing the GPS needs to be further configured, i.e., I need to either download/install or create a new ublox-M8 configuration file. I've installed u-center to configure the GPS; u-center reports nothing. That feed seems to imply/require a Passthrough connection in Mission Planner while running blue-arduplane) so, in the Flight Data screen, ctrl-F:
I then installed minicom on the Bone. When I run "dmesg | grep tty" I get:
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=UUID=1b96dc8c-4e92-4f4f-86de-36d769439063 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet cape_universal=enable
[ 0.002863] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[ 2.492065] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a 8250
[ 2.505478] console [ttyS0] enabled
[ 2.506866] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 159, base_baud = 3000000) is a 8250
[ 2.507975] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 160, base_baud = 3000000) is a 8250
[ 2.509094] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 161, base_baud = 3000000) is a 8250
[ 2.510109] 481a8000.serial: ttyS4 at MMIO 0x481a8000 (irq = 162, base_baud = 3000000) is a 8250
[ 2.511416] 481aa000.serial: ttyS5 at MMIO 0x481aa000 (irq = 163, base_baud = 3000000) is a 8250
[ 9.819121] systemd[1]: Created slice system-getty.slice.
[ 9.831852] systemd[1]: Created slice system-serial\x2dgetty.slice.
In Minicom I took a blind whack at setting Serial Port ttyS5 (and ttyS4) to 38400 Baud, 8N1 and Hardware control on/off, to my chagrin, no effect on the non-existent GPS connection. U-center still can't connect, so I can't configure the GPS...if that's what i need to do. Minicom reports the port's values have been changed, but "dmesg | grep tty" reports the same as above, unchanged. I've also tried using the -B /dev/ttyS5 alternative for GPS when starting blue-arduplane. At this point it occurs to me that I could've steered wrong repeatedly, or just missed a step.
If you know what you’re doing, by now it’s probably clear that I don’t. Helpful hints anyone?
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CAOCHtYgGjBjPfyc6Cmqo5Wep6%2BWMNBCr0Rhu2kw6a9M-DzLBqA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Thanks Robert, I've loaded your update. I had assumed the BBBlue had those pins pre-allocated (as the PCB silkscreen indicates). Mirko's instructions made the GPS sound like plug-n-play, not referencing additional setup. I’ve installed the config-pin utility, and a command-line entry of the line sudo config-pin P9.21 uart informs me “P9_21 pinmux file not found! Please verify your Device Tree File.” From this I take it that I need to load cape-universala…
Hi Jason, thanks for your support as well. The One-Liner tests should be a great help. When I try your GPS one-liner verbatim, or set to 9600, the line feeds, but then just sits until I ctrl-C. What does this tell me?
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/18747066-6ad7-4a02-8918-d7867b1c6049%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
My ublox M8n has a blinking blue led which I’ve come to believe means it has at least a good “2D lock”, i.e., at least 3 satellites while here, belowdecks. My breadboard is portable; I took it topside and the GPS LED continues to blink blue, with no apparent change to status.
The first One-Liner was straight copy/paste from the wiki; then as you can see, I tried a few 4800, 9600, and 38400 (uBlox shipped default baud).
Robert, Easy enough: I’ve deleted the dtb=am335x-boneblue-ArduPilot.dtb from /boot/uEnv.txt and rebooted. So, explicitly, the Blue-Ardupilot recipe line #3 Add BLUE DTB
sudo sed -i 's/#dtb=$/dtb=am335x-boneblue-ArduPilot.dtb/' /boot/uEnv.txt
is now obsolete with Jason’s recent DTB fix. Now I get:
kimo@beaglebone:~$ sudo /opt/scripts/tools/version.sh
[sudo] password for kimo:
git:/opt/scripts/:[6d017b3c0902fd4e67fa6ef4801139da9a1726d6]
eeprom:[A335BNLTBLA21712EL005600]
dogtag:[BeagleBoard.org Debian Image 2017-02-19]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2017.03-rc2-00002-g11d4fd]
kernel:[4.4.68-ti-rt-r111]
nodejs:[v4.8.3]
However, having done so hasn’t yet gotten a GPS signal through. A query
desmg | grep tty
returns the same Port report I’ve gotten all along (included in the original post). I’ve nevertheless tried the blue-arduplane/Mission Planner with various parameters, e.g.,
sudo /usr/bin/ardupilot/blue-arduplane -C udp:192.168.8.132:14550 -B /dev/ttyO2
that continue to transmit telemetry without GPS.
I’ve verified that I’m updated on Debian, blue-arduplane and the RT kernel.
So I’ve re-flashed the Blue, upgraded, updated and reinstalled blue-arduplane (without the original uEnv.txt dtb substitution), and connected WIFI via connmanctl. The board is working again, with comms back. GPS blue LED is blinking (meaning that it has a GPS lock). I can again run blue-arduplane and receive telemetry via WIFI to my laptop but no GPS. I then ran…
config-pin –q
…on P9.21 and P9.22 and confirmed that those pins are now, in fact, pre-assigned as UART. Progress. Thank you for that simplification.
At this point I understand (please correct me if I’m wrong) that no further action is required to use the UART connector silkscreened “GPS” on the BBBlue, except for configuring the connection for my specific GPS’ COM parameters. My uBlox neo-M8n, purchased from Hobby King, states “This module ships with a baud rate of 38400, 10Hz”. I have not yet setup u-center to modify the GPS' firmware, so I’ll include the stated default baud in my testing, as well as the more common 4800 and 9600 baud and, while I'm at it, 19200.
I then install the TTY terminal application tio…
sudo apt install tio
Running tio to set the connection baud of a specific port, I get back…
debian@beaglebone:~$ tio -b 9600
/dev/ttyS1
[tio 18:52:00] tio v1.20
[tio 18:52:00] Press ctrl-t q to quit
[tio 18:52:00] Connected
…no matter the baud (4800, 9600, 19200 or 38400) or the port (ttyS1, ttyS2). None of those alternatives yet yields GPS data; it just hangs at “Connected” until I…
ctrl-t q
Then, running Jason’s One-Liner GPS test…
stty -F /dev/ttyO2 ispeed 4800 ospeed 4800;tail -f /dev/ttyO2
# also then with /dev/ttyS1 and /dev/ttyS2
…with the same baud and port parameter variations above also just hangs at the command line, until I ctrl-C. My guess is that this means the software tools are working, telling me that this monkey is still missing something important.
In my previous post I re-flashed the BBBlue because, after some amount of poking around troubleshooting, on reboot somehow I had disabled all my comms. So: clean slate. Reflash. I setup WIFI and, with an updated Debian image, installed the most recent recipe for blue-arduplane, (the latest build that pre-assigns the BBBlue GPS socket’s pins P9.21 and P9.22 as UART):
sudo apt update && sudo apt upgrade –y
sudo apt install -y bb-cape-overlays cpufrequtils ardupilot-plane-blue
sudo sed -i 's/GOVERNOR="ondemand"/GOVERNOR="performance"/g' /etc/init.d/cpufrequtils
cd /opt/scripts && sudo git pull
sudo /opt/scripts/tools/update_kernel.sh --ti-rt-channel --lts-4_4
sudo reboot
I use tio to query the pins (on ttyS2) and confirmed they’re UART. The blue LED on the uBlox is blinking to indicate satellite lock. When I attempt to connect to my uBlox M8n GPS, (blindly using 4800, 9600, 19200, 38400 baud on that port) I still get no GPS data stream. So I checked the GPS output on the o’scope and get 9600 baud pulses on the GPS’ Tx pin (and nothing on the Rx pin). I try config-pin query again with:
tio -b 9600 /dev/ttyS2
…and Jason’s one-liner tests
stty -F /dev/ttyO2 ispeed 9600 ospeed 9600;tail -f /dev/ttyO2
…with no response from the GPS.
Did I miss something?
Greetings from the steep learning curve. I’m setting up my first Arduplane while learning Linux on my first AP (BBBlue) with my first GCS (Mission Planner) on Windows 10, for use in a custom vessel. Practically speaking, it's been a recipe for delayed gratification, uncomfortably akin to a monkey with a typewriter.
I now have blue-arduplane running on the Bone (sudo /usr/bin/ardupilot/blue-arduplane -C udp:192.168.8.132:14550 -B /dev/ttyO5 with telemetry reporting via wifi to my Windows 10 laptop, but no signal arrives from the GPS (booted, with flashing blue led). My GPS is a generic ublox neo-M8n (with compass), plugged into the GPS jst-sh (wired according to attached jpeg). Windows Device Manager reports ublox Virtual Com Port on COM5.
I’m guessing the GPS needs to be further configured, i.e., I need to either download/install or create a new ublox-M8 configuration file. I've installed u-center to configure the GPS; u-center reports nothing. That feed seems to imply/require a Passthrough connection in Mission Planner while running blue-arduplane) so, in the Flight Data screen, ctrl-F:
- It’s unclear whether the “MAVSerial pass” button is activated on click (doesn’t toggle color, just grays temporarily on rollover & click).
- u-center 8.25 doesn’t detect GPS on any port. Tried also creating a TCP connection in u-center through Network Connection, New, setting Address to tcp://localhost:500, set baud to 38400 (with and without AutoBaud) after which I get a Connection Error message.
I then installed minicom on the Bone. When I run "dmesg | grep tty" I get:
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=UUID=1b96dc8c-4e92-4f4f-86de-36d769439063 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet cape_universal=enable
[ 0.002863] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[ 2.492065] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a 8250
[ 2.505478] console [ttyS0] enabled
[ 2.506866] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 159, base_baud = 3000000) is a 8250
[ 2.507975] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 160, base_baud = 3000000) is a 8250
[ 2.509094] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 161, base_baud = 3000000) is a 8250
[ 2.510109] 481a8000.serial: ttyS4 at MMIO 0x481a8000 (irq = 162, base_baud = 3000000) is a 8250
[ 2.511416] 481aa000.serial: ttyS5 at MMIO 0x481aa000 (irq = 163, base_baud = 3000000) is a 8250