Commit Graph

508 Commits

Author SHA1 Message Date
Andrew Tridgell 63e45a3910 AP_Logger: added LOG_DISARMED=3
when LOG_DISARMED is set to 3 then we log while disarmed but if we
reboot without ever arming the log is discarded. This allows for using
LOG_DISARMED without filling the microSD.
2023-04-14 07:48:24 +10:00
Andrew Tridgell 3b4f5d77af AP_Logger: use AP_Enum for log_disarmed 2023-04-14 07:48:24 +10:00
Peter Barker 6eda22e7de AP_Logger: do not rotate logs when disarming if we are replay-logging 2023-04-14 07:47:33 +10:00
Peter Barker 3ba349fdb6 AP_Logger: add and use RC_Channel_config.h 2023-03-22 14:25:09 +11:00
Peter Barker e715e1e14e AP_Logger: factor Write_PSC[NED] methods to save bytes 2023-03-10 14:47:33 -08:00
Peter Barker e25d6bb8e4 AP_Logger: rename HAL_SCHEDULER_ENABLED to AP_SCHEDULER_ENABLED
there's AP_HAL::Scheduler which confuses this
2023-02-28 11:26:04 +11:00
Iampete1 a4f1951780 AP_Logger: add outout throttle to MOTB message 2023-02-28 11:06:32 +11:00
Peter Barker a471d5a9b7 AP_Logger: add @FieldValueEnum for rangefinder status
will add meaning to Wiki and log analysis tools

--- LogMessages.rst-master	2023-02-11 14:03:51.204650105 +1100
+++ LogMessages.rst	2023-02-11 14:04:32.297022568 +1100
@@ -4764,6 +4764,20 @@
 | Dist     | Reported distance from sensor                 |
 +----------+-----------------------------------------------+
 | Stat     | Sensor state                                  |
+|          | Values:                                       |
+|          |                                               |
+|          | +----------------+---+--+                     |
+|          | | NotConnected   | 0 |  |                     |
+|          | +----------------+---+--+                     |
+|          | | NoData         | 1 |  |                     |
+|          | +----------------+---+--+                     |
+|          | | OutOfRangeLow  | 2 |  |                     |
+|          | +----------------+---+--+                     |
+|          | | OutOfRangeHigh | 3 |  |                     |
+|          | +----------------+---+--+                     |
+|          | | Good           | 4 |  |                     |
+|          | +----------------+---+--+                     |
+|          |                                               |
 +----------+-----------------------------------------------+
 | Orient   | Sensor orientation                            |
 +----------+-----------------------------------------------+
2023-02-13 08:34:58 +11:00
Peter Barker 42b784b581 AP_Logger: add unit 'y' for litres/second 2023-02-02 11:42:04 +11:00
Peter Barker 0320f18ef9 AP_Logger: include litres in unit list 2023-02-02 11:42:04 +11:00
Iampete1 b238ed8dd9 AP_Logger: Split MCU montering into new log message, nan if VCC and servo voltge not avalalbe 2023-01-31 15:43:50 +11:00
Peter Barker c25720a47e AP_Logger: use FieldBitmaskEnum and FieldValueEnum 2023-01-25 19:50:34 +11:00
Peter Barker 96f359b4e3 AP_Logger: avoid logging duplicate FMT/UNIT/FMTU/MULT messages
Failing due to being out of time meant we wouldn't incremement the counter, even though we'd emitted the item.

it is important we try to send something, so move this check to be after we increment whichever counter we are using.
2023-01-18 10:09:43 +11:00
Peter Barker 6524bf3729 AP_Logger: create and use AP_Logger_config.h 2023-01-03 11:24:14 +11:00
Paul Riseborough fd7c4bc841 AP_Logger: Add option to disable disarmed logging on USB connection
AP_Logger: Update LOG_DISARMED parameter description
2022-12-15 10:38:15 +11:00
Peter Barker ee908e8df2 AP_Logger: include PIDInfo header in place of PID header
AC_PID.h includes a remarkable amount of stuff
2022-12-14 22:21:27 +11:00
Randy Mackay c258d1b32c AP_Logger: PM msg gets LR field 2022-12-06 11:00:51 +11:00
Andrew Tridgell ae84adf632 AP_Logger: prevent long loops due to parameter logging
ensure that the logging process() doesn't take more than 1ms
2022-12-04 18:08:40 +11:00
Andy Piper 38bc9bfab1 AP_Logger: on example sketches there is always time to write out FMT messages 2022-11-09 19:01:14 +11:00
Andy Piper f9451e36f5 AP_Logger: control PrepForArming in UNKNOWN builds 2022-11-09 19:01:14 +11:00
Andy Piper 209dd15346 AP_Logger: need to be able to finish format messages even when there is no fence 2022-11-08 17:56:00 +11:00
Iampete1 1547c65ff3 AP_Scripting: bindings: logging: add flag to copy format strings 2022-11-08 10:49:43 +11:00
Iampete1 1df00d879a AP_Logger: add option allocate scripting format strings in msg_fmt_for_name 2022-11-08 10:49:43 +11:00
Iampete1 6578c020d8 AP_Logger: log structure: SCR: update description 2022-11-03 09:50:59 +11:00
Peter Barker 8e06d5cd36 AP_Logger: include required AP_Vehicle_Type header 2022-11-02 18:35:48 +11:00
Iampete1 c623ae8b82 AP_Logger: MessageWriter: SysInfo: write RCOut string 2022-10-18 11:53:59 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Andy Piper cfdf6306ef AP_Logger: ensure that we don't read the same block more than once, dramatically increasing performance. 2022-10-03 07:52:43 +11:00
Andrew Tridgell eae2bed630 AP_Logger: fixed missing doc field 2022-09-26 14:17:53 +10:00
Paul Riseborough 59d4808786 AP_Logger: Fix ARSP data type string 2022-09-26 14:17:53 +10:00
Paul Riseborough 592793b510 AP_Logger: Add consistency test ratio to ASPD logging 2022-09-26 14:17:53 +10:00
Yuri 32c38434a2 AP_Logger: increase short board names to 23 chars 2022-09-21 17:56:42 +10:00
Peter Barker f254a3ef2b AP_Logger: fold AP_Filesystem_Available.h into AP_Filesystem_config.h 2022-09-15 10:53:02 +10:00
Michael du Breuil 18e374e687 AP_Logger: Fix an error in the doc string for the MAVC message 2022-09-15 09:45:33 +10:00
Michael du Breuil 0c73da5e79 AP_Logger: Strictly handle NACK/ACK
This is a change in bevaiour. The previous behaviour was to check for a
NACK, and if it wasn't a NACK it was assumed to be an ACK. This is a bad
assumption to let people get away with, because in the future if we ever
add other options to the enum we are more likely to have to cope with
bad implementation in the wild
2022-09-07 10:25:30 +10:00
Peter Barker a9a3de8f20 AP_Logger: correct compilation when fence compiled out 2022-09-01 08:25:55 +10:00
Iampete1 fc2bc2822e AP_Logger: MessageWriter: convert enums to enum class's 2022-08-30 09:07:27 +10:00
Iampete1 47853383b1 AP_Logger: add fence message writer 2022-08-30 09:07:27 +10:00
Peter Barker bf5817e108 AP_Logger: rename HAL_MISSION_ENABLED to AP_MISSION_ENABLED 2022-08-18 22:49:10 +10:00
Iampete1 8352a7b2b3 AP_Logger: params always use set method 2022-08-03 13:43:48 +01:00
Henry Wurzburg 530d59017a AP_Logger: add increment on file rate limiting to allow <1Hz 2022-08-02 10:22:48 +10:00
Henry Wurzburg a395b3d2a8 AP_Logger: add AUX switch to pause logging of streamed entries 2022-08-02 10:15:08 +10:00
Iampete1 63e03622d4 AP_Logger: log default param values 2022-07-20 17:59:59 +10:00
Peter Barker 659f801650 AP_Logger: remove unused includes 2022-07-20 17:32:24 +10:00
Iampete1 ecc3ae2d05 AP_Logger: Log Structure: remove comma on included AIS structure 2022-07-12 09:39:54 +10:00
RuffaloLavoisier 0e0c23a8e3 AP_Logger : correct spelling on comment 2022-07-11 08:51:27 +09:00
Andy Piper f666ed8ec7 AP_Logger: support W25N01GV flash chips
add separate driver for W25N01GV triggered via HAL_LOGGING_DATAFLASH_DRIVER
move flash_test() into AP_Logger_Block.
cleanup use of 4k sector commands to account for chips that only have block commands
2022-06-08 21:44:21 +10:00
Andrew Tridgell 2c962e46c1 AP_Logger: don't compiler AP_Logger.cpp if logging not enabled
for some reason this fixes f103-GPS build, even though the code wasn't
referenced
2022-06-06 14:50:40 +10:00
Andrew Tridgell a15cf3192d AP_Logger: save crash_dump.bin to sdcard on boot
on each boot write crash_dump.bin to the microSD if it is available
this makes it easier for users to send in their crash dumps, and less
likely they will overwrite it with a fw update
2022-06-06 14:50:40 +10:00
Andrew Tridgell c02aef8a50 AP_Logger: allow for new log msgs in Replay
this makes replay tuning and code testing much easier as up to 10 new
log messages can be added in the replay code
2022-06-01 17:07:41 +10:00
Randy Mackay 5b40808ee8 AP_Logger: error subsystem added for dead reckon failsafe 2022-05-25 20:05:21 +09:00
Andy Piper ccbe62589e AP_Logger: add W25Q128 variant 2022-05-24 10:32:34 +10:00
Iampete1 48b3549158 AP_Logger: RCOUT only log if there is a valid output channel 2022-05-22 12:07:37 +10:00
Iampete1 8110b9ac2d AP_Logger: add loging of servo out 15 to 32 2022-05-22 12:07:37 +10:00
Peter Barker 3cb104f537 AP_Logger: log airspeed primary changes 2022-05-17 10:27:57 +10:00
murata 6102e094be AP_Logger: Console output can be disabled 2022-05-17 09:53:06 +10:00
Tamas Nepusz f91ea8a0dd AP_Logger: make LogStructure non-packed to fix compilation of SITL on Apple M1 2022-05-11 07:54:06 +10:00
Andrew Tridgell 43a947f390 AP_Logger: fixed a bug in wrapped log count
fixes #20687
2022-05-06 06:56:33 +10:00
Peter Barker 750fd2c820 AP_Logger: tidy includes 2022-05-03 09:14:58 +10:00
Andrew Tridgell ed1a5c086b AP_Logger: removed annoying message on missing logs 2022-04-19 11:45:26 +10:00
Andrew Tridgell 93b55e367e AP_Logger: fixed log listing with gap, and EKF error on log list
this fixes two issues:

The first issue that if we are missing a log file in the middle of the
list then it was not possible to download recent logs, as we get the
incorrect value for total number of logs. This happened for me with
107 logs, with log62 missing from the microSD. It would only show 45
available logs, so the most recent logs could not be downloaded.

The second issue is that get_num_logs() was very slow if there were a
lot of log files in a directory. This would cause EKF errors and ESC
resets. Using a opendir/readdir loop is much faster (approx 10x faster
in my testing with 107 logs on a MatekH743).
2022-04-19 11:45:26 +10:00
xianglunkai f7f053191a AP_Logger: must set default fd = -1 2022-04-19 10:00:32 +10:00
Peter Barker e5c40d0e54 AP_Logger: move logging of Beacon into Beacon library 2022-04-13 16:22:19 +10:00
Peter Barker 795427e574 AP_Logger: move logging of Proximity into Proximity library 2022-04-13 16:22:19 +10:00
Peter Barker 23f2055330 AP_Logger: move logging of RPM into RPM library 2022-04-13 16:22:19 +10:00
Peter Barker 0c32eeca2e AP_Logger: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker b80cc9a610 AP_Logger: remove old, unused log metadata for MON 2022-04-06 21:54:15 +10:00
Peter Barker a546bc797c AP_Logger: source IDs and structs from HAL_ChibiOS 2022-04-06 21:54:15 +10:00
Iampete1 0a0178988d AP_Logger: add 1e-9 log multiplyer 2022-04-06 17:22:30 +10:00
Andrew Tridgell 06b6632f30 AP_Logger: fixed @SYS file logging
the key fix is the reset of the fd to -1. Without that fix we only
ever log @SYS/uarts.txt

The timing change is needed to get the files out in a reasonable
time. The function is actually getting called at 100Hz or less, not
1kHz (measured on MatekH743 copter at 400Hz). So we need to run it
faster to get the files logged in a reasonable time
2022-04-06 07:46:29 +10:00
Andrew Tridgell a01ca35939 AP_Logger: increase stack of log_io thread by 256
This was seem on omnibusf4pro, it is a bit too close:

  log_io PRI= 59 sp=0x20015CC0 STACK=144/1656
2022-04-01 19:56:30 +11:00
Andrew Tridgell ee6a7f21ec AP_Logger: added terrain correction logging field 2022-03-28 16:01:21 +11:00
Iampete1 1435fdcf97 AP_Logger: log structure: update airspeed heath probability feild name 2022-03-02 16:14:50 +11:00
Andrew Tridgell e715972264 AP_Logger: reduce the stack log frequency
10Hz is plenty
2022-02-22 12:17:17 +11:00
Peter Barker 67b86867f2 AP_Logger: add LogMessage documentation for PIDN and PIDE 2022-02-17 10:53:41 +11:00
Andy Piper 4f785b4aaa AP_Logger: add @SYS/timers.txt to logged files 2022-02-16 15:28:04 +11:00
Peter Barker 85b4ee289e AP_Logger: log VER - ArduPilot version information 2022-02-09 18:32:38 +11:00
Peter Barker 189c4cc4c7 AP_Logger: add missing documentation for RCI2 message 2022-02-01 22:45:19 +11:00
Andrew Tridgell 94c117fe62 AP_Logger: log original fw string if available 2022-01-19 08:07:45 +11:00
Iampete1 cf1202ae65 AP_Logger: add MOTB message 2022-01-18 10:18:10 +11:00
Mark Whitehorn 5f7f1cff2b AP_Logger: fix _RATEMAX parameter descriptions 2022-01-12 10:15:45 +11:00
Peter Barker fc46fe71f0 AP_Logger: fix memory leak logging files at startup 2022-01-11 14:18:14 +11:00
Andy Piper 835e0be245 AP_Logger: support Winbond W25X32 for KakuteH7Mini 2022-01-11 10:58:55 +11:00
Pierre Kancir a01bd33f69 AP_Logger: fix size compare warning
df_PageSize is uint32_t
2022-01-06 09:13:54 +11:00
Pierre Kancir 7a8cef877b AP_Logger: fix implicit instanciation order, base class first 2022-01-06 09:13:54 +11:00
Pierre Kancir 89e5e7f5c5 AP_Logger: fix clang-tidy warning about non correct check
strncmp return both positive and negative value, therefore is it better to implicitly compare to 0
2022-01-06 09:13:54 +11:00
Pierre Kancir 4add35355e AP_Logger: use nullptr 2022-01-06 09:13:54 +11:00
Iampete1 cee0503812 AP_Logger: add video stab log structure 2022-01-05 19:56:03 +11:00
Pierre Kancir f50f8c7a2a AP_Logger: fix memory leak 2022-01-05 18:07:30 +11:00
Lucas De Marchi 83f20ac66a AP_Logger: fix build with mavlink debug enabled 2022-01-04 07:25:28 -08:00
Lucas De Marchi 1ab005dc99 AP_Logger: use stderr for debug
Make AP_Logger_MAVLink use stderr, so it's easier to follow the debug
outputs without mixing with normal output.  And this is also what
AP_Logger is using.
2022-01-04 07:25:28 -08:00
Shiv Tyagi 3533e1e0ed AP_Logger: remove AP_Logger_SITL
We now use jedec dataflash simulator for this purpose. Hence, we should remove these files and all references to HAL_LOGGING_SITL_ENABLED

Co-Authored-By: Divyateja Pasupuleti <divyateja2004@gmail.com>
2021-12-25 09:14:31 +11:00
Peter Barker 600b085cf3 AP_Logger: correct constraint of maximum message ID 2021-12-21 10:42:18 +11:00
Peter Barker 168f278959 AP_Logger: reallocate 32 IDs from vehicles to main message area
ArduPlane uses ~18 messages and the list is relatively static, so this
should be a reasonable reallocation.

We're using a lot of Log_Write(...) to create messages dynamically - but
that requires IDs and we only left space for about 18 before this patch

More space is left to ease future use of IDs in some libraries
2021-12-21 10:42:18 +11:00
Andrew Tridgell 045daaf191 AP_Logger: speed up logging of crash_dump.bin
dump 450k crash log in about 1 minute
2021-12-15 08:01:38 +11:00
Andrew Tridgell 6f34fa7919 AP_Logger: allow for logged files over 32k in size
crash_dump.bin can be large
2021-12-15 08:01:38 +11:00
Peter Barker 66d8be825f AP_Logger: move LogOriginType into AP_AHRS
only used to log the origins by the AHRS library
2021-12-07 11:31:44 +11:00
Peter Barker f848fa3a86 AP_Logger: turn dataflash logging off by default 2021-11-24 13:23:40 +11:00
Peter Barker bd33267fd3 AP_Logger: do not use dataflash on SITL 2021-11-23 11:24:46 +11:00
Peter Barker ea03d4e44b AP_Logger: eliminate HAL_LOGGING_DATAFLASH
This define didn't add anything over HAL_LOGGING_DATAFLASH_ENABLED - and
predates it.
2021-11-23 11:24:46 +11:00