Commit Graph

19889 Commits

Author SHA1 Message Date
Erik Jähne ae2aeab5e4 HIL_STATE: publish control_state_msg when receive mavlink_hil_state_quaternion message 2016-10-28 08:38:18 +02:00
Carlo Wood 5b52cd0fe6 Compile fixes for old/unused targets.
These are some changes that I needed to compile
most of the unsupported targets.

After this all (make list_config_targets) compile
for me except: posix_eagle_muorb, posix_sdflight_default
and qurt_eagle_legacy_driver_default.
2016-10-26 14:00:52 +02:00
Andreas Antener 1999ed2601 Testing: use return value to check if controllib tests failed 2016-10-26 08:41:21 +02:00
Beat Küng a2c493efc7 fix vmount: initialize manual control for mavlink inputs 2016-10-26 08:40:23 +02:00
Paul Riseborough d37a927cdb ROMFS: enable use of px4flow sensor with pixracer 2016-10-25 20:31:46 +11:00
David Sidrane 7ae749090b Update NuttX submodule to use backport of ctype.h & cctype
This is the equivalent to Greg's upstream solution for ctype.h &
 cctype with the necessary shadow waning fix.
 It also deletes the Hack in pa4_defines.h
2016-10-25 08:39:09 +02:00
Mark Whitehorn 4cc97aa705 fix another bug in fmu mode 2016-10-24 18:22:18 +02:00
Beat Küng 95f5ba9635 fix mavlink_shell.py: python3 compat for octal numbers 2016-10-24 12:51:50 +02:00
Beat Küng cbbee30e48 log_writer_file: add include px4_posix.h (needed for stack size macro)
Failed with GCC 6.0.1, don't know why it worked before...
2016-10-24 10:22:48 +02:00
Beat Küng c8a79d2443 mc_pos_control_main: remove <functional> include
Avoid including <functional> which can cause problems on NuttX
2016-10-24 10:22:48 +02:00
Beat Küng 3029555016 uORBUtils: remove #include <string>
Avoid including <string> which can cause problems on NuttX
2016-10-24 10:22:48 +02:00
Beat Küng d0dace7c23 uavcan: use math::min instead of std::min
Avoid including <memory> which can cause problems on NuttX
2016-10-24 10:22:48 +02:00
Lorenz Meier f466913a32 Update MAVLink headers and adapter header to current master 2016-10-23 22:14:19 +02:00
Lorenz Meier f9abe39c3a DSM parser: Keep local copy of channel data 2016-10-23 19:58:52 +02:00
Lorenz Meier 3bed398a1e FMU: scan longer 2016-10-23 19:58:52 +02:00
Lorenz Meier 8d51e4ade1 MAVLink shell: Fix OS X default path 2016-10-23 17:46:22 +02:00
Lorenz Meier 05bc9acfb7 navigator: Wrap get time inside into function call and set time inside to zero
This ensures that the dual-use of the pitch_min / time_inside field is handled
properly between takeoff and non-takeoff items. Flight tested in SITL.
2016-10-23 16:26:03 +02:00
Lorenz Meier 5ddd69c872 Dataman: Make versioning define more explicit 2016-10-23 16:26:03 +02:00
Lorenz Meier c7cdef2a4b Clarify version flag for dataman 2016-10-23 16:26:03 +02:00
Lorenz Meier 0a4fedd778 Dataman: Use single method to infer file compatibility 2016-10-23 16:26:03 +02:00
Lorenz Meier 9e7d5f088e dataman: Ensure compat field is set and read correctly 2016-10-23 16:26:03 +02:00
Lorenz Meier ff0d7613b1 Add manual seed to dataman hash to allow later incrementing the seed number for incompatible changes 2016-10-23 16:26:03 +02:00
Lorenz Meier db774798fa Dataman: Store sizes of all containers and reset file if any of them changes. 2016-10-23 16:26:03 +02:00
Lorenz Meier c340974991 Ensure pitch min param is correctly handled 2016-10-23 16:26:03 +02:00
Lorenz Meier eaae1abdaf Simplify use of pitch_min 2016-10-23 16:26:03 +02:00
Lorenz Meier 9821499113 navigator / mission item: Compress fields into bitfield 2016-10-23 16:26:03 +02:00
Lorenz Meier 5899ce715d Navigator: Leverage overlapping fields in logic to save RAM by makeing them overlap in memory as well 2016-10-23 16:26:03 +02:00
Julian Oes 4160b65edb navigator: change default min takeoff alt to 2.5m
Fixedwing aircraft will override this with fw.defaults anyway.
2016-10-23 16:25:15 +02:00
Julian Oes 82f27884df navigator: fix wrong altitude after takeoff
This change fixes a wrong behaviour when a takeoff command is sent.

An example:
- MIS_TAKEOFF_ALT set to 10 meters
- Takeoff command with alt setpoint of 2 meters

Old behaviour:
1. Climb to 10 meters -> takeoff WP reached
2. Go to setpoint at 2 meters

New behaviour:
1. Climb to 10 meters and stay there but notify that altitude was
   overridden.
2016-10-23 16:25:15 +02:00
Julian Oes 032f4df3de mc_pos_control: revert gain change 2016-10-23 16:25:15 +02:00
Julian Oes dcd0df7d02 navigator: fix typo 2016-10-23 16:25:15 +02:00
Julian Oes 4f5fa50efb navigator: fix takeoff jump edge case
In the normal sitl `commander takeoff` case, the takeoff jump was never
actually carried out because the default altitude radius is set to 3m
and the takeoff altitude to ~2m which means that the takeoff waypoint is
"reached" immediately.

This works around this edge case by using the altitude between the home
altitude and takeoff altitude divided by 2 as a acceptance radius.
2016-10-23 16:25:15 +02:00
Julian Oes 72e46e7ed0 mc_pos_control: jump quicker
In SITL, it still takes a while until a vehicle lifts off, so it seems
sensible to raise this jump gain a bit.
2016-10-23 16:25:15 +02:00
Julian Oes ff415a4f1d mc_pos_control: correctly initialize landed state
Since orb_copy is guarded with a orb_check, we ended up not having the
corrent landed state in the beginning which could lead to some
unexpected behaviour on takeoff.
2016-10-23 16:25:15 +02:00
Pavel Kirienko 3a332bb11a Printing all online nodes within UAVCAN status output. This feature increased memory footprint by about 150 bytes. 2016-10-23 15:26:10 +02:00
Pavel Kirienko 9b0ab83f9b Fixed misuse of the preprocessor 2016-10-23 15:26:10 +02:00
Pavel Kirienko eff6a7b5d0 get_next_active_node_id() - starting from 0 2016-10-23 15:26:10 +02:00
Beat Küng 9448e0d673 vdev: remove wrong comment 2016-10-23 15:25:20 +02:00
Beat Küng f7d8612bc9 logger: enable all backends by default
This requires ~270B more RAM
2016-10-23 15:25:20 +02:00
Beat Küng 7c6d99d30f BlockParam: remove _extern_address and create a new class BlockParamExt for this
In most cases, _extern_address was unused, thus wasting cycles & RAM. This
adds a separate class BlockParamExt with the field and uses it in ekf2_main

Frees roughly 0.5KB of RAM on Pixracer
2016-10-23 15:25:20 +02:00
Beat Küng 09d8e4fd8c logger: reduce stack size, which got freed in 05a771152520
commit msg: 'logger: avoid uORB::Subscription, directly use orb_subscribe() instead'
2016-10-23 15:25:20 +02:00
Beat Küng 1bdad65849 uorb: reduce RAM usage by avoiding string copies
The lifetime of the string is guaranteed because we never delete
DeviceNode objects and the strings in question are already on the heap.

This frees roughly 2.2KB of RAM on Pixracer
2016-10-23 15:25:20 +02:00
Beat Küng 4da2ae2302 MavlinkOrbSubscription: optimize fields for size
reorder & reduce instance to uint8_t (which is more than enough).
Reduces sizeof(MavlinkOrbSubscription) from 40 to 24.

On Pixracer this frees almost 2KB of RAM
2016-10-23 15:25:20 +02:00
Beat Küng c50e4a6e21 uORB::DeviceNode: reduce the size of some members
The limits the maximum queue size to 255, which I think is ok for the
forseable future.

sizeof(uORB::DeviceNode) is reduces from 128 to 112 on NuttX, and with
~80 instances, this saves over 1KB of RAM.
2016-10-23 15:25:20 +02:00
Beat Küng 03c12c4c78 Device: use uint16_t for _open_count instead of int (save space) 2016-10-23 15:25:20 +02:00
Beat Küng a5e6f3213f Device: remove _irq_attached flag, test with _irq == 0 instead 2016-10-23 15:25:20 +02:00
Beat Küng 64df463a85 logger: avoid setting the interval for topics where not needed
Saves some RAM, although not much in that case. But all subscriptions
combined need ~1.5KB only for the interval data within uORB.
2016-10-23 15:25:20 +02:00
Beat Küng 7140914d38 logger: remove LoggerSubscription::time_tried_subscribe
Instead use a single timestamp for subscription checks. This frees up
~800B of RAM.

Also make sure the subscription checks are distributed over time. On each
update, at most 1 topic subscription is checked. Reduces the load of the
logger from 7.3% to 5.8% (Pixracer)
2016-10-23 15:25:20 +02:00
Beat Küng f244a78368 logger: avoid uORB::Subscription, directly use orb_subscribe() instead
This frees up ~160B stack size
2016-10-23 15:25:20 +02:00
Beat Küng 4120cd93df logger: make sure structs are properly aligned
ulog_message_info_header_s *msg = reinterpret_cast<ulog_message_info_header_s *>(buffer);
members of msg could end up unaligned, because of the uint8_t buffer.
2016-10-23 15:25:20 +02:00