* Rename NMEA heading to ground_course_deg
* Rename heading() utility to ground course (it was wrong)
* Add _rad prefix to be pedantic about units
* Add missing degrees conversion in NMEA because NMEA is not SI
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
* Implement DCOL command support for GSOF simulator
* Only send GSOF when enabled
* Publish only at the configured rate
* Only build GSOF packets when needed
* This saves CPU
* Make physics and read loop run at full rate
* The logic to rate-limit writes is now pushed to the backend
* Indent errors were fixed too
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
* This is needed to do active configuration quickly
* Read/Write split and exposed to ensure physics/write rate is still
coupled to avoid impacting the jamming and delayed data
* Created a utility to allocate the SITL instance
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
../../libraries/SITL/SIM_GPS.cpp: In member function 'void SITL::GPS::send_gsof(const uint8_t*, uint16_t)':
../../libraries/SITL/SIM_GPS.cpp:1292:24: error: 'AP_InternalError' has not been declared
1292 | INTERNAL_ERROR(AP_InternalError::error_t::flow_of_control);
this makes use of DRefs to greatly improve XPlane support. It only
supports XPlane 11 and later
The key change is the use of a JSON file to map ArduPilot output
channels to DataRefs, and map raw joystick inputs to RC inputs
this gets rid of the awful throttle hack handling, and allows for
control of a much wider range of aircraft
Without sv_info we don't get the correct ublox type, meaning we get the wrong lag time, meaning EKF2 gets rather more annoyed than it should when we do loops in SITL.