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
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
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
Paul Riseborough
06ad477847
ekf2: publish vibration metrics
2016-10-22 12:03:05 +02:00
Julian Oes
2fff2ab9ac
Add switch for landing gear, pass it to actuators
2016-10-20 23:17:05 +02:00
Beat Küng
7ed81e5edb
simulator_mavlink: send MAV_CMD_SET_MESSAGE_INTERVAL to enable ground truth
2016-10-20 18:54:47 +02:00
Beat Küng
7415d94e12
mavlink: don't publish HIL_CONTROLS in HIL mode
...
it generates unnecessary load. If really needed, it can still be enabled
manually.
2016-10-20 18:54:47 +02:00
Beat Küng
3bb479f72e
ulog mavlink: use the px4_sem calls (needed for OSX)
2016-10-19 13:13:47 +02:00
Beat Küng
9272aa592a
logwriter: fix shadowing compiler warnings
2016-10-19 13:13:47 +02:00
Beat Küng
b2d45732c2
system_params: add missing crazyflie to the param description
2016-10-19 13:13:47 +02:00
Beat Küng
318c970477
mavlink ulog streaming: add rate limiting
...
This limits the maximum bandwidth of ulog streaming to 70% of the specified
mavlink datarate. If less is used, the leftover is assigned to the mavlink
streams, if more is used, it starts to drop.
mavlink status outputs the currently used rate, to check if a link is
saturated.
2016-10-19 13:13:47 +02:00
Beat Küng
8f5656f033
mavlink ulog: add target sys & component ids (update to changed mavlink message)
2016-10-19 13:13:47 +02:00
Beat Küng
326800e5a8
logger: increase stack size
...
evaluated with: logger start -e -t -m all
and then make sure to get an error printf in the mavlink writer backend,
eg. for an ack timeout.
2016-10-19 13:13:47 +02:00
Beat Küng
8e0d548f51
logger: increase default queue size for mavlink logging to 14
...
tested on Pixracer: 14 still produces some dropouts once in a while, but I
think it's a fair tradefoff between RAM usage & dropouts. The queue needs
about 3.5KB of RAM.
When topic sizes/logging rates change, this will have to be reevaluated.
2016-10-19 13:13:47 +02:00
Beat Küng
7d72f31a29
mavlink: integrate MavlinkULog into the main Mavlink task & receiver
2016-10-19 13:13:47 +02:00
Beat Küng
57d85de4d1
mavlink: add MavlinkULog class to receive ulog data from the logger
2016-10-19 13:13:47 +02:00
Beat Küng
f29a50df31
logger: add support for mavlink backend in Logger class, handle start/stop
2016-10-19 13:13:47 +02:00
Beat Küng
2dc59efbb6
logger: add mavlink write backend
2016-10-19 13:13:47 +02:00
Beat Küng
b233753e23
logger: don't exit if directory creation failed & mavlink mode enabled
2016-10-19 13:13:47 +02:00
Beat Küng
8ea38bc278
logger: better status output with configured backend mode
2016-10-19 13:13:47 +02:00
Beat Küng
7a60c1296e
logger: re-use subscribed topic id's, only set them once on first use
...
Will be necessary when using multiple backends in parallel.
2016-10-19 13:13:47 +02:00
Beat Küng
12ded377d1
refactor logger: add need_reliable_transfer flag, remove write_wait
2016-10-19 13:13:47 +02:00
Beat Küng
de20f1778e
logger: add -m <mode> and -q <queue_size> parameters, prepare for mavlink backend
2016-10-19 13:13:47 +02:00
Beat Küng
1ddddccb81
logger: move thread start/stop logic into LogWriterFile
2016-10-19 13:13:47 +02:00
Beat Küng
78f19fccce
replay: remove unneeded include <logger/logger.h>
2016-10-19 13:13:47 +02:00
Beat Küng
ccdaabc7fb
refactor logger: prepare for multiple write backends
2016-10-19 13:13:47 +02:00
Beat Küng
4e1a4440ca
logger: remove _enabled attribute and add LogWriter::is_started() instead
2016-10-19 13:13:47 +02:00
Beat Küng
c26e29d11c
logger: move writer_thread variable into function (never accessed outside)
2016-10-19 13:13:47 +02:00
Lorenz Meier
3696e7722a
Code style adjustments
2016-10-19 10:17:41 +02:00
Lorenz Meier
a12780c88f
Remove attitude setpoint matrix from attitude setpoint topic
2016-10-19 10:17:41 +02:00
Julian Oes
af5d2c488c
st24: fix RC lost detection based on error count
...
The packet_count was actually an error_count, therefore we should
process RC input only when the error_count since the last packet is 0.
Also, this commit fixes the RSSI scaling for st24.
2016-10-19 09:22:57 +02:00
Michael Schaeuble
062df05865
Add __PX4_POSIX_BEBOP define to PreflightCheck.cpp
2016-10-18 20:48:17 +02:00
Roman
7a7bf2205d
ekf2_replay: compute euler angles for logging
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-10-18 20:46:08 +02:00
Roman
7c2ebd96a0
lpe: remove usage of euler angles from attitude topic
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-10-18 20:46:08 +02:00
Roman
a978d61d9a
attitude message cleanup: more cleanup
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-10-18 20:46:08 +02:00
Roman
3faaeb06d1
attitude setpoint topic: cleanup of matrix class usage
...
Signed-off-by: Roman <bapstroman@gmail.com >
2016-10-18 20:46:08 +02:00
Lorenz Meier
ee314d2f50
Remove unused gx, gy, gz fields from attitude
2016-10-18 20:46:08 +02:00
Lorenz Meier
526fb8f515
Remove q_valid flag from attitude topic
2016-10-18 20:46:08 +02:00
Lorenz Meier
0bd42402fb
Sim: Remove euler angles
2016-10-18 20:46:08 +02:00
Lorenz Meier
13833e5fd6
LPE: Use euler angles derived from quaternion
2016-10-18 20:46:08 +02:00