mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
logger: only include crypto params if enabled
This commit is contained in:
parent
35f882cd3c
commit
6f4e873bce
@ -31,11 +31,20 @@
|
||||
#
|
||||
############################################################################
|
||||
|
||||
set(LOGGER_MODULE_PARAMS)
|
||||
|
||||
if(PX4_CRYPTO)
|
||||
list(APPEND LOGGER_MODULE_PARAMS module_params_crypto.yaml)
|
||||
endif()
|
||||
|
||||
px4_add_module(
|
||||
MODULE modules__logger
|
||||
MAIN logger
|
||||
PRIORITY "SCHED_PRIORITY_MAX-30"
|
||||
STACK_MAIN 2500
|
||||
MODULE_CONFIG
|
||||
module.yaml
|
||||
${LOGGER_MODULE_PARAMS}
|
||||
COMPILE_FLAGS
|
||||
${MAX_CUSTOM_OPT_LEVEL}
|
||||
-Wno-cast-align # TODO: fix and enable
|
||||
|
||||
124
src/modules/logger/module.yaml
Normal file
124
src/modules/logger/module.yaml
Normal file
@ -0,0 +1,124 @@
|
||||
module_name: logger
|
||||
parameters:
|
||||
- group: SD Logging
|
||||
definitions:
|
||||
SDLOG_UTC_OFFSET:
|
||||
description:
|
||||
short: 'UTC offset (unit: min)'
|
||||
long: the difference in hours and minutes from Coordinated Universal Time
|
||||
(UTC) for a your place and date. for example, In case of South Korea(UTC+09:00),
|
||||
UTC offset is 540 min (9*60) refer to https://en.wikipedia.org/wiki/List_of_UTC_time_offsets
|
||||
type: int32
|
||||
default: 0
|
||||
unit: min
|
||||
min: -1000
|
||||
max: 1000
|
||||
SDLOG_MODE:
|
||||
description:
|
||||
short: Logging Mode
|
||||
long: 'Determines when to start and stop logging. By default, logging is started
|
||||
when arming the system, and stopped when disarming. Note: The logging start/end
|
||||
points that can be configured here only apply to SD logging. The mavlink
|
||||
backend is started/stopped independently of these points.'
|
||||
type: enum
|
||||
values:
|
||||
0: when armed until disarm (default)
|
||||
1: from boot until disarm
|
||||
2: from boot until shutdown
|
||||
3: while manual input AUX1 >30%
|
||||
4: from 1st armed until shutdown
|
||||
default: 0
|
||||
reboot_required: true
|
||||
SDLOG_BACKEND:
|
||||
description:
|
||||
short: Logging Backend (integer bitmask)
|
||||
long: 'If no logging is set the logger will not be started. Set bits true
|
||||
to enable: 0: SD card logging 1: Mavlink logging'
|
||||
type: bitmask
|
||||
bit:
|
||||
0: SD card logging
|
||||
1: Mavlink logging
|
||||
default: 3
|
||||
min: 0
|
||||
max: 3
|
||||
reboot_required: true
|
||||
SDLOG_BOOT_BAT:
|
||||
description:
|
||||
short: Battery-only Logging
|
||||
long: When enabled, logging will not start from boot if battery power is not
|
||||
detected (e.g. powered via USB on a test bench). This prevents extraneous
|
||||
flight logs from being created during bench testing. Note that this only
|
||||
applies to log-from-boot modes. This has no effect on arm-based modes.
|
||||
type: boolean
|
||||
default: 0
|
||||
SDLOG_MISSION:
|
||||
description:
|
||||
short: Mission Log
|
||||
long: If enabled, a small additional "mission" log file will be written to
|
||||
the SD card. The log contains just those messages that are useful for tasks
|
||||
like generating flight statistics and geotagging. The different modes can
|
||||
be used to further reduce the logged data (and thus the log file size).
|
||||
For example, choose geotagging mode to only log data required for geotagging.
|
||||
Note that the normal/full log is still created, and contains all the data
|
||||
in the mission log (and more).
|
||||
type: enum
|
||||
values:
|
||||
0: Disabled
|
||||
1: All mission messages
|
||||
2: Geotagging messages
|
||||
default: 0
|
||||
reboot_required: true
|
||||
SDLOG_PROFILE:
|
||||
description:
|
||||
short: Logging topic profile (integer bitmask)
|
||||
long: 'This integer bitmask controls the set and rates of logged topics. The
|
||||
default allows for general log analysis while keeping the log file size
|
||||
reasonably small. Enabling multiple sets leads to higher bandwidth requirements
|
||||
and larger log files. Set bits true to enable: 0 : Default set (used for
|
||||
general log analysis) 1 : Full rate estimator (EKF2) replay topics 2 : Topics
|
||||
for thermal calibration (high rate raw IMU and Baro sensor data) 3 : Topics
|
||||
for system identification (high rate actuator control and IMU data) 4 :
|
||||
Full rates for analysis of fast maneuvers (RC, attitude, rates and actuators)
|
||||
5 : Debugging topics (debug_*.msg topics, for custom code) 6 : Topics for
|
||||
sensor comparison (low rate raw IMU, Baro and magnetometer data) 7 : Topics
|
||||
for computer vision and collision prevention 8 : Raw FIFO high-rate IMU
|
||||
(Gyro) 9 : Raw FIFO high-rate IMU (Accel) 10: Logging of mavlink tunnel
|
||||
message (useful for payload communication debugging)'
|
||||
type: bitmask
|
||||
bit:
|
||||
0: Default set (general log analysis)
|
||||
1: Estimator replay (EKF2)
|
||||
2: Thermal calibration
|
||||
3: System identification
|
||||
4: High rate
|
||||
5: Debug
|
||||
6: Sensor comparison
|
||||
7: Computer Vision and Avoidance
|
||||
8: Raw FIFO high-rate IMU (Gyro)
|
||||
9: Raw FIFO high-rate IMU (Accel)
|
||||
10: Mavlink tunnel message logging
|
||||
11: High rate sensors
|
||||
default: 1
|
||||
min: 0
|
||||
max: 4095
|
||||
reboot_required: true
|
||||
SDLOG_DIRS_MAX:
|
||||
description:
|
||||
short: Maximum number of log directories to keep
|
||||
long: 'If there are more log directories than this value, the system will
|
||||
delete the oldest directories during startup. In addition, the system will
|
||||
delete old logs if there is not enough free space left. The minimum amount
|
||||
is 300 MB. If this is set to 0, old directories will only be removed if
|
||||
the free space falls below the minimum. Note: this does not apply to mission
|
||||
log files.'
|
||||
type: int32
|
||||
default: 0
|
||||
min: 0
|
||||
max: 1000
|
||||
reboot_required: true
|
||||
SDLOG_UUID:
|
||||
description:
|
||||
short: Log UUID
|
||||
long: If set to 1, add an ID to the log, which uniquely identifies the vehicle
|
||||
type: boolean
|
||||
default: 1
|
||||
36
src/modules/logger/module_params_crypto.yaml
Normal file
36
src/modules/logger/module_params_crypto.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
module_name: logger
|
||||
parameters:
|
||||
- group: SD Logging
|
||||
definitions:
|
||||
SDLOG_ALGORITHM:
|
||||
description:
|
||||
short: Logfile Encryption algorithm
|
||||
long: Selects the algorithm used for logfile encryption
|
||||
type: enum
|
||||
values:
|
||||
0: Disabled
|
||||
2: XChaCha20
|
||||
default: 2
|
||||
SDLOG_KEY:
|
||||
description:
|
||||
short: Logfile Encryption key index
|
||||
long: Selects the key in keystore, used for encrypting the log. When using
|
||||
a symmetric encryption algorithm, the key is generated at logging start
|
||||
and kept stored in this index. For symmetric algorithms, the key is volatile
|
||||
and valid only for the duration of logging. The key is stored in encrypted
|
||||
format on the sdcard alongside the logfile, using an RSA2048 key defined
|
||||
by the SDLOG_EXCHANGE_KEY
|
||||
type: int32
|
||||
default: 2
|
||||
min: 0
|
||||
max: 255
|
||||
SDLOG_EXCH_KEY:
|
||||
description:
|
||||
short: Logfile Encryption key exchange key
|
||||
long: If the logfile is encrypted using a symmetric key algorithm, the used
|
||||
encryption key is generated at logging start and stored on the sdcard RSA2048
|
||||
encrypted using this key.
|
||||
type: int32
|
||||
default: 1
|
||||
min: 0
|
||||
max: 255
|
||||
@ -1,244 +0,0 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2012-2016 PX4 Development Team. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/**
|
||||
* UTC offset (unit: min)
|
||||
*
|
||||
* the difference in hours and minutes from Coordinated
|
||||
* Universal Time (UTC) for a your place and date.
|
||||
*
|
||||
* for example, In case of South Korea(UTC+09:00),
|
||||
* UTC offset is 540 min (9*60)
|
||||
*
|
||||
* refer to https://en.wikipedia.org/wiki/List_of_UTC_time_offsets
|
||||
*
|
||||
* @unit min
|
||||
* @min -1000
|
||||
* @max 1000
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_UTC_OFFSET, 0);
|
||||
|
||||
/**
|
||||
* Logging Mode
|
||||
*
|
||||
* Determines when to start and stop logging. By default, logging is started
|
||||
* when arming the system, and stopped when disarming.
|
||||
*
|
||||
* Note: The logging start/end points that can be configured here only apply to
|
||||
* SD logging. The mavlink backend is started/stopped independently
|
||||
* of these points.
|
||||
*
|
||||
* @value 0 when armed until disarm (default)
|
||||
* @value 1 from boot until disarm
|
||||
* @value 2 from boot until shutdown
|
||||
* @value 3 while manual input AUX1 >30%
|
||||
* @value 4 from 1st armed until shutdown
|
||||
*
|
||||
* @reboot_required true
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_MODE, 0);
|
||||
|
||||
/**
|
||||
* Logging Backend (integer bitmask).
|
||||
*
|
||||
* If no logging is set the logger will not be started.
|
||||
*
|
||||
* Set bits true to enable:
|
||||
* 0: SD card logging
|
||||
* 1: Mavlink logging
|
||||
*
|
||||
* @min 0
|
||||
* @max 3
|
||||
* @bit 0 SD card logging
|
||||
* @bit 1 Mavlink logging
|
||||
*
|
||||
* @reboot_required true
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_BACKEND, 3);
|
||||
|
||||
/**
|
||||
* Battery-only Logging
|
||||
*
|
||||
* When enabled, logging will not start from boot if battery power is not detected
|
||||
* (e.g. powered via USB on a test bench). This prevents extraneous flight logs from
|
||||
* being created during bench testing.
|
||||
*
|
||||
* Note that this only applies to log-from-boot modes. This has no effect on arm-based
|
||||
* modes.
|
||||
*
|
||||
* @boolean
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_BOOT_BAT, 0);
|
||||
|
||||
/**
|
||||
* Mission Log
|
||||
*
|
||||
* If enabled, a small additional "mission" log file will be written to the SD card.
|
||||
* The log contains just those messages that are useful for tasks like
|
||||
* generating flight statistics and geotagging.
|
||||
*
|
||||
* The different modes can be used to further reduce the logged data
|
||||
* (and thus the log file size). For example, choose geotagging mode to
|
||||
* only log data required for geotagging.
|
||||
|
||||
* Note that the normal/full log is still created, and contains all
|
||||
* the data in the mission log (and more).
|
||||
*
|
||||
* @value 0 Disabled
|
||||
* @value 1 All mission messages
|
||||
* @value 2 Geotagging messages
|
||||
*
|
||||
* @reboot_required true
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_MISSION, 0);
|
||||
|
||||
/**
|
||||
* Logging topic profile (integer bitmask).
|
||||
*
|
||||
* This integer bitmask controls the set and rates of logged topics.
|
||||
* The default allows for general log analysis while keeping the
|
||||
* log file size reasonably small.
|
||||
*
|
||||
* Enabling multiple sets leads to higher bandwidth requirements and larger log
|
||||
* files.
|
||||
*
|
||||
* Set bits true to enable:
|
||||
* 0 : Default set (used for general log analysis)
|
||||
* 1 : Full rate estimator (EKF2) replay topics
|
||||
* 2 : Topics for thermal calibration (high rate raw IMU and Baro sensor data)
|
||||
* 3 : Topics for system identification (high rate actuator control and IMU data)
|
||||
* 4 : Full rates for analysis of fast maneuvers (RC, attitude, rates and actuators)
|
||||
* 5 : Debugging topics (debug_*.msg topics, for custom code)
|
||||
* 6 : Topics for sensor comparison (low rate raw IMU, Baro and magnetometer data)
|
||||
* 7 : Topics for computer vision and collision prevention
|
||||
* 8 : Raw FIFO high-rate IMU (Gyro)
|
||||
* 9 : Raw FIFO high-rate IMU (Accel)
|
||||
* 10: Logging of mavlink tunnel message (useful for payload communication debugging)
|
||||
*
|
||||
* @min 0
|
||||
* @max 4095
|
||||
* @bit 0 Default set (general log analysis)
|
||||
* @bit 1 Estimator replay (EKF2)
|
||||
* @bit 2 Thermal calibration
|
||||
* @bit 3 System identification
|
||||
* @bit 4 High rate
|
||||
* @bit 5 Debug
|
||||
* @bit 6 Sensor comparison
|
||||
* @bit 7 Computer Vision and Avoidance
|
||||
* @bit 8 Raw FIFO high-rate IMU (Gyro)
|
||||
* @bit 9 Raw FIFO high-rate IMU (Accel)
|
||||
* @bit 10 Mavlink tunnel message logging
|
||||
* @bit 11 High rate sensors
|
||||
* @reboot_required true
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_PROFILE, 1);
|
||||
|
||||
/**
|
||||
* Maximum number of log directories to keep
|
||||
*
|
||||
* If there are more log directories than this value,
|
||||
* the system will delete the oldest directories during startup.
|
||||
*
|
||||
* In addition, the system will delete old logs if there is not enough free space left.
|
||||
* The minimum amount is 300 MB.
|
||||
*
|
||||
* If this is set to 0, old directories will only be removed if the free space falls below
|
||||
* the minimum.
|
||||
*
|
||||
* Note: this does not apply to mission log files.
|
||||
*
|
||||
* @min 0
|
||||
* @max 1000
|
||||
* @reboot_required true
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_DIRS_MAX, 0);
|
||||
|
||||
/**
|
||||
* Log UUID
|
||||
*
|
||||
* If set to 1, add an ID to the log, which uniquely identifies the vehicle
|
||||
*
|
||||
* @boolean
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_UUID, 1);
|
||||
|
||||
/**
|
||||
* Logfile Encryption algorithm
|
||||
*
|
||||
* Selects the algorithm used for logfile encryption
|
||||
*
|
||||
* @value 0 Disabled
|
||||
* @value 2 XChaCha20
|
||||
*
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_ALGORITHM, 2);
|
||||
|
||||
/**
|
||||
* Logfile Encryption key index
|
||||
*
|
||||
* Selects the key in keystore, used for encrypting the log. When using
|
||||
* a symmetric encryption algorithm, the key is generated at logging start
|
||||
* and kept stored in this index. For symmetric algorithms, the key is
|
||||
* volatile and valid only for the duration of logging. The key is stored
|
||||
* in encrypted format on the sdcard alongside the logfile, using an RSA2048
|
||||
* key defined by the SDLOG_EXCHANGE_KEY
|
||||
*
|
||||
* @min 0
|
||||
* @max 255
|
||||
*
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_KEY, 2);
|
||||
|
||||
/**
|
||||
* Logfile Encryption key exchange key
|
||||
*
|
||||
* If the logfile is encrypted using a symmetric key algorithm,
|
||||
* the used encryption key is generated at logging start and stored
|
||||
* on the sdcard RSA2048 encrypted using this key.
|
||||
*
|
||||
* @min 0
|
||||
* @max 255
|
||||
*
|
||||
* @group SD Logging
|
||||
*/
|
||||
PARAM_DEFINE_INT32(SDLOG_EXCH_KEY, 1);
|
||||
Loading…
x
Reference in New Issue
Block a user