I’m working on a fixed base configurator that may be of use to the community at some point, and at least for now, I’m mimicking Mission Planner’s configuration strategy.
Why are all ports configured for UBX+NMEA+RTCM3 in/out but then all NMEA sentence rates are zeroized?
Wouldn’t it be just as effective to eliminate NMEA from the port config call? Or is there a reason to keep NMEA as an available/active protocol?
To wit, this config message configures UART1 as mentioned above (0x23 sets bits 0, 1, and 5, corresponding to all 3 message types):
var packet = generate(0x6, 0x00, new byte[]
{
0x01, 0x00, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0x08,
0x07, 0x00, 0x23, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00
});
And a few lines later, this immediately turns off all NMEA messaging via zeroing the associated UBX-CFG-MSG rates:
// turn off all nmea
for (int a = 0; a <= 0xf; a++)
{
if (a == 0xb || a == 0xc || a == 0xe)
continue;
turnon_off(port, 0xf0, (byte) a, 0);
}
Reference:
MissionPlanner/ExtLibs/Utilities/ubx_m8p.cs at master · ArduPilot/MissionPlanner (github.com)