The GPS simulation now mimicks the real driver more closely and should provide even GPS delays. The delays themselves are set by the simulator, and default to 120 ms for Gazebo
Instead of sending actuator controls from -1..1 for SITL, we should send
0..1 like we already do for HIL. This will enable negative thrust in the
future, e.g. for pusher props that spin backwards, or for vehicles with
variable pitch propellers.
add missing break
uorb topics generator: add multi-topics to the list of all topics
topic names with '# TOPICS <name>' were previously not in orb_get_topics().
This means the logger could not find them.
Affects for example actuator_controls_0.
px_generate_uorb_topic_files.py: add multitopics to generate_topics_list_file_from_files method
switch simulated attitude to new topic: vehicle_attitude_groundtruth
logger: add input_rc topic. needed for web plotting
input_rc.msg: remove timestamp_publication, use timestamp instead
mixer.cpp: warnx -> PX4_ERR
logger: initialize timer_call to 0 (hrt_call_every reads some fields)
position_setpoint_triplet topic: set the timestamp when publishing
px_generate_uorb_topic_files.py: add multitopics to generate_topics_list_file_from_files method
add vehicle_attitude_groundtruth to default topics
change to hil_state_quaternion
Ifdefed out deadcode in position_estimator_inav_main.c as the
deadcode does not compile for qurt.
Added fixes to get a successful build for posix-arm and qurt targets.
Removed CLOCK_REALTIME def from px4_time.h for qurt and removed unused
variables in att_est_q and mc_att_control.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The simulator was changed to publish the sensor data that is read
by the sensors module when the -p flag is passed.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Since the PX4 code uses both px4_task and pthread APIs,
px4_getpid() must be save to call from either context.
On posix, this means we have to always return the pthread ID.
Reverted simulator change of pthread to px4_task
There may have been side effects if this was build for a target that
has process/task scoped file descriptors. It is now safe to call
px4_getpid() from this pthread context with this change for the
posix build for px4_getpid().
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The simulator was using pthread APIs directly so calls to px4_getpid()
would fail since the task ID was not known. Changed simulator to use
px4_task_spawn_cmd.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
- wait for first message from jMAVSim
before sending data
- publish raw rc data coming from PIXHAWK (temporary)
- send some interesting messages to jMAVSim
- prepare sensor data for sim drivers to read
The existing orb_advert_t use thoughout the code sometimes tries
to treat it as a file descriptor and there are checks for < 0
and ::close calls on orb_advert_t types which is an invalid use
of an object pointer, which is what orb_advert_t really is.
Initially I had changed the -1 initializations to 0 but it was
suggested that this should be nullptr. That was a good recommendation
but the definition of orb_advert_t had to change to void * because
you cannot initialize a uintptr_t as nullptr.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
QuRT does not support UDP so moved the mavlink specific code
to a new file that is not built for the qurt target
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Simulator can work as before with -s flag or with Roman's additions to
publish the sensors combined topic using -p flag.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>