Commit Graph

18259 Commits

Author SHA1 Message Date
Beat Küng
da1e63eaf3 logger: fix resource leaks in LogWriter 2016-05-14 11:27:07 +02:00
Julian Oes
d3a9930b50 logger: get paths working on Snapdragon 2016-05-14 11:27:07 +02:00
Beat Küng
a0beef3204 logger: output error on failed to get log file name 2016-05-14 11:27:07 +02:00
Beat Küng
693703de1e logger: initialize logger_ptr with null 2016-05-14 11:27:07 +02:00
Beat Küng
cfa491467e logger: fix 'logger stop' when nothing has been logged yet
when executing 'logger stop' and the logger did not log yet, _running was
false, so log_writer thread would never exit.
2016-05-14 11:27:07 +02:00
Beat Küng
d7f0808316 logger: create _vehicle_status_sub & _parameter_update_sub on stack
Since it's only used in run().
2016-05-14 11:27:07 +02:00
Beat Küng
4f0573d612 logger: reset _write_dropouts after status output 2016-05-14 11:27:07 +02:00
Beat Küng
6e7c605279 Tools/px_generate_uorb_topic*: combine the src & header generators into one script 2016-05-14 11:27:07 +02:00
Beat Küng
093eece29b orb message templates: move common code into px_generate_uorb_topic_helper.py
This also greatly speeds up the generators.
2016-05-14 11:27:07 +02:00
Beat Küng
797d0f24d6 reformat orb message templates 2016-05-14 11:27:07 +02:00
Beat Küng
d5dcbf01d0 logger: add copyright to files 2016-05-14 11:27:07 +02:00
Beat Küng
04f301619f refactor LogWriter: remove friend class Logger and use the public interface 2016-05-14 11:27:07 +02:00
Beat Küng
dde96dd4d7 logger: allocate _vehicle_status_sub & _parameter_update_sub on the logger thread
This makes sure the file descriptors are closed in the right thread.
Before on NuttX, when stopping the logger, orb unsubscribe failed due to
this.
2016-05-14 11:27:07 +02:00
Beat Küng
7d42a648f0 logger: make sure the buffer is at least 300B larger than _min_write_chunk
We always write larger chunks (orb messages) to the buffer, so the buffer
needs to be larger than the minimum write chunk
2016-05-14 11:27:07 +02:00
Beat Küng
9a02dbdd66 logger: extend status ouput, disable DBGPRINT for now 2016-05-14 11:27:07 +02:00
Beat Küng
4ce658ab99 logger: move _writer.lock() call after write_changed_parameters()
write_changed_parameters() also takes the lock and thus would deadlock
otherwise.
2016-05-14 11:27:07 +02:00
Daniel Agar
3de7fbb0a9 logger and uORBTest_UnitTest astyle 2016-05-14 11:27:07 +02:00
Beat Küng
1edf03767a logger: KB/s -> kB/s 2016-05-14 11:27:07 +02:00
Beat Küng
eabc43d78c orb structs: add padding bytes to align the structs where necessary
This is required for the logger, we just manually add the padding bytes
what would otherwise be done by the compiler. Additionally we reorder
the fields by type, so that padding is only necessary for nested types.
2016-05-14 11:27:07 +02:00
Beat Küng
7d4c4c0401 px_generate_uorb_topic_sources.py: add search_path to the environment 2016-05-14 11:27:07 +02:00
Daniel Agar
69c1ce1714 WIP logger serialization 2016-05-14 11:27:07 +02:00
Beat Küng
8f5cb4084d logger: use non-scientific format for status output 2016-05-14 11:27:07 +02:00
Beat Küng
4edc0d9ea9 fix logger: add forgotten unlock in Logger::write_info 2016-05-14 11:27:07 +02:00
Beat Küng
63bd2cebf9 refactor logger: add a write_wait method to avoid code duplication 2016-05-14 11:27:07 +02:00
Daniel Agar
768e5ab66f adc_report remove timestamp 2016-05-14 11:27:07 +02:00
Mark Whitehorn
c7e7026f47 remove code obsoleted by move of log buffer 2016-05-14 11:27:07 +02:00
Mark Whitehorn
4e50f271d6 use C99 print format for size_t 2016-05-14 11:27:07 +02:00
Mark Whitehorn
26596dbe15 fix infinite loop when not logging 2016-05-14 11:27:07 +02:00
Beat Küng
f40afac448 logger: fix 'Undefined symbols for architecture x86_64' on clang for _min_write_chunk 2016-05-14 11:27:07 +02:00
Beat Küng
dae12f1238 mathlib: replace math::{min,max,constrain} with template methods 2016-05-14 11:27:07 +02:00
Beat Küng
7055d3c929 fix tecs.cpp: use UINT64_C for uint64_t constant instead of UUL 2016-05-14 11:27:07 +02:00
Beat Küng
3dade23e39 logger: fix _min_write_chunk comparison and set file descriptor after closing it 2016-05-14 11:27:07 +02:00
Beat Küng
8b5a325644 logger: remove _log_buffer from Logger, initialize it in the writer instead
it's not used in the logger, so don't store it there. It is accessed via
LogWriter::write.
This also makes sure the buffer size is >= _min_write_chunk and handles
allocation failure properly.
2016-05-14 11:27:07 +02:00
Beat Küng
04f38b9197 fix Logger::add_topic: 0 is a valid file descriptor 2016-05-14 11:27:07 +02:00
Beat Küng
d0d2664efa logger: use %zu to print type size_t, use PX4_INFO instead of printf 2016-05-14 11:27:07 +02:00
Beat Küng
dd22445768 Logger::add_topic: error handling if orb_subscribe or _subscriptions.push_back fail 2016-05-14 11:27:07 +02:00
Beat Küng
e9f257c15f logger: fix wrong default buffer size in usage string 2016-05-14 11:27:07 +02:00
Beat Küng
84015e5c01 logger: proper error handling if writer thread creation fails 2016-05-14 11:27:07 +02:00
Mark Whitehorn
72263eaa97 correct msg_size offset to 3 for all records (must be same) 2016-05-14 11:27:07 +02:00
Mark Whitehorn
9dbbe8cd8d log changes to parameters 2016-05-14 11:27:07 +02:00
Mark Whitehorn
e5e523aa9e size_t is different in posix build 2016-05-14 11:27:07 +02:00
Mark Whitehorn
fb4d72df86 write git and hw version records to log 2016-05-14 11:27:07 +02:00
Mark Whitehorn
90ce04654d fix posix build 2016-05-14 11:27:07 +02:00
Mark Whitehorn
02b6d25414 non-posix NuttX feature? 2016-05-14 11:27:07 +02:00
Mark Whitehorn
89294317a1 reduce log buffer to 24K 2016-05-14 11:27:07 +02:00
Mark Whitehorn
8a77fec9c8 still need this workaround to avoid hardfault 2016-05-14 11:27:07 +02:00
Mark Whitehorn
db858a853a run astyle 2016-05-14 11:27:07 +02:00
Mark Whitehorn
1b483bcc2a correctly report failure to allocat log_buffer 2016-05-14 11:27:07 +02:00
Mark Whitehorn
f07c93651f clean up file open/close logic 2016-05-14 11:27:07 +02:00
Mark Whitehorn
56cc9bd377 my topics 2016-05-14 11:27:07 +02:00