WIP: Propose an interface for NMEA configuration
Based on the discussion in merge request !312 (merged) with @aleksm, here is an initial proposal for an interface for NMEA configuration through ModemManager. The ModemLocation interface has a new "SetupNmeaSettings" method that takes a dictionary as an argument, and the current settings can be read from the "NmeaSettings" property with the same dictionary.
Supported properties are
- rate: uses the same name as the Modem.Signal Setup() method, but modems now commonly support an output rate greater than 1/second so I changed the units to milliseconds (the Quectel EC25 and EG95 I've been using go up to 10 Hz)
- constellations: a bitmask using a new enum I'm calling MMModemLocationConstellation that would include GPS, Galileo, Glonass, and Beidou
- types: array of NMEA sentence types
Once the interface is agreed upon I can start work on the implementation.