Commit Graph

525 Commits

Author SHA1 Message Date
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
Iampete1 7b0f059968 AP_Logger: file content: log only file name if directory won't fit 2021-11-17 19:16:46 +11:00
Iampete1 09dfcdb574 AP_Logger: add scripting log structures 2021-11-17 19:16:46 +11:00
Iampete1 f32f14b19c AP_Logger: log_file_content: copy filename 2021-11-17 19:16:46 +11:00
Peter Barker e95aedd748 AP_Logger: tidy construction of backends 2021-11-09 10:18:10 +11:00
Andrew Tridgell e8926f8518 AP_Logger: avoid all opens of log files in main thread
this fixes a problem with sdcards where file open is very slow. It can
trigger a watchdog if it is slow enough. Peter and I hit this issue on
a pixracer today with a new sd card
2021-11-01 20:32:38 +11:00
Buzz d4e2828540 AP_Logger: esp32 takes longer to init its SD card after boot.
see libraries/AP_HAL_ESP32/README.md for more.

Author: Charles Villard <charlesvillard10@gmail.com>
Author: Buzz <davidbuzz@gmail.com>
2021-11-01 17:40:31 +11:00
Andrew Tridgell 0be1017843 AP_Logger: support logging of files contents
this allows us to see key internal data in log files
2021-10-30 16:44:00 +11:00
Andrew Tridgell 1559f7aa2d AP_Logger: added stack logging 2021-10-12 16:04:06 +11:00
Andrew Tridgell f148c3fc44 AP_Logger: fixed stuck logging with LOG_DISARMED=1
this prevents a stuck write closing logging when LOG_DISARMED=1
2021-09-28 10:47:48 +10:00
Peter Barker 143f23db89 AP_Logger: move SBP logging structures into AP_GPS 2021-09-28 10:45:51 +10:00
Leonard Hall 087a2b92c3 AP_Logger: Update PSC logging to include desired 2021-09-23 20:07:52 +09:00
Peter Barker fec9d4850d AP_Logger: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Iampete1 f80fedff9c AP_Logger: add function to set longer log persist 2021-09-08 18:26:40 +10:00
Iampete1 a47eeb3fed AP_Logger: log transfer: add error message if armed 2021-09-08 17:38:48 +10:00
Peter Barker 13a7b60279 AP_Logger: log source sysid/compid in MAVC
For field length purposed had tor remove Current and autocontinue which we don't care about
anyway.
2021-09-07 11:06:08 +10:00
nkruzan 0a236bc13d AP_Vehicle: log internal error and report bitmask to GCS
AP_Vehicle.cpp: cast parameter bitmask as (unsigned) per Peter B.

rework per Peter B.

Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
remove unnecessary send_internal_error_statustext function

remove Write_InternalError function
2021-08-31 15:54:02 +10:00
Peter Barker de9f8a9320 AP_Logger: specify frames on PSC fields 2021-08-31 09:09:02 +10:00
Michael du Breuil e3109e4b29 AP_Logger: Use actual MAVLink constant
This isn't a functional change, it just improves the readibility of the
file
2021-08-25 18:52:21 +10:00
Andrew Tridgell 0f59e1ebb8 AP_Logger: log MCU temperature and voltage 2021-08-25 07:11:31 +10:00
Andrew Tridgell 872cae6063 AP_Logger: fixed rate limiting of WriteV messages 2021-08-18 10:20:03 +10:00
Pierre Kancir 99456ba1f8 AP_Logger: fix MAVLink logger random failure on SITL
rand() return an int
2021-08-12 13:55:22 +10:00
bugobliterator 6bbfe35c73 AP_Logger: do not use AP_Scheduler for AP_Periph builds 2021-08-12 07:57:12 +10:00
Peter Barker 110d48e6fa AP_Logger: add events for changing EKF data source set changes 2021-08-11 19:28:28 +09:00
Peter Hall 2a58e7097f AP_Logger: LogStructure: add AIS 2021-08-10 08:11:18 +09:00
bugobliterator 7832f81a84 AP_Logger: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Andrew Tridgell d0969a4476 AP_Logger: added RATEMAX for mavlink and block backends 2021-08-03 10:23:36 +10:00
Andrew Tridgell 4dfe750d71 AP_Logger: handle instance types in rate limiting 2021-08-03 10:23:36 +10:00
Andrew Tridgell 575c76bdd0 AP_Logger: pack LogStructure to save some flash space
prevent padding between records
2021-08-03 10:23:36 +10:00
Andrew Tridgell 662f7a0191 AP_Logger: added LOG_FILE_RATEMAX parameter
this allows for a global "maximum rate in Hz for streaming messages"
setting
2021-08-03 10:23:36 +10:00
Peter Barker b1bd699a73 AP_Logger: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Hwurzburg df0c9a42cb AP_Logger: Add Link Quality reporting to RC protocols 2021-07-16 13:27:38 +10:00
Siddharth Purohit 503a676e44 AP_Logger: omit code that breaks build for herepro 2021-07-02 08:50:16 +10:00
Andrew Tridgell 421faa0ada AP_Logger: fixed log creation on forced arm
when we force arm we need to ask the IO thread to create the log, not
create it ourselves
2021-07-01 15:30:11 +10:00
Peter Barker dd8af14e57 AP_Logger: remove @Values from param metadata where @Bitmask exists 2021-06-23 18:37:34 +10:00
Iampete1 188cf71ee2 AP_Logger: add Wh units 2021-06-22 09:19:40 +10:00
Andrew Tridgell ece3cf5241 AP_Logging: update EKF while waiting for log open
this prevents the EKF getting unhappy when we arm
2021-06-21 20:15:17 +10:00
Peter Barker 151fe6facf AP_Logger: rearrange PrepForArming stuff 2021-06-15 16:42:02 +10:00
Andrew Tridgell 806fdd9389 AP_Logger: moved log file open to logger thread
this prevents a watchdog if the filesystem takes a long time to
respond to a file open
2021-06-15 16:42:02 +10:00
Andrew Tridgell 1279772d92 AP_Logger: disallow log creation in main thread when armed
this fixes an issue where the sd card fails in flight and then
re-mounts. When that happens the logging backend can trigger a new log
open. That causes filesystem operations in the main thread while
flying. That can cause long delays or even a watchdog.

Thanks to Giacomo for noticing this on his flying wing
2021-06-09 15:08:28 +10:00
Peter Barker b681dc940a AP_Logger: add support for AP_Logger into AP_Periph 2021-06-08 09:57:55 +10:00
Andrew Tridgell 50e7c81f46 AP_Logger: removed perf counters 2021-06-07 14:29:27 +10:00
Peter Barker 00041737d2 AP_Logger: move from HAL_NO_LOGGING to HAL_LOGGING_ENABLED 2021-05-19 17:38:47 +10:00
Peter Barker f30ad1d2dc AP_Logger: log which RC channels are being overridden 2021-05-15 14:49:20 +10:00
Dr.-Ing. Amilcar do Carmo Lucas c323ee4f56 AP_Logger: improve unit names in comments.
added Ampere hours unit in LOG_ESC_MSG
log ESC volts, amps and consumption as floats
update ESC log file structures
consumption in mAh
Correct the current_tot unit,
motor_temp unit and error_rate unit in comments (<amilcar.lucas@iav.de>)
move ESC_Telem logging to the AP_ESC_Telem class (<amilcar.lucas@iav.de>)
correct log structure (<amilcar.lucas@iav.de>)
2021-05-12 17:01:11 +10:00
Andrew Tridgell 8fcb03350b AP_Logger: minimal fix for allowing log listing while logging
this prevents loss of log data when listing logs on file backend
2021-05-01 19:21:48 +10:00
Josh Henderson c8b8ff3380 AP_Logger: Privatize AC_Avoidance Logging 2021-05-01 19:21:17 +10:00
Josh Henderson ac57950575 AP_Logger: move GYR & ACC log structs to AP_InertialSensor 2021-05-01 14:15:58 +10:00
Josh Henderson 859fc73ba3 AP_Logger: Privatize AP_InertialSensor Logging 2021-04-29 19:19:12 +10:00
Peter Barker 4362b16f50 AP_Logger: remove un-needed forward declarations
We moved the logging into the relevant library.  Yay!
2021-04-23 11:44:16 +10:00
Peter Barker 13dc5bee25 AP_Logger: fix memory leak when finding last log 2021-04-15 19:33:15 +10:00
Andrew Tridgell 7a7ac0cd73 AP_Logger: raise log_io stack size
See
https://github.com/ArduPilot/ardupilot/issues/15916#issuecomment-819489618
2021-04-15 13:33:42 +10:00
Andrew Tridgell f34e4be991 AP_Logger: re-enable ATRP logging msg 2021-04-15 06:57:16 +10:00
Andrew Tridgell 05d5fc2ecc AP_Logger: added SRate logging to PIDs 2021-04-15 06:57:16 +10:00
Andrew Tridgell 99fe194980 AP_Logger: removed old ATRP log msg 2021-04-15 06:57:16 +10:00
Peter Barker 6fe58a807d AP_Logger: move precision landing logging up into AC_PrecLand 2021-04-13 10:28:39 +10:00
Andrew Tridgell c886fd7025 AP_Logger: make log file erase async
this prevents clagging up the main loop on a big erase. With an erase
of large enough files we could trigger a disarmed watchdog.
2021-04-06 10:40:40 +10:00
Leonard Hall 83b7c496b5 AP_Logger: support for position controller logging 2021-04-03 12:07:59 +09:00
Randy Mackay d4f1eacbed AP_Logger: use of AP_Proximity checks HAL_PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00
Josh Henderson 070ad226ce AP_Logger: OABR correct altitude logging frame and specifier 2021-03-24 20:30:54 +09:00
Peter Barker f261045a2d AP_Logger: multiply IO thread timeout according to SITL speedup
Intended to solve issues we're now getting on CI where the IO thread is
blocking-on-write and the main thread is calling it dead.
2021-03-24 12:54:20 +11:00
Peter Barker 82a28e2a58 AP_Logger: do not log soon after file transfer unless we're armed
mavlink log reads fail randomly, and you end up with a very large number
of log files as we keep closing logs off and then discovering we should
be logging
2021-03-24 08:57:03 +11:00
Peter Barker 5e63ed908e AP_Logger: loosen constraint on failing to log replay block
// things will almost certainly go sour.  However, if we are not
    // logging while disarmed then the EKF can be started and trying
    // to log things even 'though the backends might be saying "no".
2021-03-18 19:38:43 +11:00
Rishabh e09e9b1e6a AP_Logger: Log raw and filtered distances from proximity lib 2021-03-08 16:33:20 +09:00
James O'Shannessy 8ca69c2e89 AP_Logger: Add support for fence floor events 2021-03-05 14:52:46 +11:00
Peter Barker a17a8faf42 AP_Logger: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Peter Barker 1c4e1aab05 AP_Logger: move gps logging structures into AP_GPS 2021-02-17 11:30:01 +11:00
Randy Mackay 3ae8af6b21 AP_Logger: add PSCZ logging
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>

includes const log_PSCZ declaration
also changed PSZ ThO to percentage
2021-02-09 19:33:52 +09:00
Josh Henderson 00e3bda2f5 AP_Logger: Privatize AP_VisualOdom Logging 2021-02-09 19:33:14 +09:00
Patrick José Pereira 18d8f19801 AP_Logger: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 11bf02c2c4 AP_Logger: correct spelling in metadata 2021-02-03 17:47:28 +11:00
Josh Henderson c32dd4bb5d AP_Logger: Privatize AP_Baro Logging 2021-02-02 17:55:27 +11:00
Josh Henderson d142b3ba16 AP_Logger: Privatize AP_Camera Logging 2021-02-02 10:10:17 +11:00
Peter Barker dbae56eb3a AP_Logger: panic in SITL if we fail to log a Replay block
// failing to log a block means that when we go to replay the log
    // things will almost certainly go sour.
2021-01-31 10:46:26 +11:00
Peter Barker ade1c487d8 AP_Logger: remove default reason argument for Write_Mode
All callers now supply this
2021-01-22 17:27:26 +11:00
Josh Henderson 8e705a5eed AP_Logger: move BAT & BCL logging functions to AP_BattMonitor 2021-01-12 17:43:55 +11:00
Josh Henderson 0ebbf0f74e AP_Logger: move AP_AHRS functions out 2021-01-12 10:13:22 +11:00
Andrew Tridgell dc57454ac5 AP_Logger: adjust stack sizes 2021-01-10 08:28:55 +11:00
Peter Barker 416dd98140 AP_Logger: check HAL_LOGGING_DATAFLASH only for definition
As the hwdefs only define the symbol, don't set it to a value...
2021-01-08 12:48:55 +11:00
Peter Barker 7d42f473fc AP_Logger: allow each backend to be compiled out 2021-01-08 12:48:55 +11:00
Peter Barker e8d24a1f68 AP_Logger: initialise logger instance variables in header 2021-01-07 10:42:13 +11:00
Peter Barker 80e8688888 AP_Logger: remove perf counters 2021-01-07 09:20:00 +11:00
Andy Piper b3946a667c AP_Logger: omnibusF4pro needs more stack for logging and logging needs to take precedence over ftp 2021-01-07 07:43:52 +11:00
chobits b0fa5fadcd AP_Logger: fix BCN multiplier 2021-01-06 21:48:32 +11:00
Peter Barker ef0b860a48 AP_Logger: remove Prep and NeedPrep functions
These were only being called directly after Init(), so just tacked them
onto the end of those functions.

The checks in NeedPrep turned out to be mostly redundant.
2021-01-06 18:25:21 +11:00
Josh Henderson 1c49a0b44d AP_Logger: only log Battery Status for active monitors 2021-01-06 18:23:15 +11:00
Andrew Tridgell ce561ab249 AP_Logger: log active EKF type as ATT.AEKF 2021-01-05 21:13:12 +11:00
Peter Hall b2e1d88da8 AP_Logger: add limit flag to PID logs 2021-01-05 10:27:28 +11:00
Josh Henderson 4a7f663cad AP_Logger: README add multiplier descriptions
Add clarity to the multipliers and descriptions
2021-01-04 20:45:38 +11:00
Andy Piper 779c2a9e5f AP_Logger: move logger IO to a separate thread 2021-01-02 22:30:08 +11:00
Andrew Tridgell 0ae9b28198 AP_Logger: added get_log_start_count()
used by UAVCAN to know if it should log CAN devices on log rotation
2021-01-01 17:30:14 +11:00
Andrew Tridgell 4fdf315760 AP_Logger: use null terminated strings
this prevents logging garbage for strings that are shorter than the
length specifier (eg. 'Z'). This assumes we will not want to log
binary data as strings
2021-01-01 17:30:14 +11:00
Andy Piper 5436784d38 AP_Logger: add ESC error rate 2020-12-30 19:14:16 +11:00
Andy Piper 048deeb43e AP_Logger: check is_system_initialized() when determining liveness 2020-12-30 18:16:59 +11:00
Peter Barker f84cb66bc6 AP_Logger: move log ids from EKF2 and EKF3 to the 'below 128' section' 2020-12-08 11:30:10 +11:00
Peter Barker 7ba03fe32d AP_Logger: move EKF2 message ids into AP_NavEKF2 2020-12-08 11:30:10 +11:00
Peter Barker 346572c390 AP_Logger: move EKF2 logging structures into EKF2 LogStructure.h 2020-12-08 11:30:10 +11:00
Peter Barker ea36a84b53 AP_Logger: move EK3 log message IDs into AP_NavEKF3 log structure 2020-12-03 19:22:26 +11:00
Peter Barker f2b2998f29 AP_Logger: move EKF3 logging structures into EKF3 LogStructure.h 2020-12-03 19:22:26 +11:00
Peter Barker 64f4b078a6 AP_Logger: remove unused log_EKF* structures 2020-12-03 19:22:26 +11:00
Andy Piper a6436851b4 AP_Logger: account for expected delays and boot time delays in block logger. 2020-11-25 18:17:34 +11:00
Peter Barker 42d9727f49 AP_Logger: correct documentation on ARSP message 2020-11-24 15:33:37 +11:00
Gone4Dirt a2d2e85ba1 AP_Logger: Reinstate Watt unit 2020-11-24 12:54:52 +11:00
Peter Barker 786fd8a2f8 AP_Logger: add and use instance number to ARSP message 2020-11-24 12:19:45 +11:00
Peter Barker d50e4d03f4 AP_Logger: remove time_us parameter to several sensor logging methods
These were used by the old Replay code to try to provide a frame of
sensor data by correlating the timestamps.  That Replay code has been
removed.
2020-11-20 16:59:09 +11:00
Peter Barker a12c2a6b87 AP_Logger: use instance numbers for logging GPS data 2020-11-20 09:45:57 +11:00
Peter Barker 58c23e618e AP_Logger: remove unused IMUDT code
Unused since we've moved to new Replay code
2020-11-19 08:31:49 +11:00
Andrew Tridgell 6bf7f9e864 AP_Logger: use load_file()
save a bit of flash
2020-11-18 09:11:36 +11:00
Andrew Tridgell 019544ceb1 AP_Logger: allow for replay with both EKF enabled
even when one is disabled in the original log
2020-11-17 13:45:07 +11:00
Andrew Tridgell 04f60001ff AP_Logger: allow WriteV() to work within Replay
save formats for lookup by WriteV
2020-11-16 10:28:43 +11:00
Peter Barker 48385b82dc AP_Logger: use instance number for Mag logging 2020-11-11 19:31:53 +11:00
Peter Barker 12f0e9dd43 AP_Logger: use instance number for Baro logging 2020-11-11 19:31:53 +11:00
Peter Barker 2437cf8a24 AP_Logger: use instance number for IMU logging 2020-11-11 19:31:53 +11:00
Andrew Tridgell 3152da98e1 AP_Logger: skip structure validation in replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell a08a1a4247 AP_Logger: allow for larger LOG_FILE_BUFSIZE
larger sizes on F7 and H7 allow for much more rapid loggging
2020-11-10 16:15:45 +11:00
Andrew Tridgell 71e4d72fe3 AP_Logger: removed 64k limitation on log buffer
the reason for the limit is gone with AP_FileSystem
2020-11-10 16:15:45 +11:00
Andrew Tridgell 2945de4796 AP_Logger: use WITH_SEMAPHORE in _WritePrioritisedBlock
this prevents a 1ms delay when waiting for the semaphore
2020-11-10 16:15:45 +11:00
Andrew Tridgell 851cb30e0d AP_Logger: speed up startup with replay if LOG_DISARMED=0 2020-11-10 16:15:45 +11:00
Andrew Tridgell b7d60b1d97 AP_Logger: added C field to EKF msgs 2020-11-10 16:15:45 +11:00
Andrew Tridgell 09aff03edc AP_Logger: support new replay system
added allow_start_ekf and block write method for replay

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell daa0abeb13 AP_Logger: make structure check errors clearer
add message name to more error messages
2020-11-10 16:15:45 +11:00
Andrew Tridgell bd7ed003c2 AP_Logger: split out EKF messages and prepare for new replay
adds core to more EKF message structures

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Michael du Breuil 25ca2a0828 AP_Logger: Reserve space in PM for last internal error line 2020-11-03 11:04:13 +11:00
Andrew Tridgell 66596dcf25 AP_Logger: allow for retry of log open with LOG_DISARMED=1
if booting without a microSD and with LOG_DISARMED=1 then this allows
for a retry of opening the log every 5s
2020-10-27 20:35:56 +11:00
Patrick José Pereira 258083a6f2 AP_Logger: AP_Logger_File: Set custom log directory in init
`_log_directory` was used before `ensure_log_directory_exists`,
to fetch the log path

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-20 09:31:49 +11:00
Michael du Breuil b04844ca13 AP_Logger: Log all vibration instances 2020-10-06 14:20:49 +11:00
Randy Mackay d9b90bf19f AP_Logger: VISP and VISV get ignored field 2020-10-06 09:18:04 +09:00
Peter Barker 8e6cde25dc AP_Logger: keep pointer to link rather than using its ->chan 2020-09-25 09:01:00 +10:00
Andy Piper dc0084a2b2 AP_Logger: only write final log out a page at a time to avoid lock contention
remove health check timing hack
2020-09-21 20:44:34 +10:00
Mark Whitehorn f25a1e7a0d AP_Logger: fix description of BAT.Res 2020-09-21 08:50:49 +10:00
Andy Piper d036b57de3 AP_Logger: stop logs safely in the block logger and asynchronously where possible 2020-09-17 10:45:57 +10:00
Andrew Tridgell 930726ca9a AP_Logger: fixed string warnings 2020-09-15 09:40:03 +10:00
Andy Piper 3bbac765f0 AP_Logger: correct units on raw accel data 2020-09-13 12:15:33 +10:00
Randy Mackay 36dee8791a AP_Logger: revert adding PSCP log structure 2020-09-12 08:10:33 +09:00
Iampete1 9753a20404 AP_Logger: add PSCP log structure 2020-09-11 10:12:08 +10:00
Iampete1 02c225ee93 AP_Logger: add structure for PSC message 2020-09-11 10:12:08 +10:00
Andrew Tridgell bea9769b82 AP_Logger: log unhealthy barometers 2020-09-09 06:35:50 +10:00
Andy Piper 5c554221c7 AP_Logger: address review commenst from #14299 2020-09-06 09:12:59 +10:00
Andy Piper ccb583d092 AP_Logger: make block logger conform to mavlink expectations of numbering
add support for log time to block logger
refactor rotation into backed. Don't start logs when erasing
correct log start logic
separate read and write points so that requesting log information does not corrupt the current log
when starting a new log stop logging first
clear the write buffer when starting a new log
insert utc time when requesting info for the current log
stop logging and request formats again when starting a new log
cope with erase happening while we are logging
keep pushing out startup messages even when format messages are done
don't log to the gcs in the io thread
don't start new logs in the io thread
don't validate logs while erasing
flush logs when stopping logging
account for page header when calculating logs sizes
don't return data when asked for more data than in the log
optimize locking and use separate semaphore to mediate ring buffer access
stop logging when the chip is full and send a notification
calculate logs sizes correctly even when they wrap
read log data correctly even when it wraps
add stats support to block logger
reset dropped when starting a new log
fail logging when the chip is full
refactor critical bufferspace checks
increase messagewriter budget to 250us and to 300us for FMT
2020-09-05 10:20:39 +10:00
Harshit Kumar Sankhla 9588a68e1b AP_Logger: added logging of baro, gps, airspeed to XKFS
new XKFS message for "XKF Sensor"
2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla 775a40e4cc AP_Logger: Add RErr and ErSc fields to NKF3 log
RErr (Core Relative Errors) and ErSc (Core Error Scores)
2020-08-27 20:20:51 +10:00
Peter Barker 716e7622be AP_Logger: log RCIN channels 14 and 15 in RCI2 2020-08-25 10:27:00 +10:00
Rishabh ad3a7e4d49 AP_Logger: Update logs based on new BendyRuler type 2020-08-24 08:53:20 +09:00
Randy Mackay f7ec08ff18 AP_Logger: add Write_Winch 2020-08-07 21:55:07 +09:00
Randy Mackay 5d99ce9a84 AP_Logger: remove winch events 2020-08-07 21:55:07 +09:00
Rishabh 251ebf9286 AP_Logger: Log Simple Avoidance 2020-08-05 15:37:04 +09:00
Peter Barker c539698528 AP_Logger: add documentation for GRAW, GRXH and GRXS messages 2020-07-22 12:29:19 +10:00
Mark Whitehorn 2b96b7915b AP_Logger: align PID(RPYAS) description to message names 2020-07-22 09:19:43 +09:00
Peter Barker 721d94a23b AP_Logger: log accumulated power status flags; all flags ever set 2020-07-21 09:12:14 +10:00
Paul Riseborough 0cf70fe961 AP_Logger: Log D gain limit cycle gain scaler
Used by Plane roll and pitch loops in APM_Control
2020-07-13 13:47:50 +10:00
Andrew Tridgell f80ca85428 AP_Logger: use strncpy_noterm 2020-07-10 13:32:24 +10:00
Randy Mackay 30bcf4d13b AP_Logger: VISP and VISV reset counter becomes uint8 2020-06-25 15:31:43 +10:00
Rishabh 4fa2c3f5ba AP_Logger: Log if BendyRuler has avoided changing directions 2020-06-24 11:42:20 +09:00
Randy Mackay 912e089c18 AP_Logger: fix BCL voltage scaling
voltages are in millivolts
2020-06-24 10:19:15 +09:00
Randy Mackay 82423384bf AP_Logger: BCL msg logs up to 12 battery cell voltages 2020-06-24 10:19:15 +09:00
Peter Barker 0c5d31f40f AP_Logger: ensure log directory exists before opening log
This will help with starting logs when inserting a fresh SD card which
doesn't have the ardupilot log directory on it
2020-06-16 12:03:21 +10:00
Peter Barker 66f8359c6b AP_Logger: factor out an ensure_log_directory_exists method 2020-06-16 12:03:21 +10:00
Peter Barker 0e964a4654 AP_Logger: use config error loop rather than abort
Also add a specific check for the length of the labels field
2020-06-10 09:02:35 +10:00
chobitsfan 255c685a8a AP_Logger: fix missing unit description in VISP 2020-06-09 13:31:21 +09:00
Randy Mackay 6714aa4e83 AP_Logger: shorten VISP and VISV log field names 2020-06-09 13:31:21 +09:00
chobits 5e5a0d2111 AP_Logger: log ext nav pos err and ang err 2020-06-09 13:31:21 +09:00
Iampete1 fee5b998bf AP_Logger: add min MB free param 2020-06-09 09:23:25 +10:00
Randy Mackay 08f6b2128e AP_Logger: add VISV field descriptions 2020-06-02 08:33:42 +09:00
Randy Mackay 714975662d AP_Logger: VISP message gets velocity error field 2020-06-02 08:33:42 +09:00
chobits 9b480ca755 AP_Logger: support VISION_SPEED_ESTIMATE 2020-06-01 17:51:24 +09:00
MisterMower 41245acf14 AP_Logger: Added units to CurrTot message
Units are not associated with the CurrTot message. AP_BattMonitor.h indicates the total current consumed is reported in mAh. This change sets the units for CurrTot to Ampere seconds and applies a multiplier of 3.6 to convert the reported mAh value to Ampere seconds.
2020-05-26 16:19:14 +10:00
Peter Barker 1d9c2b1726 AP_Logger: add documentation for SBPH and SBRH 2020-05-26 14:13:06 +10:00
Peter Barker 49918d070e AP_Logger: add documentation for ESC LoggerMessage 2020-05-24 13:07:35 +10:00
Peter Barker cc60faa58e AP_Logger: use single message number for all ESCs by using instance # 2020-05-24 13:07:35 +10:00
Andrew Tridgell 97f335396b AP_Scripting: fixed memory leak 2020-05-19 09:09:48 +10:00
Peter Hall 19ba9abc89 AP_Logger: add function and make public for scripting use 2020-05-19 09:09:48 +10:00
Peter Barker 115751833b AP_Logger: process pending rotate on arming
If the user arms the vehicle during the logging-persist-timeout we
should rotate the log immediately.
2020-05-15 16:02:09 +10:00
Peter Barker ca4af94833 AP_Logger: prevent potential infinite recursion in log-open codepath
If anything in start_new_log did logging (for example, by sending a
statustext), we end up infinitely recursing.

With the patch:

diff --git a/libraries/AP_Logger/AP_Logger_File.cpp b/libraries/AP_Logger/AP_Logger_File.cpp
index 69b8ef0431..eb422d10f8 100644
--- a/libraries/AP_Logger/AP_Logger_File.cpp
+++ b/libraries/AP_Logger/AP_Logger_File.cpp
@@ -778,6 +778,7 @@ void AP_Logger_File::PrepForArming()
  */
 void AP_Logger_File::start_new_log(void)
 {
+    gcs().send_text(MAV_SEVERITY_WARNING, "Starting new log");
     stop_logging();

     start_new_log_reset_variables();
pbarker@bluebottle:~/rc/ardupilot(master)$

We see:

    at ../../libraries/AP_Logger/AP_Logger_File.cpp:781
    this=0x555555ad9d30, pBuffer=0x7fffff8209d0, size=75, is_critical=true)
    at ../../libraries/AP_Logger/AP_Logger_Backend.cpp:372
    this=0x555555ad9d30, pBuffer=0x7fffff8209d0, size=75)
    at ../../libraries/AP_Logger/AP_Logger_Backend.h:32
    this=0x555555ad9d30, message=0x7fffff820b10 "Starting new log")
    at ../../libraries/AP_Logger/LogFile.cpp:466
    this=0x555555a6d758 <copter+11384>,
    message=0x7fffff820b10 "Starting new log")
    at ../../libraries/AP_Logger/AP_Logger.cpp:752
    this=0x555555a6e708 <copter+15400>, severity=MAV_SEVERITY_WARNING,
    fmt=0x5555557d64d0 "Starting new log", arg_list=0x7fffff820be0,
    dest_bitmask=1 '\001') at ../../libraries/GCS_MAVLink/GCS_Common.cpp:1847
    this=0x555555a6e708 <copter+15400>, severity=MAV_SEVERITY_WARNING,
    fmt=0x5555557d64d0 "Starting new log", arg_list=0x7fffff820be0)
    at ../../libraries/GCS_MAVLink/GCS.cpp:53
    this=0x555555a6e708 <copter+15400>, severity=MAV_SEVERITY_WARNING,
    fmt=0x5555557d64d0 "Starting new log")
    at ../../libraries/GCS_MAVLink/GCS.cpp:60
    at ../../libraries/AP_Logger/AP_Logger_File.cpp:781
    this=0x555555ad9d30, pBuffer=0x7fffff820dc0, size=75, is_critical=true)
    at ../../libraries/AP_Logger/AP_Logger_Backend.cpp:372

I'm not aware of any instances in the code where this will actually
happen - but it could easily sneak in.
2020-05-11 15:12:36 +10:00
Peter Barker 7befe84f0c AP_Logger: create and use INTERNAL_ERROR macro so we get line numbers 2020-04-30 13:21:36 +10:00
Peter Barker ad9493caca AP_Logger: use logger Write method for logging Solo gimbal
Also document the messages
2020-04-28 09:56:09 +10:00
Peter Barker 830176f2f4 AP_Logger: remove unused SBFE 2020-04-27 16:16:50 +10:00
Peter Barker f882bd0c3e AP_Logger: remove unused UBY1/UBY2 messages
These appear to have been replaced with instance fields on the UBX1 and
UBX2 messages.

Also mark the Instance field on UBX1, UBX2 as an instance field.
2020-04-26 11:35:04 +10:00
Peter Barker 7e3c9c209e AP_Logger: document GPSB and GPAB 2020-04-26 09:02:39 +10:00
Peter Barker eee0f028ba AP_Logger: fix examples
Having a valid AP_Scheduler is now a requirement
2020-04-23 11:33:41 +09:00
Peter Barker a83c25cfa7 AP_Logger: add documentation for EKF messages
NKF0, NKF1, NKF2, NKF3, NKF4, NKF5, NKQ

XKF0, XKF1, XKF2, XKF3, XKF4, XKF5, XKFD, XKQ, XKV1, XKV2
2020-04-21 09:48:43 +10:00
Mark Whitehorn 874c293911 AP_Logger: expand description of GPS.spd 2020-04-18 15:33:43 +10:00
Peter Barker 870159c14f AP_Logger: add times-full to MAV log structure 2020-04-17 22:21:14 +10:00
Peter Barker 908dfa58f3 AP_Logger: remove unused FORMATS stage in DFLogStart messagewriter 2020-04-17 21:42:15 +10:00
Peter Barker 678d6f43c5 AP_Logger: use existing LoggerMessageWriter to log uploaded missions
Instead of creating a MessageWriter explicitly to log uploaded missions
we fiddle the state of the one stored in the startup message writer.

This has the advantage of being much more likely to log the entire
mission (as the buffer constraint is removed), and with the addition of
a time-remaining check much less likely to cause a timing glitch.
2020-04-15 16:24:40 +10:00