RY835AI GPS via serial pins TXD/RXD.

pull/42/head
Christopher Young 2015-09-14 01:02:20 -04:00
rodzic 988fdd0ccb
commit 7a98518daf
2 zmienionych plików z 13 dodań i 4 usunięć

Wyświetl plik

@ -20,6 +20,8 @@ setup_stratux_bootconfig() {
echo "max_usb_current=1" >>boot/config.txt
#i2c
echo "dtparam=i2c1=on" >>boot/config.txt
#disable serial console
sed -i boot/cmdline.txt -e "s/console=ttyAMA0,[0-9]\+ //"
}
setup_stratux() {
@ -155,6 +157,9 @@ apt-get install -y autoconf fftw3 fftw3-dev
make
make install
#disable serial console
sed -i /etc/inittab -e "s|^.*:.*:respawn:.*ttyAMA0|#&|"
EOF
echo "**** END STRATUX SETUP *****"

Wyświetl plik

@ -51,7 +51,7 @@ var serialConfig *serial.Config
var serialPort *serial.Port
func initGPSSerial() bool {
serialConfig = &serial.Config{Name: "/dev/ttyACM0", Baud: 9600}
serialConfig = &serial.Config{Name: "/dev/ttyAMA0", Baud: 9600}
p, err := serial.OpenPort(serialConfig)
if err != nil {
log.Printf("serial port err: %s\n", err.Error())
@ -185,6 +185,7 @@ func processNMEALine(l string) bool {
func gpsSerialReader() {
defer serialPort.Close()
tmpBuf := string("")
for globalSettings.GPS_Enabled && globalStatus.GPS_connected {
buf := make([]byte, 1024)
n, err := serialPort.Read(buf)
@ -194,9 +195,12 @@ func gpsSerialReader() {
break
}
s := string(buf[:n])
x := strings.Split(s, "\n")
for _, l := range x {
processNMEALine(l)
tmpBuf = tmpBuf + s
for strings.Index(tmpBuf, "\n") != -1 {
idx := strings.Index(tmpBuf, "\n")
thisNMEA := tmpBuf[:idx]
tmpBuf = tmpBuf[idx+1:]
processNMEALine(thisNMEA)
}
}
globalStatus.GPS_connected = false