Beat Küng
72f9371ca4
micrortps_client_main: remove unnecessary sleep(1);
...
... and some strange reformatting due to astyle...
2017-08-08 21:47:17 +02:00
Beat Küng
77785c01ef
micrortps_client.cpp.template: avoid 0-init & check result of orb_copy
2017-08-08 21:47:17 +02:00
Beat Küng
de8e0b54b6
micrortps_client_main: use new module documentation & check param range
2017-08-08 21:47:17 +02:00
Beat Küng
e7d19f0a1a
micrortps_client_main: add status command
2017-08-08 21:47:17 +02:00
Beat Küng
55f65b4aff
Tools/message_id.py: rename to uorb_rtps_message_ids.py for clarity
2017-08-08 21:47:17 +02:00
Beat Küng
98396a0bc5
frsky_telemetry: cleanup static vars, use less memory & fix process priority
2017-08-08 14:47:01 +02:00
Beat Küng
cb23817317
frsky_telemetry: send flight mode & gps info
...
This uses the TEMP1 & TEMP2 fields, which probably were used for something
else initially. However this implementation matches with OpenTX and APM.
2017-08-08 14:47:01 +02:00
Beat Küng
a2bfcb94ef
frsky_telemetry D protocol: refactor to use less memory & allocations
...
Also add the vehicle_gps_position & flight mode information
2017-08-08 14:47:01 +02:00
Beat Küng
9dea515eaa
frsky_telemetry S.Port: refactor to use less memory & allocations
2017-08-08 14:47:01 +02:00
Beat Küng
cf8b6a9de1
frsky_telemetry: use new module documentation
2017-08-08 14:47:01 +02:00
Beat Küng
4e5c6fc805
frsky_telemetry: fix heading for D protocol
2017-08-08 14:47:01 +02:00
Beat Küng
1d40336723
airframes parser: add dodecarotor image
2017-08-08 11:59:00 +02:00
Beat Küng
4ee9cb2e2f
px4airframes markdown: always use '/' for path separation
...
Because it's an URL and os.path.join() will use '\' on windows.
2017-08-07 11:12:51 +02:00
Beat Küng
a2ef611a30
dataman: improve error reporting
2017-08-04 18:08:51 +02:00
Beat Küng
45e185f8e3
mavlink: document verbose command
2017-08-04 18:08:51 +02:00
Beat Küng
843cb05ef4
mavlink_mission: fix send_mission_count: must always use MAV_MISSION_TYPE_MISSION
...
Because it's only used for missions
2017-08-04 18:08:51 +02:00
Beat Küng
34e31641ab
mavlink_mission: print mission_type on clear_all verbose output
2017-08-04 18:08:51 +02:00
Beat Küng
25cc64947a
mavlink_mission: add check for fence & safe point on regular mission upload
2017-08-04 18:08:51 +02:00
Beat Küng
b1730b67e4
mission: keep 'offboard mission updated' printf as a warning
...
Useful to see when a in-flight mission update happens from the log.
2017-08-04 18:08:51 +02:00
Beat Küng
fde1c061ed
fix mavlink_mission: mission_set_current message only applies to MISSION_TYPE_MISSION
...
and thus the current _mission_type does not matter.
2017-08-04 18:08:51 +02:00
Beat Küng
6d85a3c4e4
geofence: lock geofence items during a write transfers
...
- avoids race conditions when geofence data is updated in flight. During
a transfer, the geofence module will not check for violations, which
is done with the new dm_trylock method.
- there is an update counter stored in dataman, and for each write
transaction this is increased, so that the geofence module can reload
the data upon data change (after it's unlocked).
- single dm item updates are atomic already, so resetting the polygons
to 0 does not need locking.
2017-08-04 18:08:51 +02:00
Beat Küng
cb580c5268
navigator/mission.cpp: check result of dm_lock
...
and remove duplicated output, mavlink_log_critical already outputs to the
console
2017-08-04 18:08:51 +02:00
Beat Küng
3d3e6428c2
msg/geofence_update.msg: remove this topic
...
We'll use dataman to check for geofence data updates.
2017-08-04 18:08:51 +02:00
Beat Küng
72501df88e
dataman: add dm_trylock & add lock for FENCE_POINTS items
2017-08-04 18:08:51 +02:00
Beat Küng
1942641ff6
semaphore: add px4_sem_trywait
...
directly mapped to the posix method sem_trywait
2017-08-04 18:08:51 +02:00
Beat Küng
ed478f40fd
geofence: implement circular areas
2017-08-04 18:08:51 +02:00
Beat Küng
6667b6434b
mavlink_mission: replace warnx, add mission_type to verbose output
2017-08-04 18:08:51 +02:00
Beat Küng
cf3b068179
mavlink: add 'verbose [on|off]' command
2017-08-04 18:08:51 +02:00
Beat Küng
371586be2c
MAVLink: Add verbose command
2017-08-04 18:08:51 +02:00
Beat Küng
32491626b6
mavlink mission: set mission_type in mavlink_mission_count_t message
2017-08-04 18:08:51 +02:00
Beat Küng
401d6a1a6f
navigator status: print how many polygons there are currently loaded
2017-08-04 18:08:51 +02:00
Beat Küng
4c1328483d
geofence: disable altitude check if not configured
...
It currently cannot be configured via mavlink mission protocol.
2017-08-04 18:08:51 +02:00
Beat Küng
2981ece921
geofence: do not show an error for MAV_FRAME_GLOBAL_RELATIVE_ALT{,_INT} items
...
Since the altitude is not used, we can ignore this as well.
2017-08-04 18:08:51 +02:00
Beat Küng
e52491c023
geofence: there is no altitude for geofence vertices, remove the TODO
2017-08-04 18:08:51 +02:00
Beat Küng
c4cdaa48e0
dataman, mission_feasibility_checker: remove unneeded uorb includes
2017-08-04 18:08:51 +02:00
Beat Küng
82716012bd
geofence_update.msg: notify navigator on geofence update
2017-08-04 18:08:51 +02:00
Beat Küng
328e84117e
navigator geofence: switch to new dataman data structure, support multiple polygons
...
This also removes the 'navigator fence <lon> <lat>' command to simplify
code (I don't think there's still use for that anymore). However the
file loading is still supported.
If goefence.txt does not exist, navigator will not clear the geofence
anymore on startup.
2017-08-04 18:08:51 +02:00
Beat Küng
a987886ca3
mavlink: add fence & rally to protocol capabilities
2017-08-04 18:08:51 +02:00
Beat Küng
54d8e245c0
mavlink_mission: fix dm_read check
...
... and init to 0 is not needed, since already done in constructor
2017-08-04 18:08:51 +02:00
Beat Küng
b9cddfb75b
dataman: account for new geofence & rally point structs
2017-08-04 18:08:51 +02:00
Beat Küng
b8fb8c610e
mavlink_mission: implement geofence & rally point protocol
...
- retrieve & store the geofence & rally point data from/to dataman
- interleaved transmissions (of different types) are not possible. trying
to do so will NACK the new transmission
- only one storage backend for polygons & rally points (not alternating
between 2 as the mission does)
2017-08-04 18:08:51 +02:00
Beat Küng
40c696ff49
navigation.h: add dataman structs for fence & save points
2017-08-04 18:08:51 +02:00
Beat Küng
65e0d63ba6
commander: avoid duplicated publish, cleanup log output for offboard_mission update
...
- orb_advertise already publishes a struct, no need for orb_publish
- mavlink_log_critical goes to the console too
2017-08-04 18:08:51 +02:00
Beat Küng
7206bf86dc
navigator mission: fix printf log levels
2017-08-04 18:08:51 +02:00
Beat Küng
52ca49c682
geofence: remove fence & fence_vertex messages
...
- this was never read
- it was implemented wrong, leading to memory access violations in
publishFence (an integer was passed instead of the fence_s struct)
2017-08-04 18:08:51 +02:00
Beat Küng
e3b61f22f2
Tools/upload_log.py: use https
2017-07-31 14:15:28 +02:00
Beat Küng
6e4ba1196b
nuttx_px4fmu-{v1,v2}_default.cmake: disable sdlog2
...
Due to flash overflow
2017-07-29 23:10:47 +02:00
Beat Küng
b1215a6ddd
px4_shutdown_request: make sure we release the lock in every case
...
board_shutdown should not return, but just in case
2017-07-29 23:10:47 +02:00
Beat Küng
b89deaf8e3
tap-v1/tap_pwr.c: make sure to invoke the button notification on registering the cb
2017-07-29 23:10:47 +02:00
Beat Küng
c5a1d1928d
px4_shutdown_unlock: check that counter is > 0
2017-07-29 23:10:47 +02:00
Beat Küng
007b6dd8d7
commander: make sure the power_button_state topic is advertised on startup
...
Otherwise the publication from IRQ context won't work
2017-07-29 23:10:47 +02:00
Beat Küng
8923664f30
param: seek to the beginning of the file before re-trying a failed export attempt
2017-07-29 23:10:47 +02:00
Beat Küng
9d924bea3f
reboot command: add lock/unlock commands to test the shutdown lock
...
If needed it could be used in scripts as well.
2017-07-29 23:10:47 +02:00
Beat Küng
dcb5f80180
shutdown: increase the max timeout to 5s
...
To make sure slow param writes will finish before we hit the timeout. I've
seen param write durations of around 2s.
2017-07-29 23:10:47 +02:00
Beat Küng
931ef189b5
param: grab the shutdown lock while writing params to the file
2017-07-29 23:10:47 +02:00
Beat Küng
898a8dcd57
shutdown: add px4_shutdown_{lock,unlock} API methods
...
Prevents the system from shutting down.
2017-07-29 23:10:47 +02:00
Beat Küng
2815c62acf
fix power button shutdown: use an orb topic instead of a work queue call
...
px4_shutdown_request() was called from the power button IRQ callback, which
invoked a work queue callback. But on NuttX, the work queue uses a
semaphore, and thus it cannot be called from IRQ context.
This patch switches to publishing an uORB msg instead, which is handled in
the commander main thread.
To increase failure resistance, we could subscribe to the same topic in
another module for redundancy, in case commander runs wild.
2017-07-29 23:10:47 +02:00
Beat Küng
0109154c43
logger: avoid logging the UUID if the system does not provide it
...
The linux targets don't have it and setting a fixed constant causes
wrong vehicle associationss in Flight Review.
2017-07-24 09:01:02 +02:00
Beat Küng
a6c682ce50
mavlink_ftp: fix stack overflow & add root dir prefix
...
- change memory allocation from stack to a malloc'd buffer. This avoids
increasing the stack size. And since FTP is rarely used, the buffers
are only allocated upon use and freed after a time of 2s inactivity.
- adds PX4_ROOTFSDIR as root directory prefix. This does not change
anything on NuttX, but in SITL it will avoid enumerating the whole
disk tree when using QGC (which enumerates all files recursively).
2017-07-21 19:59:45 +02:00
Beat Küng
29f23a390f
mavlink_ftp: avoid using seekdir()
...
The provided argument payload->offset is in range [0, num_file_entries-1],
but seekdir might use a completely different range. It is not defined
by the API spec. It is only useful in conjunction with telldir().
2017-07-21 19:59:45 +02:00
Beat Küng
5a2723ab9c
test_mixer.cpp: remove bogus comments
2017-07-21 19:59:45 +02:00
Beat Küng
42f7e6bca3
px4_defines: make sure that PX4_ROOTFSDIR is a string
2017-07-21 19:59:45 +02:00
Beat Küng
ced700adf2
cmake px4fmu-v1 config: remove pwm_out_sim from build
...
To reduce flash space usage
2017-07-20 18:49:38 +02:00
Beat Küng
7fc20049e0
param_shmem import: don't fail on type mismatch
2017-07-20 18:49:38 +02:00
Beat Küng
88b515390a
flashparams import: don't fail on type mismatch
2017-07-20 18:49:38 +02:00
Beat Küng
2340e7073d
param import: don't fail on type mismatch
...
This can happen for example when a param type is changed from int32 to
float. The type check will then fail if the param is stored and the param
import will be aborted.
Now we just skip the entry and continue loading the rest.
2017-07-20 18:49:38 +02:00
Beat Küng
0668d61665
SYS_FMU_TASK: add param to start fmu as task (default=work queue)
2017-07-18 20:06:10 +02:00
Beat Küng
07b7a153f3
fmu: add ifdef for dsm_deinit()
2017-07-18 20:06:10 +02:00
Beat Küng
2193afd0a0
fix fmu: lower polling timeout to 5ms when running as task
...
With the previous value of 20ms, we dropped RC input when not armed. The
result was that some RC channels jumped randomly between min & max.
2017-07-18 20:06:10 +02:00
Beat Küng
e6adfa6b6b
fix fmu: call dsm_deinit() in destructor
...
This closes the fd and cleans up a static variable used in the dsm parser.
2017-07-18 20:06:10 +02:00
Beat Küng
1130bc129c
fix fmu: make sure init() is called on the new task
...
This was only a problem when running as a task not on the work queue.
The problem was that init() opened the RC serial device, which was then
read in the main loop, which is a different context when run as a task.
2017-07-18 20:06:10 +02:00
Beat Küng
56cc5e11cc
simulator: initialize sensor data buffers
2017-07-18 12:54:28 +02:00
Beat Küng
bb3b11e87a
battery.cpp: initialize _current_filtered_a
2017-07-18 12:54:28 +02:00
Beat Küng
bcca17204b
mc_pos_control_main: initialize _in_takeoff
2017-07-18 12:54:28 +02:00
Beat Küng
d419537a72
ekf2_main: initialize _mag_time_sum_ms & _balt_time_sum_ms
2017-07-18 12:54:28 +02:00
Beat Küng
c59d7baad8
replay: add backward compatibility for updated sensor_combined topic
2017-07-16 14:08:37 +02:00
Beat Küng
cef3a29ac9
refactor replay: split timestamp offset into separate method
2017-07-16 14:08:37 +02:00
Beat Küng
4ccbeb47c0
land_detector_main: fix documentation: rover -> ugv
2017-07-14 11:57:11 +02:00
Beat Küng
0949599f0a
dataman: fix compilation error
...
error: invalid conversion from ‘int’ to ‘dm_item_t’
and
error: no ‘operator++(int)’ declared for postfix ‘++’
2017-07-14 11:57:11 +02:00
Beat Küng
1c7941fc89
land_detector: fix too long lines in module documentation
2017-07-14 11:57:11 +02:00
Beat Küng
cf5df4489f
dataman: extend module documentation
2017-07-14 11:57:11 +02:00
Beat Küng
913cbc773e
px4moduledoc: extend validation: limit max line length to 120
2017-07-14 11:57:11 +02:00
Beat Küng
318c4497bd
dataman: fix typo
2017-07-14 11:57:11 +02:00
Beat Küng
620d37bc1c
fmu: remove tautology, fix pwm2cap2 mode for status
2017-07-14 11:57:11 +02:00
Beat Küng
8b64fc8a5e
Tools/px4moduledoc: add some comments, describe the regexes
2017-07-14 11:57:11 +02:00
Beat Küng
8a83fb7dc2
land_detector: use ModuleBase & add module documentation
2017-07-14 11:57:11 +02:00
Beat Küng
8d7481f9ac
load_mon: use ModuleBase & add documentation
2017-07-14 11:57:11 +02:00
Beat Küng
5aa8b455c2
crazyflie airframe: add maintainer
2017-07-14 11:57:11 +02:00
Beat Küng
69f0288649
aerofc airframe: RTF -> Ready to Fly Drone & add maintainer
2017-07-14 11:57:11 +02:00
Beat Küng
a63699060d
ekf2: use ModuleBase & add module documentation
2017-07-14 11:57:11 +02:00
Beat Küng
47073e9c32
vmount: add module documentation
2017-07-14 11:57:11 +02:00
Beat Küng
28e5268497
dataman: rename to .cpp & add module documentation
2017-07-14 11:57:11 +02:00
Beat Küng
682dabded1
replay: use module base class & add module documentation
2017-07-14 11:57:11 +02:00
Beat Küng
674ae5292e
markdown module doc script: write how to generate the modules documentation
2017-07-14 11:57:11 +02:00
Beat Küng
05b0c412c8
sensors: extend module doc a bit
2017-07-14 11:57:11 +02:00
Beat Küng
36c9400de4
gps: use ModuleBase class & add documentation
...
Note: it changes the interface slightly: instead uf -dualgps, use -e now.
This also fixes 2 bugs:
- nullptr access when doing 'gps status' with fake gps running
- close(fd) was called on an uninitialized fd when gps fake was running
2017-07-14 11:57:11 +02:00
Beat Küng
6463bd4f6f
sensors: use ModuleBase & add documentation
2017-07-14 11:57:11 +02:00
Beat Küng
5923a2e9d0
src/mainpage.dox: remove this file, it's not used anymore & completely outdated
2017-07-14 11:57:11 +02:00
Beat Küng
a43f135ad4
minor documentation updates to some commands
2017-07-14 11:57:11 +02:00
Beat Küng
7d50f3df0a
Makefile: add module_documentation target
2017-07-14 11:57:11 +02:00