Julian Oes
2e78b6f2d4
Jenkins: use test board for unit test only
2018-12-22 10:32:18 +01:00
Julian Oes
3e452e2e72
boards: tone_alarm_sim was missing for test board
2018-12-22 10:32:18 +01:00
Julian Oes
6b37102b8e
Jenkins: use test board for unit and coverage test
2018-12-22 10:32:18 +01:00
Julian Oes
8faf28918c
sitl_gazebo: update submodule
...
This brings build fixes for Gazebo 7.
2018-12-22 10:32:18 +01:00
Julian Oes
ffb73f6496
platforms: fix redefinition for QURT
2018-12-22 10:32:18 +01:00
Julian Oes
aac7b8d7eb
platforms: fix NuttX build
2018-12-22 10:32:18 +01:00
Julian Oes
14e5ebbbbc
platforms: fix clock build for macOS (yet again)
2018-12-22 10:32:18 +01:00
Julian Oes
06c5037025
platforms: use CLOCK_MONOTONIC
...
For the non-lockstep case we want to use CLOCK_MONOTONIC if possible.
2018-12-22 10:32:18 +01:00
Julian Oes
d94748c831
Makefile: use px4_sitl_test board for make tests
...
This means that we can use the normal host scheduling (not lockstep) for
the unit tests.
In the future we might add unit tests using lockstep as well.
2018-12-22 10:32:18 +01:00
Julian Oes
547dd8511b
platforms: use define for lockstep scheduler
...
Instead of using the define __PX4_POSIX_SITL it makes more sense to have
a define just to determine if the lockstep scheduler should be used.
2018-12-22 10:32:18 +01:00
Julian Oes
73578a593f
simulator: bring -t argument back
...
The -t argument had been deleted because I didn't realize that it was
actually being used. Therefore, this brings it back and we now use -c
for TCP.
2018-12-22 10:32:18 +01:00
Julian Oes
f03e938953
sitl_gazebo: updated submodule
...
This fixes all world files at 250 Hz simulation rate.
2018-12-22 10:32:18 +01:00
Julian Oes
d0251581d3
samv7: fix include
2018-12-22 10:32:18 +01:00
Julian Oes
a7c2adc877
sitl_gazebo: update submodule
...
This brings support for TCP and lockstep.
2018-12-22 10:32:18 +01:00
Julian Oes
1b685de70d
simulator: raise timeout
...
This is not suposed to ever trigger anyway.
2018-12-22 10:32:18 +01:00
Julian Oes
8b2c47523f
simulator: set socket options after opening socket
2018-12-22 10:32:18 +01:00
Julian Oes
e4af97b11b
simulator: fix printf format
2018-12-22 10:32:18 +01:00
Julian Oes
564cae86b5
simulator: remove doubled tcgetattr call
2018-12-22 10:32:18 +01:00
Julian Oes
8a5e0558e4
simulator: improve a couple of error messages
2018-12-22 10:32:18 +01:00
Julian Oes
1165739a56
sensors: check other gyros on timeout
...
@bkueng reviewed this and found that it is dangerous to continue on
timeout because we don't update other gyro sensors in the timeout case.
2018-12-22 10:32:18 +01:00
Julian Oes
8e4296d000
parameters: remove unneeded usleep
...
According to @bkueng this was to schedule other processes but can now be
removed.
2018-12-22 10:32:18 +01:00
Julian Oes
5280a4aba1
platforms: prevent wrap-arounds in px4_sleep
...
@bkueng found that the old implementation was likely to wrap-around
given seconds is only a uint32_t. We now cast it directly to uint64_t
and therefore should fix this problem.
2018-12-22 10:32:18 +01:00
Julian Oes
4efe4b0d15
platforms: reorg after rebase on new board config
...
The new board config changed everything, so I needed to move the
lockstep_scheduler repo.
2018-12-22 10:32:18 +01:00
Julian Oes
b4382d4a71
DriverFramework: updated submodule
2018-12-22 10:32:18 +01:00
Julian Oes
185ddb2ab6
lockstep_scheduler: format to PX4 style
...
Consistency over taste :(.
2018-12-22 10:32:18 +01:00
Julian Oes
fb9f72d029
lockstep_scheduler: modernize warnings
2018-12-22 10:32:18 +01:00
Julian Oes
6d273f3bd8
px4_layer: modernize warnings
2018-12-22 10:32:18 +01:00
Julian Oes
85486e0469
platforms: let's try clockid_t as int
...
Who knows what this really is.
2018-12-22 10:32:18 +01:00
Julian Oes
f3aad419ac
DriverFramework: update submodule
...
Hopefully, we can fix the defines for macOS.
2018-12-22 10:32:18 +01:00
Julian Oes
c24f6ef943
platforms: lockstep_scheduler ain't no submodule
2018-12-22 10:32:18 +01:00
Julian Oes
7b43e96896
platforms: copied files from lockstep-scheduler
...
The files are copied from:
https://github.com/julianoes/lockstep-scheduler/
2018-12-22 10:32:18 +01:00
Julian Oes
3cbb2d8661
platforms: removed lockstep_scheduler submodule
2018-12-22 10:32:18 +01:00
Julian Oes
357870377a
platforms: try to get submodule checked out
2018-12-22 10:32:18 +01:00
Julian Oes
f36f85010c
simulator: fix casting warning on Windows
2018-12-22 10:32:18 +01:00
Julian Oes
393a665424
DriverFramework: update submodule
...
Fixes the unit test on macOS.
2018-12-22 10:32:18 +01:00
Julian Oes
e046a6255f
DriverFramework: update submodule
...
This brings a couple more build fixes.
2018-12-22 10:32:18 +01:00
Julian Oes
e41518a08b
platforms: clean up various build/linking issues
...
This makes sure lockstep is only built for SITL builds and fixes the
existing builds.
2018-12-22 10:32:18 +01:00
Julian Oes
23264fe579
kinetis: add missing include
2018-12-22 10:32:18 +01:00
Julian Oes
9724a84801
gitmodules: use https link for lockstep-scheduler
2018-12-22 10:32:18 +01:00
Julian Oes
8cbe26c6f6
platforms: fix linking issues for NuttX build
2018-12-22 10:32:18 +01:00
Julian Oes
a193e4117c
drv_hrt: update signature of ts_to_abstime
2018-12-22 10:32:18 +01:00
Julian Oes
d75389b2e4
platforms: consolidate latency_buckets
...
These symbols were duplicated all over the place.
2018-12-22 10:32:18 +01:00
Julian Oes
b13600ed1a
platforms: remove TODO
...
It turns out Mac OS X v10.11.6 (El Capitan) is still covered by security
updates at this time, so not end-of-lifed, so we might as well keep
these legacy things.
2018-12-22 10:32:18 +01:00
Julian Oes
22b584b3b4
simulator: fix TCP connection init on macOS
...
When `connect()` fails, the state of the socket is unspecified and we
need to close the it and create it again.
It turns out retrying connect worked on Linux but it didn't on macOS.
2018-12-22 10:32:18 +01:00
Julian Oes
b2f1a59164
DriverFramework: update submodule
...
This fixes the build on macOS.
2018-12-22 10:32:18 +01:00
Julian Oes
6ed6941aba
DriverFramework: update submodule
...
This fixes the SITL speedup for macOS.
2018-12-22 10:32:18 +01:00
Julian Oes
546f89aee7
lockstep_scheduler: update submodule
2018-12-22 10:32:18 +01:00
Julian Oes
876d4ebd76
posix: remove appalling errno hack
2018-12-22 10:32:18 +01:00
Julian Oes
66e7b4d578
posix: remove random lies
2018-12-22 10:32:18 +01:00
Julian Oes
11b7411bf8
platforms: cleaned up defines
2018-12-22 10:32:18 +01:00
Julian Oes
23acb77e2d
Tools: add PX4_SIM_SPEED_FACTOR as env variable
...
This adds the env variable PX4_SIM_SPEED_FACTOR to set the speed factor
to run SITL at.
2018-12-22 10:32:18 +01:00
Julian Oes
107606e757
simulator: set device_ids when publishing directly
...
Without setting the device_id, the preflight checks fail because the
calibration is not found.
2018-12-22 10:32:18 +01:00
Julian Oes
843033d530
platforms: remove unused function
2018-12-22 10:32:18 +01:00
Julian Oes
b436f3dd56
ROMFS/Tools: switch to TCP connection for SITL
...
This switches from UDP to TCP to connect to jMAVSim.
2018-12-22 10:32:18 +01:00
Julian Oes
6d7fb232dd
simulator: added TCP, general cleanup, lockstep
...
This adds the option to connect over UDP or TCP for mavlink to the
SITL simulator.
Also, this includes a bunch of general cleanup and refactoring of the
simulator interface code. For instance sending of mavlink messages was
put into separate functions and unneccessary comments were removed.
Also, this now sets the timestamp sent by the SITL simulator in the
HIL_SENSOR message in order to enable lockstep.
2018-12-22 10:32:18 +01:00
Julian Oes
cf39fdd37b
simulator: use usual type of timestamp
2018-12-22 10:32:18 +01:00
Julian Oes
9b7857315c
sensors: handle timeout
2018-12-22 10:32:18 +01:00
Julian Oes
22bd06e5d5
mc_pos_control: don't do orb_check on polled topic
...
When we poll on vehicle_local_position we shouldn't do yet another
orb_check but copy it first up.
2018-12-22 10:32:18 +01:00
Julian Oes
0e04d3e9a9
commander: remove lying comment
2018-12-22 10:32:18 +01:00
Julian Oes
e36e0b6ad0
posix: print warning before backtrace
2018-12-22 10:32:18 +01:00
Julian Oes
4ef0d74ea3
platforms: remove old lockstep functionality
...
These functions won't be used any longer with the new implementation.
2018-12-22 10:32:18 +01:00
Julian Oes
14642edfda
gps/devices: updated submodule
2018-12-22 10:32:18 +01:00
Julian Oes
cc7cae4e7f
DriverFramework: updated submodule
...
This fixes a race/lockup happening in the DriverFramework scheduler.
2018-12-22 10:32:18 +01:00
Julian Oes
7c93578b8b
jMAVSim: updated submodule
2018-12-22 10:32:18 +01:00
Julian Oes
a7e93bc2da
simulator: removed leftover (wrong) comment
2018-12-22 10:32:18 +01:00
Julian Oes
09595a1de9
dataman: left FIXME comment
...
We shouldn't be using module here.
2018-12-22 10:32:18 +01:00
Julian Oes
3f508c99fd
parameters: commented out strange usleep
2018-12-22 10:32:18 +01:00
Julian Oes
da9029274c
pwm_out_sim: always publish actuators
...
This is required so that the SITL simulator receives a feedback from
PX4.
2018-12-22 10:32:18 +01:00
Julian Oes
d1514cd667
POSIX: add defines system clock calls
2018-12-22 10:32:18 +01:00
Julian Oes
98ae0186e9
px4_sem: use px4_sem on all POSIX system
...
This uses the "fake" px4_sem based on mutex and condition_variable on
all POSIX system, not just macOS and Cygwin. This means that we can
change px4_sem_timedwait under the hood and inject the simulated time.
2018-12-22 10:32:18 +01:00
Julian Oes
3e6e1f5c2b
POSIX: use lockstep_scheduler to fake time
...
This integrates the lockstep_scheduler, so that the system time is set
by the mavlink HIL_SENSOR message.
This means that the speed factor is removed and the speed is entirely
given by the simulator.
2018-12-22 10:32:18 +01:00
Julian Oes
f0ce300744
platforms: move latency_buckets to perf.c
2018-12-22 10:32:18 +01:00
Julian Oes
6466e690fe
DriverFramework: update submodule
2018-12-22 10:32:18 +01:00
Julian Oes
4af0c939ec
lockstep_scheduler: update submodule
2018-12-22 10:32:18 +01:00
Julian Oes
fa8ac612ab
POSIX: use C++ for drv_hrt (file was renamed)
2018-12-22 10:32:18 +01:00
Julian Oes
5df333fa96
POSIX: include lockstep_scheduler in build
2018-12-22 10:32:18 +01:00
Julian Oes
6a78212a6b
jMAVSim: update submodule
2018-12-22 10:32:18 +01:00
Julian Oes
d295320e82
sitl_run.sh: lower rate for jMAVSim to 250 Hz
...
This should be enough for now, especially when we want to raise the
speed of the simulation.
2018-12-22 10:32:18 +01:00
Julian Oes
5ff3c40179
Added lockstep_scheduler as submodule
...
This is just an intermediate step until we can copy the sources over.
2018-12-22 10:32:18 +01:00
Julian Oes
fa31d95fd8
Renamed drv_hrt.c to drv_hrt.cpp
2018-12-22 10:32:18 +01:00
Julian Oes
db6de38b19
Work in progress to support a speed factor in SITL
...
These contains some rough changes trying to get SITL to speed up by a
SPEED_FACTOR.
This platform time code probably requires some more thought and refactor
but this gets a demo at 4x working.
2018-12-22 10:32:18 +01:00
Julian Oes
82a88d6a53
jMAVSim: update submodule for new -f argument
...
This adds the argument -f for a speed factor to speed up the simulation.
2018-12-22 10:32:18 +01:00
Julian Oes
d70b0f1c8c
Replace sleep with px4_sleep
...
This is another step to isolate time from the system.
2018-12-22 10:32:18 +01:00
Julian Oes
3f695870a4
Replace usleep in GpsDrivers
2018-12-22 10:32:18 +01:00
Julian Oes
5b9dea5604
Replacing usleep with px4_usleep
...
This is a step towards isolating time from the system.
2018-12-22 10:32:18 +01:00
Julian Oes
e485885344
platforms: remove unused Rate class
2018-12-22 10:32:18 +01:00
Julian Oes
35f2c39f30
ROMFS: remove leftover CMakeLists.txt files
...
These files are copied by accident and then discovered by shellcheck.
2018-12-19 07:36:43 +00:00
Julian Oes
63ee101c51
rcS: fix exit value
...
Shellcheck complained about returning -1 because that's essentially 255.
2018-12-19 07:36:43 +00:00
Julian Oes
3ebf030a02
ROMFS: change shebang from #!zsh to #!/bin/sh
...
This was required for shellsheck.
2018-12-19 07:36:43 +00:00
Julian Oes
d265aaab41
ROMFS: don't forget to prune rc.board
...
The startup file rc.board is copied to the build/../genromfs folder
after the pruning of the files happened. Thus, about 2000 bytes of
comments and whitespace were included in the ROMFS.
This commit moves pruning of the files in ROMFS to a separate cmake
custom command which happens after the ROMFS files have been copied and
the extra files have been added.
Testing showed that this change only affected the rc.board file as
expected.
2018-12-19 07:36:43 +00:00
Julian Oes
dcd12b5f9d
sitl_gazebo: update submodule to latest master
2018-11-27 19:22:37 -05:00
Julian Oes
62188f6151
px_romfs_pruner.py: PEP8 and comments fixes
2018-11-20 15:16:54 +01:00
Julian Oes
177d14c8ea
px_romfs_pruner.py: remove deprecation warning
...
The open flag `U` causes a deprecation warning starting with Python 3.4.
The option to open all kinds of newlines as `\n` has been replaced with
the argument `newline=None`. However, this argument is not available for
Python 2 unless we use `io.open` instead of `open`.
2018-11-20 15:16:54 +01:00
Julian Oes
d7c34ddee4
mavlink: fix yawing to North for LOITER_TIME ( #10828 )
...
* mavlink: yaw should wrap at 2 pi, not pi
* mavlink: use newer rad/deg conversion
2018-11-13 14:32:40 -05:00
Julian Oes
428c2f72bd
mavlink: always acknowledge a param write
...
This change has two effects:
1. We always acknowledge a param write no matter if the value was
actually changed or not. This is according to the spec:
https://mavlink.io/en/services/parameter.html#write-parameters
2. This fixes the bug where int32 parameters were not actually acked
because the memory of the param value was casted directly to float
and then compared. In the case of a int32 parameter set from 0 to 1
it would mean that the cast to float of the memory representation
was still 0 and therefore it was assumed to be "no change" and the
ack was omitted.
2018-11-01 00:06:22 +01:00
Julian Oes
39e0a39224
uavcan: update submodule
...
This fixes the build with Python 3.7.
2018-10-04 13:46:17 +02:00
Julian Oes
9f7f30a166
jmavsim_run.sh: fall back to Java 9 on macOS
...
This checks if we are on macOS and if we have Java 8 installed. If yes,
it falls back to Java 8 by setting JAVA_HOME.
This avoids https://github.com/PX4/jMAVSim/issues/81
2018-09-16 17:40:27 -04:00
Julian Oes
fec3422f54
jmavsim_run.sh: fix shebang and exit on error
2018-09-16 17:40:27 -04:00
Julian Oes
1789083ab3
jMAVSim: update to latest master
...
This should resolve the issues with Java 9/10.
2018-09-16 17:40:27 -04:00
Julian Oes
a9070ce6e6
sitl_run.sh: fix process grep for jMAVSim
...
It seems that the oneline to find the process ID of any running jMAVSim
instance was not working correctly.
1. On Linux, the name of the process does not contain Simulator but
jmavsim_run.jar. Also, it triggers incorrectly, if you have opened
Simulator.java using the command line :).
2. The cutting to get the PID at the end does not work as intenteded and
gives the username instead of PID, at least on Arch Linux. Using awk
should fix this.
2018-09-11 14:09:41 +02:00