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
Lorenz Meier
296b07f9d8
Update Gazebo plugin to fix plane model
2016-10-23 14:21:50 +02:00
Julian Oes
3aa9a72562
mavlink_shell.py: default to 57600 baudrate
2016-10-23 14:00:29 +02:00
Paul Riseborough
06ad477847
ekf2: publish vibration metrics
2016-10-22 12:03:05 +02:00
Paul Riseborough
79ec263b1e
msg: Change definition for un-used vibration monitoring variable
...
Makes the message more useful in comparing the types of vibration likely to cause numerical errors and matches the update ecl library interface.
2016-10-22 12:03:05 +02:00
Paul Riseborough
6a3b147477
ecl: update library reference
...
Adds reporting of IMU coning and high frequency vibration levels
2016-10-22 12:03:05 +02:00
David Sidrane
a2ad92b2d7
Bugfix: Hard Fault hmc5883 with not params
...
Fault results from if (!strcmp(verb, "start")) {``` with null verb
2016-10-22 11:54:38 +02:00