GPS-Yaw Can Not Fallback To Compass (Copter-4.1.5 Stable Release)

Hello, i am testing Copter-4.1.5 Stable Release Firmware.

I use Novatel RTK OEM718D for GPS, this RTK board use two gps antenna,and can output heading data. For test this RTK, i modify <libraries/AP_GPS/AP_GPS_NOVA.cpp>, make it can handle heading data. The code is push to my github, and th PR is here:

Here is my param set:
GPS_TYPE 15 // for Novatel RTK
EK3_SRC1_YAW 3 // GPS with Compass Fallback

My fcs can get gps-3dfix(no rtk base), and the gps-heading data is valid, and fcs can use gps-heading perfectly. But when i cover one of gps antana(make gps-heading data invalid), and fcs seems like failed fallback to compass.

Here is my Log file.2022-04-07 15-50-50.bin
You can see when GPS-Yaw is unavailable, the yaw angle keep grow up, and it failed track the compass. Any hints will help, thanks.

Fist off, make a github pull-request with your software changes.

1 Like

Nice, now make a pull request to the ardupilot repository.

Hi, here come the PR, first do PR, not sure this is what you expect.

Do it like this:
ardupilot:masterztzintelligence:devGpsHeading

not
ztzintelligence:Copter-4-1-5ztzintelligence:devGpsHeading

Thank you for your patience, but i test this GPS-YAW feature on the branch Copter-4.1.5, not master branch, how i can make pull request like ardupilot:masterztzintelligence:devGpsHeading ?

Locally do:

git checkout master
git remote add ardupilot https://github.com/ArduPilot/ardupilot.git
git pull ardupilot master
git checkout -b pr_nova_GpsHeading
git cherry-pick 03b5414a6d1f53da63932b8fba7db73e56c0182f
git push

then on Compare · ArduPilot/ardupilot · GitHub do:

  1. click on compare across forks
  2. as destination repo select ardupilot/ardupilot
  3. as destination branch select master
  4. as source repo select ztzintelligence/ardupilot-rtk-heading
  5. as source branch select pr_nova_GpsHeading