AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.
For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer. Ideally these
should be moved to an init() method though, or use a get_instance().
Make DataFlash correctly save the git version. We should think about a
better solution, like it was done on GCSMavlink, but this is the minimal
change to make it possible to move includes of version.h to their
respective users.
Make the method use the getter directly to get a reference of
AP_FWVersion and work out everything that needs to be sent. This allows
us to remove ifdefs and replace with runtime if/else.
Note that there's also a bug fix: we were not setting flight_custom_version
to zero in case GIT_VERSION wasn't defined.
On Linux (and in most of posix-like systems) the baudrate set in struct
termios via cfset[io]speed is actually the index of the standard
baudrates, it's not the baudrate per se (hence the use of B* macros).
On Linux it's possible to set the baudrate by passing the baudrate
itself to TCSETS2 ioctl. Unfortunately it's not possible to include
asm/termbits.h and termios.h in the same compilation unit, so we need to
split it. Here we split into a Linux and a NuttX implementation.
The following is a Barometer sensor driver for the LPS25H Barometer that
is integrated in the 96Boards STM32 Sensor mezzanine board.
the update includes the .cpp and .h files of the driver as well as the
updates required in AP_Baro.cpp.
All of the init strings that were sent in the NMEA driver are for GPS protocols
which have binary drivers, which provide far more features and are more robust.
It also appears that due to driver changes the config strings for SIRF/UBLOX
were no longer correct anyways).
The mavlink message field SYSTEM_TIME.time_unix_usec works fine with GPS_AUTO_SWITCH == 0 (no switch) or ==1 (usebest)
But when GPS_AUTO_SWITCH == 2 (blend) then state[GPS_BLENDED_INSTANCE].last_gps_time_ms gets initialized with 0 and never rewritten.
The consequence: SYSTEM_TIME.time_unix_usec gets stuck at zero.
The solution: Do not reset state[GPS_BLENDED_INSTANCE].last_gps_time_ms because it would overwrite the correct value already set on line 1149
Commit b9877e0d38
(GCS_MAVLink: make per channel perf counter non-static) made the
perf counters to be available per instance but missed the fact that
the perf infra doesn't copy the string.
Fix this by maintaining a the string inside the object.
It's not being sold, there are just a few (different) engineering
samples built and there are no plans for this to go forward for people
that were pushing it.
remove overlapping prunable loops (keeps longest loop)
replace use of Bitmask calls with flag
restart_pruning protection against overflow
remove argument to reset_simplification and reset_pruning
fix setting _simplify.path_points_completed
fix add_loop - compare length of new loop to sum of all existing loops that would be
replaced
add program error protection - an overflow of the path_points_count index is dangerous so although it should never happen, if it does, deactivate
reduce the simplify and prune path-points-completed numbers as points are popped off the path so that if the user aborts the SafeRTL simplification and pruning process any new points added aftwards
- ACCURACY parameter description
- SafeRTL comments reduced to fit 80 characters
- moved a Comment down a line
- renamed definition to SAFERTL_PRUNING_LOOP_TIME_US
- comment change of "algorithm" to "algorithms"
- removed destructor (same could be done for AP_Airspeed then)
- updated GCS message to, "failed to save initial point"
- "update" comment modified from "a couple" to "several"
- added "const" ahead of "now = AP_HAL::millis()"
- added new deactivate method
- const run_background_cleanup's path_points_count
- removed unnecessary "return } else {"
- const potential_amount_to_simplify
- s/as/has in comments
- zero_points_by_simplify_bitmask starts from path[1] so as to never remove the start point
- remove_empty_points gets for loop in place of while, inverted clauses
- clarified dist_point returns value FLT_MAX in distance field
- lots of "const" added to segment_segment_dist, removed unnecessary else
- reference in Log_action. Can't do it because want default
- ::update() comments add "3hz"
There's an implicit (apart from the name) dependency between SPI and
SPIUARTDriver which results in a crush on a restart or a shutdown.
By moving the initialization we're making sure that all objects are
deleted in the right order.
_export_path and _duty_path will have been already long time gone by the
time dtors kick in.
Probably better to use OwnPtr around those. But it's better to be done
in a separate PR.
Program received signal SIGFPE, Arithmetic exception.
__expf_finite () at ../sysdeps/x86_64/fpu/e_expf.S:132
132 ../sysdeps/x86_64/fpu/e_expf.S: No such file or directory.
(gdb) u
These have been caught by making constructors private and enforcing
calling a create() method to create objects are supposed to be
statically allocated only.
The Vector3f reference was just nearby and was a change copied from
similar PR from Peter Barker (#6873).
../../libraries/AP_Terrain/TerrainIO.cpp: In member function ‘void
AP_Terrain::open_file()’:
../../libraries/AP_Terrain/TerrainIO.cpp:176:46: warning: format ‘%u’
expects argument of type ‘unsigned int’, but argument 5 has type
‘__gnu_cxx::__enable_if<true, double>::__type {aka double}’ [-Wformat=]
abs((uint32_t)block.lon_degrees));
^
../../libraries/AP_Terrain/TerrainIO.cpp:176:46: warning: format ‘%u’
expects argument of type ‘unsigned int’, but argument 7 has type
‘__gnu_cxx::__enable_if<true, double>::__type {aka double}’ [-Wformat=]