In my test, I adds ublox nav_pvt support. Since it is open-source, it is very easy to add support of GPS receivers.
To set the heading from GNSS always valid, you need set a variable in UpdateFunctions.c called "useMagHeading" FALSE.
Indeed, you need to a bit more to make this work reliably. For single antenna GNSS receiver, heading is derived from velocity, and heading accuracy is determined by velocity. We estimate heading variance used in the Kalman fitler according to GNSS velocity.
But since you decide to use a dual-antenan GNSS receiver, the heading accuracy is decided by the separation between the antenna and the positioning engine (RTK, PPP).