Andy Piper
36b9bf6736
AP_Logger: avoid disk_free() checks on littlefs
...
provide more meaningful feedback if write() results in ENOSPC
address review comments
2025-01-21 11:10:31 +11:00
Andy Piper
8a3e53c163
AP_Logger: nuance minspace for W25NXX and W25QXX
2025-01-21 11:10:31 +11:00
Andy Piper
49c61bc729
AP_Logger: support SITL implementation of littlefs
2025-01-21 11:10:31 +11:00
Andy Piper
b556ffd1e0
AP_Logger: user sync_block from littlefs to decide when to sync when using littlefs
2025-01-21 11:10:31 +11:00
Andy Piper
2c20e112c6
AP_Logger: sync littlefs writes on block boundaries
...
optimize free space when using littlefs
2025-01-21 11:10:31 +11:00
Peter Barker
8856100e39
AP_Logger: restart logging after log transfer
2024-09-03 11:01:24 +10:00
Peter Barker
b4e3b6cdd5
AP_Logger: add support for logging float16
2024-08-27 10:19:26 +10:00
Peter Barker
78afaebe55
AP_Logger: use GCS_SEND_TEXT rather than gcs().send_text
...
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker
aff3af67e6
AP_Logger: remove short-filename compatability code
...
We used to produce files hwih looked like log1.BIN. We moved to 00000001.BIN instead so things collate.
This code allowed the autopilot to return data from SD cards which had old logs on them.
2024-07-09 11:34:40 +10:00
Peter Barker
0056ef2d90
AP_Logger: write formats out as required rather than at start of log
2024-07-02 10:59:55 +10:00
Andrew Tridgell
20070b7e37
AP_Logger: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Pierre Kancir
d98a400d9e
AP_Logger: Prepare the maximum number of log files in the config parameter
2023-11-22 18:35:21 +11:00
Peter Barker
7f90de0973
AP_Logger: allow for compilation without AP_RTC_ENABLED
2023-10-11 19:17:27 +11:00
Peter Barker
eb344ee35c
AP_Logger: remove AP_Logger.h include in AP_Logger_Backend
...
Don't need the storage size in the header
2023-09-09 17:35:15 +10:00
Peter Barker
023316b269
AP_Logger: use AP_AHRS_ENABLED define
2023-06-24 14:21:01 +10:00
Andrew Tridgell
48acb1a2f7
AP_Logger: added LOG_DARM_RATEMAX
...
this sets the logging rate max when disarmed. In combination with
LOG_DISARMED=3 it gives a very nice setup to get always on logging
with very little addition to the log sizes. It is particularly useful
in combination with LOG_REPLAY=1
2023-04-14 07:48:24 +10:00
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
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
Peter Barker
8e06d5cd36
AP_Logger: include required AP_Vehicle_Type header
2022-11-02 18:35:48 +11:00
Henry Wurzburg
a395b3d2a8
AP_Logger: add AUX switch to pause logging of streamed entries
2022-08-02 10:15:08 +10:00
murata
6102e094be
AP_Logger: Console output can be disabled
2022-05-17 09:53: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
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
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
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
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
bugobliterator
7832f81a84
AP_Logger: change class name from SITL::SITL to SITL::SIM
2021-08-05 07:25:31 +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
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
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
Peter Barker
13dc5bee25
AP_Logger: fix memory leak when finding last log
2021-04-15 19:33:15 +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
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
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
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
Andy Piper
779c2a9e5f
AP_Logger: move logger IO to a separate thread
2021-01-02 22:30:08 +11:00
Andy Piper
048deeb43e
AP_Logger: check is_system_initialized() when determining liveness
2020-12-30 18:16:59 +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
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