Skip to content

Commit

Permalink
Set heading from GPS with sustained >=10kts.
Browse files Browse the repository at this point in the history
  • Loading branch information
cyoung committed Dec 27, 2015
1 parent 0088515 commit c1859fb
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions main/ry835ai.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,10 +192,6 @@ func processNMEALine(l string) bool {
return false
}
trueCourse = uint16(tc)
//FIXME: Experimental. Set heading to true heading on the MPU6050 reader.
if myMPU6050 != nil && globalStatus.RY835AI_connected && globalSettings.AHRS_Enabled {
myMPU6050.ResetHeading(float64(tc))
}
} else {
// No movement.
mySituation.TrueCourse = 0
Expand All @@ -208,6 +204,16 @@ func processNMEALine(l string) bool {
return false
}

//FIXME: Experimental. Set heading to true heading on the MPU6050 reader.
if myMPU6050 != nil && globalStatus.RY835AI_connected && globalSettings.AHRS_Enabled {
// Only count this heading if a "sustained" >10kts is obtained. This filters out a lot of heading
// changes while on the ground and "movement" is really only changes in GPS fix as it settles down.
//TODO: Some more robust checking above current and last speed.
if mySituation.GroundSpeed >= 10 && uint16(groundSpeed) >= 10 {
myMPU6050.ResetHeading(float64(trueCourse))
}
}

mySituation.TrueCourse = uint16(trueCourse)
mySituation.GroundSpeed = uint16(groundSpeed)
mySituation.LastGroundTrackTime = time.Now()
Expand Down

0 comments on commit c1859fb

Please sign in to comment.