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=]