GCC 9 complained about stringop-truncation which is a cautionary message
to prevent using strncpy with non-null terminated strings.
We can fix this by copying one byte less than the destination size and
then manually adding the null termination, as we already do.
When simulating with lockstep we can raise the speed by setting the env
variable `PX4_SIM_SPEED_FACTOR`. Some inputs like RC, MAVLink heartbeats
from a ground station, or offboard controls via MAVLink are still at the
normal speed which leads to timeouts getting detected in PX4.
To work around this issue we can automatically multiply the timeout
parameters by the speed factor.
This fixes the IDs of multi UAVs started with ROS/Gazebo.
Previously the 3 vehicles were displayed in QGC as Vehicle 2, 3, 4.
With this change it is more intuitive Vehicle 1, 2, 3 and this is
also consistent with the way it is documented and how it is in
jMAVSim.
Example: Before when you passed "make tests TESTFILTER=Attitude"
and subsequently "make tests TESTFILTER=Atti" it found the string
"TESTFILTER=Atti" in "TESTFILTER=Attitude" and hence the check if
the configuration is already correct passed. The fix checks for
the configuration parameter including the subsequent space separator
and after that strips the space away again such that the list
VERIFIED_CMAKE_OPTIONS doesn't contain trailing spaces.
visibility.h is included globally in PX4 via cmake compile flags.
It contains poisoning the exit() command which is used by gtest
to close the test application. Removing the flag for gtest compilation
fixes the compile error:
gtest.cc:4757:7: error: attempt to use poisoned "exit"
* VTOL trans: changed that now in transition for both MC and FW the corresponding (correct) attitude controller is running
* attitude setpoint for stabilized mode is generated by tailsitter.cpp
* reset yaw setpoint during transition to avoid big yaw errors after
transition back to hover
* VT_TYPE parameter: added "reboot required" metadata
To be able to still infer the direction of the thrust vector we
limit it to a minimal length even if MPC_THR_MIN is set to zero.
Note: This is a hotfix for certain specific applications.
The direction of the thrust vector in this corner case is very
likely to get into the tilt limit which is generally undesired.
A low gyro cutoff is needed for most medium/large size drones as the structural natural and blade-pass frequencies are low.
A higher value is still desirable for small platforms surch as racers
or well isolated autopilots and should be tuned by the user.
Specific values for config files are untouched.
The cutoff filter for the D term is disabled here as the required
cutoff frequency for the default D term of the rate controller is higher
than the gyro cutoff. In that case, enabling the D term cutoff would
just add some undesired phase lag to the derivative.
- jMAVSim in PX4/Firmware (7ec6f0dca6): 79586deda5
- jMAVSim current upstream: ae1593d0c8
- Changes: 79586deda5...ae1593d0c8
ae1593d 2019-04-30 Julian Oes - Merge pull request #100 from PX4/fix-port-default
9de8f86 2019-04-29 Julian Oes - Simulator: fix default for QGC and SDK link
d42efaf 2019-04-29 Julian Oes - Merge pull request #99 from PX4/pr-add-sdk-port
7d0bebb 2019-04-26 Julian Oes - Simulator: fix copy paste mistake
a94816e 2019-04-26 Julian Oes - Simulator: add MAVLink UDP port for SDK
6a9634b 2019-04-26 Julian Oes - Visualizer3D: ran fix_style.sh
When sih (simulation in hardware) was compiled for Snapdragon, we got
the linking problem below. I'm not sure why, supposedly the symbol
`double sin(double)` is missing.
undefined PLT symbol _LSin (705) /libpx4.so (symbol.c:303)
This fixes a potential dead-lock when 'uorb status' was used via MAVLink
shell.
The dead-lock chain is: DeviceMaster::lock() -> printf -> output to a pipe,
which blocks until a reader reads the data. In that case it's mavlink.
If mavlink makes a call that requires DeviceMaster::lock() (such as
orb_exists), it dead-locks.
This patch moves all printf's out of the locked state.