ardupilot-methodic-configurator 2.5.0__py3-none-any.whl → 2.6.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. ardupilot_methodic_configurator/__init__.py +1 -1
  2. ardupilot_methodic_configurator/backend_filesystem_program_settings.py +15 -20
  3. ardupilot_methodic_configurator/configuration_manager.py +113 -1
  4. ardupilot_methodic_configurator/data_model_configuration_step.py +40 -3
  5. ardupilot_methodic_configurator/frontend_tkinter_base_window.py +4 -0
  6. ardupilot_methodic_configurator/frontend_tkinter_component_editor_base.py +1 -1
  7. ardupilot_methodic_configurator/frontend_tkinter_motor_test.py +853 -0
  8. ardupilot_methodic_configurator/frontend_tkinter_parameter_editor.py +8 -12
  9. ardupilot_methodic_configurator/frontend_tkinter_parameter_editor_table.py +78 -108
  10. ardupilot_methodic_configurator/frontend_tkinter_usage_popup_window.py +11 -6
  11. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500/07_esc.param +1 -1
  12. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500/42_system_id_roll.param +5 -3
  13. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500/43_system_id_pitch.param +3 -3
  14. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500/44_system_id_yaw.param +1 -1
  15. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500/vehicle.jpg +0 -0
  16. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500/vehicle_components.json +3 -4
  17. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/05_remote_controller.param +7 -7
  18. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/06_telemetry.param +2 -0
  19. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/07_esc.param +6 -6
  20. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/10_gnss.param +4 -4
  21. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/13_general_configuration.param +5 -5
  22. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/15_motor.param +1 -1
  23. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/16_pid_adjustment.param +10 -10
  24. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/18_notch_filter_setup.param +3 -3
  25. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/20_throttle_controller.param +1 -1
  26. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/22_quick_tune_setup.param +1 -1
  27. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/26_quick_tune_setup.param +2 -2
  28. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/30_autotune_roll_setup.param +1 -0
  29. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/34_autotune_yaw_setup.param +1 -1
  30. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/37_autotune_yawd_results.param +1 -1
  31. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/Holybro_X500_V2/vehicle.jpg +0 -0
  32. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/00_default.param +1352 -0
  33. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/02_imu_temperature_calibration_setup.param +8 -0
  34. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/03_imu_temperature_calibration_results.param +42 -0
  35. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/04_board_orientation.param +4 -0
  36. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/05_remote_controller.param +13 -0
  37. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/06_telemetry.param +4 -0
  38. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/07_esc.param +43 -0
  39. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/08_batt1.param +15 -0
  40. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/10_gnss.param +11 -0
  41. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/11_initial_atc.param +18 -0
  42. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/12_mp_setup_mandatory_hardware.param +99 -0
  43. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/13_general_configuration.param +17 -0
  44. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/14_logging.param +6 -0
  45. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/15_motor.param +4 -0
  46. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/16_pid_adjustment.param +13 -0
  47. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/17_remote_id.param +4 -0
  48. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/18_notch_filter_setup.param +10 -0
  49. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/19_notch_filter_results.param +7 -0
  50. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/20_throttle_controller.param +5 -0
  51. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/21_ekf_config.param +2 -0
  52. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/22_quick_tune_setup.param +14 -0
  53. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/23_quick_tune_results.param +10 -0
  54. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/24_inflight_magnetometer_fit_setup.param +8 -0
  55. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/24_inflight_magnetometer_fit_setup.pdef.xml +57 -0
  56. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/25_inflight_magnetometer_fit_results.param +15 -0
  57. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/26_quick_tune_setup.param +14 -0
  58. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/27_quick_tune_results.param +10 -0
  59. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/28_evaluate_the_aircraft_tune_ff_disable.param +4 -0
  60. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/29_evaluate_the_aircraft_tune_ff_enable.param +1 -0
  61. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/30_autotune_roll_setup.param +2 -0
  62. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/31_autotune_roll_results.param +5 -0
  63. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/32_autotune_pitch_setup.param +2 -0
  64. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/33_autotune_pitch_results.param +5 -0
  65. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/34_autotune_yaw_setup.param +3 -0
  66. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/35_autotune_yaw_results.param +5 -0
  67. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/36_autotune_yawd_setup.param +3 -0
  68. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/37_autotune_yawd_results.param +5 -0
  69. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/38_autotune_roll_pitch_retune_setup.param +2 -0
  70. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/39_autotune_roll_pitch_retune_results.param +10 -0
  71. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/40_windspeed_estimation.param +5 -0
  72. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/41_barometer_compensation.param +7 -0
  73. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/42_system_id_roll.param +21 -0
  74. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/43_system_id_pitch.param +10 -0
  75. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/44_system_id_yaw.param +10 -0
  76. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/45_system_id_thrust.param +10 -0
  77. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/46_analytical_pid_optimization.param +4 -0
  78. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/47_position_controller.param +13 -0
  79. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/48_guided_operation.param +4 -0
  80. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/49_precision_land.param +27 -0
  81. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/50_optical_flow_setup.param +19 -0
  82. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/51_optical_flow_results.param +3 -0
  83. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/52_use_optical_flow_instead_of_gnss.param +8 -0
  84. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/53_everyday_use.param +7 -0
  85. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/vehicle.jpg +0 -0
  86. ardupilot_methodic_configurator/vehicle_templates/ArduCopter/TarotFY680Hexacopter/vehicle_components.json +188 -0
  87. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/METADATA +74 -134
  88. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/RECORD +101 -43
  89. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/WHEEL +0 -0
  90. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/entry_points.txt +0 -0
  91. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/LICENSE.md +0 -0
  92. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/LICENSES/Apache-2.0.txt +0 -0
  93. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/LICENSES/BSD-3-Clause.txt +0 -0
  94. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/LICENSES/GPL-3.0-or-later.txt +0 -0
  95. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/LICENSES/LGPL-3.0-or-later.txt +0 -0
  96. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/LICENSES/MIT-CMU.txt +0 -0
  97. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/LICENSES/MIT.txt +0 -0
  98. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/LICENSES/MPL-2.0.txt +0 -0
  99. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/LICENSES/PSF-2.0.txt +0 -0
  100. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/licenses/credits/CREDITS.md +0 -0
  101. {ardupilot_methodic_configurator-2.5.0.dist-info → ardupilot_methodic_configurator-2.6.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,10 @@
1
+ ATC_RAT_YAW_I,0.018 # we are not performing system identification on the yaw axis, so restore it to the autotuned value
2
+ ATC_RATE_FF_ENAB,0 # prevent the rate controllers from compensating too much of the frequency-sweep signal
3
+ PSC_ACCZ_I,0 # prevent the rate controllers from compensating too much of the frequency-sweep signal
4
+ SID_AXIS,13 # Inject chip on the mixer thrust signal
5
+ SID_F_START_HZ,0.2
6
+ SID_F_STOP_HZ,10
7
+ SID_MAGNITUDE,0.12
8
+ SID_T_FADE_IN,10
9
+ SID_T_FADE_OUT,5
10
+ SID_T_REC,100
@@ -0,0 +1,4 @@
1
+ ARMING_CHECK,1 # Normal state for everyday use
2
+ ATC_RATE_FF_ENAB,1 # Restore value now that system identification is done
3
+ PSC_ACCZ_I,1 # now that system identification on thrust has been completed, restore it to 2 • MOT_THST_HOVER
4
+ SID_AXIS,0 # No more system identification chip injections
@@ -0,0 +1,13 @@
1
+ ANGLE_MAX,3000
2
+ LOG_BITMASK,145150 # Add Navigation logging
3
+ LOIT_ACC_MAX,500
4
+ LOIT_BRK_ACCEL,250
5
+ LOIT_BRK_DELAY,1
6
+ LOIT_BRK_JERK,500
7
+ PSC_VELXY_FF,0 # PSCN.AE/PSCN.VE if you have flown North-South or PSCE.AE/PSCE.VE if you have flown East-West
8
+ WPNAV_ACCEL_C,0 # 2 * WPNAV_ACCEL so that the cornering behaviour is mostly controlled by WPNAV_RADIUS https://github.com/ArduPilot/ardupilot/pull/25928
9
+ WPNAV_ACCEL_Z,100 # high speed missions in auto
10
+ WPNAV_ACCEL,250 # high speed missions in auto
11
+ WPNAV_JERK,1 # high speed missions in auto
12
+ WPNAV_SPEED_DN,150 # high speed missions in auto
13
+ WPNAV_SPEED,1000 # high speed missions in auto
@@ -0,0 +1,4 @@
1
+ FS_GCS_ENABLE,0
2
+ RALLY_INCL_HOME,1
3
+ RALLY_TOTAL,0
4
+ SYSID_MYGCS,255
@@ -0,0 +1,27 @@
1
+ EK3_RNG_M_NSE,0.5
2
+ EK3_RNG_USE_HGT,-1
3
+ LAND_ALT_LOW,1000
4
+ LAND_SPEED,50
5
+ PLND_ACC_P_NSE,2.5
6
+ PLND_ALT_MAX,8
7
+ PLND_ALT_MIN,0.75
8
+ PLND_BUS,-1
9
+ PLND_CAM_POS_X,0.14
10
+ PLND_CAM_POS_Y,0
11
+ PLND_CAM_POS_Z,0.05
12
+ PLND_ENABLED,0
13
+ PLND_EST_TYPE,0
14
+ PLND_LAG,0.24
15
+ PLND_LAND_OFS_X,0
16
+ PLND_LAND_OFS_Y,0
17
+ PLND_OPTIONS,0
18
+ PLND_RET_BEHAVE,0
19
+ PLND_RET_MAX,4
20
+ PLND_STRICT,1
21
+ PLND_TIMEOUT,4
22
+ PLND_TYPE,1
23
+ PLND_XY_DIST_MAX,0
24
+ PLND_YAW_ALIGN,0
25
+ PSC_POSXY_P,1
26
+ RC10_OPTION,0 # Relay On/Off to activate precision landing light
27
+ RC11_OPTION,0 # Precision loiter
@@ -0,0 +1,19 @@
1
+ EK3_FLOW_DELAY,10 # the optical flow sensor delay
2
+ EK3_SRC_OPTIONS,1 # Disable FuseAllVelocities during the calibration flight
3
+ EK3_SRC1_POSXY,3 # Use GNSS as a reference during the calibration flight
4
+ EK3_SRC1_POSZ,1 # Baro, we will not use GNSS here
5
+ EK3_SRC1_VELXY,3 # Use GNSS as a reference during the calibration flight
6
+ EK3_SRC1_VELZ,3 # Use GNSS as a reference during the calibration flight
7
+ EK3_SRC1_YAW,1 # Use magnetometer as a yaw reference during the calibration flight
8
+ EK3_SRC2_POSXY,0 # 0 for optical flow only
9
+ EK3_SRC2_POSZ,1 # Baro, we will not use GNSS here
10
+ EK3_SRC2_VELXY,0 # Optical flow velocity
11
+ EK3_SRC2_VELZ,0 # None, optical flow will not provide Z velocity
12
+ EK3_SRC2_YAW,0 # Use magnetometer as a yaw reference during the calibration flight
13
+ FLOW_ORIENT_YAW,0 # change this if needed
14
+ FLOW_POS_X,0
15
+ FLOW_POS_Y,0
16
+ FLOW_POS_Z,0
17
+ FLOW_TYPE,0 # we have a dronecan flow sensor
18
+ RC8_OPTION,0 # Use RC8 channel to enable optical flow calibration
19
+ RC9_OPTION,0 # Use RC9 channel to select EKF Pos Source: low is GPS, middle is OpticalFlow, high is unused
@@ -0,0 +1,3 @@
1
+ FLOW_FXSCALER,0 # the FlowCal results
2
+ FLOW_FYSCALER,0 # the FlowCal results
3
+ FLOW_ORIENT_YAW,0 # change this if needed
@@ -0,0 +1,8 @@
1
+ EK3_SRC_OPTIONS,1 # Disable FuseAllVelocities
2
+ EK3_SRC1_POSXY,3 # 0 for optical flow only or 3 to fallback to GNSS
3
+ EK3_SRC1_POSZ,1 # Baro, we will not use GNSS here
4
+ EK3_SRC1_VELXY,3 # Optical flow is now calibrated, use it
5
+ EK3_SRC1_VELZ,3 # None, optical flow will not provide Z velocity
6
+ EK3_SRC1_YAW,1 # Use magnetometer as a yaw reference
7
+ RC8_OPTION,0 # Disable RC8 switch for safety reasons
8
+ RC9_OPTION,0 # Disable RC9 switch for safety reasons
@@ -0,0 +1,7 @@
1
+ ATC_THR_MIX_MAX,0.5 # according to autotune documentation this should be raised up-to 0.9 after the tune
2
+ BATT_FS_LOW_ACT,2 # outdoors we want the drone to come back
3
+ BATT2_FS_LOW_ACT,2 # outdoors we want the drone to come back
4
+ LOG_BITMASK,176126 # 2:GPS,3:System Performance,4:Control Tuning,6:RC input,7:IMU,8:Mission Commands,9:Battery Monitor,12:PID,13:Compass,17:Motors
5
+ MIS_OPTIONS,0
6
+ RTL_ALT,1500 # The default is too high for the kind of flights we do. This reduces the altitude for outdoors
7
+ RTL_CLIMB_MIN,0 # always rise at least 1 meter as a visual indicator
@@ -0,0 +1,188 @@
1
+ {
2
+ "Format version": 1,
3
+ "Components": {
4
+ "Flight Controller": {
5
+ "Product": {
6
+ "Manufacturer": "MicoAir",
7
+ "Model": "MicoAir743v2",
8
+ "URL": "https://micoair.com/flightcontroller_micoair743v2/",
9
+ "Version": ""
10
+ },
11
+ "Firmware": {
12
+ "Type": "ArduCopter",
13
+ "Version": "4.6.2 official"
14
+ },
15
+ "Specifications": {
16
+ "MCU Series": "STM32H7xx"
17
+ },
18
+ "Notes": "went with the newest stable release"
19
+ },
20
+ "Frame": {
21
+ "Product": {
22
+ "Manufacturer": "Tarot",
23
+ "Model": "FY680",
24
+ "URL": "",
25
+ "Version": ""
26
+ },
27
+ "Specifications": {
28
+ "TOW min Kg": 1.6,
29
+ "TOW max Kg": 5.39
30
+ },
31
+ "Notes": "With or without 1 Gallon of water (for spraying my small garden/vineyard)"
32
+ },
33
+ "RC Controller": {
34
+ "Product": {
35
+ "Manufacturer": "Radiomaster",
36
+ "Model": "Pocket",
37
+ "URL": "https://www.radiomasterrc.com/products/tx16s-mark-ii-radio-controller",
38
+ "Version": ""
39
+ },
40
+ "Firmware": {
41
+ "Type": "EdgeTx",
42
+ "Version": "\"Centurion\" v2.10.6"
43
+ },
44
+ "Notes": "Yaapu telem installed, this is just the controller with the sticks. Some controllers do not include the RC transmitter, this one does."
45
+ },
46
+ "RC Transmitter": {
47
+ "Product": {
48
+ "Manufacturer": "Radiomaster",
49
+ "Model": "internal",
50
+ "URL": "https://www.radiomasterrc.com/products/boxer-radio-controller-m2",
51
+ "Version": "Pocket"
52
+ },
53
+ "Firmware": {
54
+ "Type": "ELRS (internal)",
55
+ "Version": "3.4.3"
56
+ },
57
+ "Notes": "Using the internal RF module"
58
+ },
59
+ "RC Receiver": {
60
+ "Product": {
61
+ "Manufacturer": "BetaFPV",
62
+ "Model": "SuperD ELRS Diversity 2.4GHz",
63
+ "URL": "",
64
+ "Version": ""
65
+ },
66
+ "Firmware": {
67
+ "Type": "ExpressLRS",
68
+ "Version": "3.5.5"
69
+ },
70
+ "FC Connection": {
71
+ "Type": "SERIAL6",
72
+ "Protocol": "CRSF"
73
+ },
74
+ "Notes": "Diversity, ExpressLRS 2.4GHz to match my radio, ELRS may need to be updated via WiFi or FTDI to bind\\."
75
+ },
76
+ "Telemetry": {
77
+ "Product": {
78
+ "Manufacturer": "MicoAir",
79
+ "Model": "LR24Fmini",
80
+ "URL": "https://store.micoair.com/product/lr24-telemetry-radio/",
81
+ "Version": "24F mini"
82
+ },
83
+ "Firmware": {
84
+ "Type": "",
85
+ "Version": ""
86
+ },
87
+ "FC Connection": {
88
+ "Type": "SERIAL1",
89
+ "Protocol": "MAVLink2"
90
+ },
91
+ "Notes": "UART1 For Telemetry Module. Bluetooth Telem is UART8."
92
+ },
93
+ "Battery Monitor": {
94
+ "Product": {
95
+ "Manufacturer": "MicoAir",
96
+ "Model": "4in1 ESC 60A",
97
+ "URL": "https://store.micoair.com/product/micoair743-v2/?attribute_type=Only+FC&attribute_pa_firmware_1=ardupilot",
98
+ "Version": ""
99
+ },
100
+ "Firmware": {
101
+ "Type": "BlueJay",
102
+ "Version": "21.0"
103
+ },
104
+ "FC Connection": {
105
+ "Type": "Analog",
106
+ "Protocol": "Analog Voltage and Current"
107
+ },
108
+ "Notes": "ESC Telemetry is used as battery monitor BATT_AMP_PERVLT is adjusted to the sensing ESC specs and multiplied by 1.5 to account for two more motors."
109
+ },
110
+ "Battery": {
111
+ "Product": {
112
+ "Manufacturer": "Ovonic",
113
+ "Model": "Orange",
114
+ "URL": "",
115
+ "Version": "5500mAh 6S 75C"
116
+ },
117
+ "Specifications": {
118
+ "Chemistry": "Lipo",
119
+ "Volt per cell max": 4.2,
120
+ "Volt per cell low": 3.5,
121
+ "Volt per cell crit": 3.45,
122
+ "Number of cells": 6,
123
+ "Capacity mAh": 5500
124
+ },
125
+ "Notes": "Ovonic Roam 5500"
126
+ },
127
+ "ESC": {
128
+ "Product": {
129
+ "Manufacturer": "MicoAir",
130
+ "Model": "60A BlueJay",
131
+ "URL": "https://store.micoair.com/product/micoair743-v2/?attribute_type=Only+FC&attribute_pa_firmware_1=ardupilot",
132
+ "Version": "1"
133
+ },
134
+ "Firmware": {
135
+ "Type": "BlueJay",
136
+ "Version": "21.0"
137
+ },
138
+ "FC Connection": {
139
+ "Type": "Main Out",
140
+ "Protocol": "DShot600"
141
+ },
142
+ "Notes": "Runs BDshot600 on Main out, One of two 4-in-1 ESCs, the other being a RuiBet 55A, this is the one used for Voltage and Current measurements. \"If you are still on 0.20.0, please upgrade to version 0.21.0 - there have been issues with stall detection and motor protection which might result in broken ESCs and/or motors\""
143
+ },
144
+ "Motors": {
145
+ "Product": {
146
+ "Manufacturer": "Generic",
147
+ "Model": "3115-900KV",
148
+ "URL": "https://www.aliexpress.us/item/3256807108933595.html?spm=a2g0o.order_list.order_list_main.5.13841802tr0Uqr&gatewayAdapt=glo2usa",
149
+ "Version": ""
150
+ },
151
+ "Specifications": {
152
+ "Poles": 14
153
+ },
154
+ "Notes": "High thrust and powerful motors, very cheap generics available."
155
+ },
156
+ "Propellers": {
157
+ "Product": {
158
+ "Manufacturer": "HQPROP",
159
+ "Model": "10x5x3",
160
+ "URL": "https://holybro.com/collections/multicopter-kit/products/spare-parts-x500-v2-kit?variant=41591073669309",
161
+ "Version": ""
162
+ },
163
+ "Specifications": {
164
+ "Diameter_inches": 10.0
165
+ },
166
+ "Notes": "Carbon-Nylon Props. These props are used by many brands for thrust-testing their 3115 900kV motor."
167
+ },
168
+ "GNSS Receiver": {
169
+ "Product": {
170
+ "Manufacturer": "MicoAir",
171
+ "Model": "MG-A01",
172
+ "URL": "https://holybro.com/products/m10-gps?srsltid=AfmBOootSZi5Pc_2XhliqsKy-u3_8l8SKZ8tzd5wDuPMENtL-ZeLngUL",
173
+ "Version": "1"
174
+ },
175
+ "Firmware": {
176
+ "Type": "Ublox",
177
+ "Version": "M10"
178
+ },
179
+ "FC Connection": {
180
+ "Type": "SERIAL3",
181
+ "Protocol": "uBlox"
182
+ },
183
+ "Notes": "uBlox M10 GNSS with compass running on the I2C bus"
184
+ }
185
+ },
186
+ "Program version": "2.3.0",
187
+ "Configuration template": "Holybro_X500_V2"
188
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ardupilot_methodic_configurator
3
- Version: 2.5.0
3
+ Version: 2.6.1
4
4
  Summary: A clear configuration sequence for ArduPilot vehicles
5
5
  Author-email: Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
6
6
  Maintainer-email: Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
@@ -66,18 +66,18 @@ Requires-Dist: coverage==7.10.7; extra == "dev"
66
66
  Requires-Dist: mock==5.2.0; extra == "dev"
67
67
  Requires-Dist: mypy==1.18.2; extra == "dev"
68
68
  Requires-Dist: pre-commit==4.3.0; extra == "dev"
69
- Requires-Dist: pylint==3.3.8; extra == "dev"
70
- Requires-Dist: pyright==1.1.405; extra == "dev"
69
+ Requires-Dist: pylint==3.3.9; extra == "dev"
70
+ Requires-Dist: pyright==1.1.406; extra == "dev"
71
71
  Requires-Dist: pytest==8.4.2; extra == "dev"
72
72
  Requires-Dist: pytest-cov==7.0.0; extra == "dev"
73
73
  Requires-Dist: pytest-md==0.2.0; extra == "dev"
74
74
  Requires-Dist: pytest-mock==3.15.1; extra == "dev"
75
75
  Requires-Dist: python-gettext==5.0; extra == "dev"
76
- Requires-Dist: ruff==0.13.2; extra == "dev"
76
+ Requires-Dist: ruff==0.13.3; extra == "dev"
77
77
  Requires-Dist: types-requests==2.32.4.20250913; extra == "dev"
78
78
  Provides-Extra: scripts
79
79
  Requires-Dist: bs4==0.0.2; extra == "scripts"
80
- Requires-Dist: selenium==4.35.0; extra == "scripts"
80
+ Requires-Dist: selenium==4.36.0; extra == "scripts"
81
81
  Requires-Dist: webdriver_manager==4.0.2; extra == "scripts"
82
82
  Provides-Extra: pypi-dist
83
83
  Requires-Dist: build==1.3.0; extra == "pypi-dist"
@@ -109,9 +109,12 @@ We are working on extending it to [ArduPlane](https://ardupilot.github.io/Method
109
109
  [Rover](https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_Rover) vehicles.
110
110
  But for those it is still very incomplete.
111
111
 
112
- - **clear**: the sequence is linear, executed one step at the time with no hidden complex dependencies
112
+ - **clear**: the semi-automated sequence is linear, executed one step at the time with no hidden complex dependencies
113
113
  - **proven**: the software has been used by hundreds of ArduPilot developers and users. From beginners to advanced. On big and small vehicles.
114
- - **safe**: the sequence reduces trial-and-error and reduces the amount of flights required to configure the vehicle
114
+ - **safe**: the sequence reduces trial-and-error by following established best practices and reduces the amount of flights required to configure the vehicle
115
+ - **Parameter management**: Upload, download, and edit parameters with full documentation
116
+ - **Vehicle templates**: Start from empty templates or from pre-configured settings for common vehicle types
117
+ - **Traceability**: Documents every parameter change with reasons
115
118
 
116
119
  Here are some YouTube video tutorials from the [AMC YouTube Channel](https://www.youtube.com/@AmilcardoCarmoLucas):
117
120
 
@@ -155,6 +158,60 @@ It's simple graphical user interface (GUI) manages and visualizes ArduPilot para
155
158
 
156
159
  No visible menus, no hidden menus, no complicated options, what you see is what gets changed.
157
160
 
161
+ ## Table of Contents
162
+
163
+ - [Quick Start](#quick-start)
164
+ - [What You'll Accomplish](#what-youll-accomplish)
165
+ - [Important Tips for Success](#important-tips-for-success)
166
+ - [1. Quick overview of the entire process](#1-quick-overview-of-the-entire-process)
167
+ - [1.1 Select the vehicle components](#11-select-the-vehicle-components)
168
+ - [1.2 Download and install software](#12-download-and-install-software)
169
+ - [1.3 Input vehicle components and component connections into ArduPilot Methodic Configurator](#13-input-vehicle-components-and-component-connections-into-ardupilot-methodic-configurator)
170
+ - [1.4 Perform IMU temperature calibration before assembling the autopilot into the vehicle (optional)](#14-perform-imu-temperature-calibration-before-assembling-the-autopilot-into-the-vehicle-optional)
171
+ - [1.5 Assemble all components except the propellers](#15-assemble-all-components-except-the-propellers)
172
+ - [1.6 Basic mandatory configuration](#16-basic-mandatory-configuration)
173
+ - [1.7 Assemble propellers and perform the first flight](#17-assemble-propellers-and-perform-the-first-flight)
174
+ - [1.8 Minimalistic mandatory tuning](#18-minimalistic-mandatory-tuning)
175
+ - [1.9 Standard tuning (optional)](#19-standard-tuning-optional)
176
+ - [1.10 Improve altitude under windy conditions (optional)](#110-improve-altitude-under-windy-conditions-optional)
177
+ - [1.11 System identification for analytical PID optimization (optional)](#111-system-identification-for-analytical-pid-optimization-optional)
178
+ - [1.12 Position controller tuning (optional)](#112-position-controller-tuning-optional)
179
+ - [1.13 Everyday use](#113-everyday-use)
180
+ - [Documentation and Support](#documentation-and-support)
181
+ - [Contributing](#contributing)
182
+ - [Internationalization](#internationalization)
183
+ - [Code of Conduct](#code-of-conduct)
184
+ - [License](#license)
185
+ - [Credits](#credits)
186
+
187
+ ## Quick Start
188
+
189
+ ### What You'll Accomplish
190
+
191
+ By the end of this process, your flight controller will be fully configured with:
192
+
193
+ - ✅ All parameters optimized for your specific vehicle
194
+ - ✅ Complete documentation of every change made
195
+ - ✅ Backup files for easy restoration
196
+ - ✅ Ready-to-fly configuration
197
+
198
+ ### Important Tips for Success
199
+
200
+ 💡 **Pro Tips:**
201
+
202
+ - **Take your time**: Read parameter descriptions - they contain valuable insights
203
+ - **Test incrementally**: The step-by-step approach allows testing between changes
204
+ - **Keep backups**: The software creates them automatically in the vehicle project directory
205
+ - **Document changes**: Always fill in the "Change Reason" field - future you will thank you
206
+
207
+ ⚠️ **Common Mistakes to Avoid:**
208
+
209
+ - **Rushing through steps**: Each parameter has a purpose - understand before changing
210
+ - **Skipping component validation**: Incorrect component settings can cause crashes
211
+ - **Ignoring warnings**: Red backgrounds and error messages are there for your safety
212
+ - **Forgetting calibrations**: Some parameters require physical calibration procedures:
213
+ - IMU temperature, analog voltage and current measurement, gyro, accelerometers
214
+
158
215
  ## 1. Quick overview of the entire process
159
216
 
160
217
  To methodically build, configure and tune ArduPilot vehicles follow this sequence of steps:
@@ -167,7 +224,7 @@ To methodically build, configure and tune ArduPilot vehicles follow this sequenc
167
224
  - Use [ecalc for multirotor](https://www.ecalc.ch/index.htm) to select the propulsion system.
168
225
  - follow [hardware best practices](https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#11-multicopter-hardware-best-practices)
169
226
 
170
- ### 1.2 Install Software
227
+ ### 1.2 Download and install software
171
228
 
172
229
  - Install ArduPilot Methodic Configurator on [MS windows](https://ardupilot.github.io/MethodicConfigurator/INSTALL.html#ms-windows-installation),
173
230
  [Linux](https://ardupilot.github.io/MethodicConfigurator/INSTALL.html#linux-installation) or
@@ -179,7 +236,7 @@ To methodically build, configure and tune ArduPilot vehicles follow this sequenc
179
236
 
180
237
  The software needs this information to automatically pre-select configuration settings relevant to your specific vehicle
181
238
 
182
- - [Start the ArduPilot Methodic Configurator and select a vehicle that resembles yours](#5-use-the-ardupilot-methodic-configurator-software-for-the-first-time)
239
+ - [Start the ArduPilot Methodic Configurator and select a vehicle that resembles yours](https://ardupilot.github.io/MethodicConfigurator/USECASES.html#use-the-ardupilot-methodic-configurator-software-for-the-first-time)
183
240
  and input vehicle components and component connections information into the ArduPilot Methodic Configurator *component editor window*
184
241
 
185
242
  ### 1.4 Perform IMU temperature calibration before assembling the autopilot into the vehicle (optional)
@@ -191,6 +248,9 @@ That is harder to do once the autopilot is assembled inside the vehicle, hence i
191
248
  - [start the software](https://ardupilot.github.io/MethodicConfigurator/USECASES.html#use-the-ardupilot-methodic-configurator-software-for-the-first-time)
192
249
  - Perform [IMU temperature calibration](https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#41-setup-imu-temperature-calibration)
193
250
 
251
+ Follow [starting the software after having created a new vehicle](https://ardupilot.github.io/MethodicConfigurator/USECASES.html#use-the-ardupilot-methodic-configurator-software-after-having-created-a-vehicle-from-a-template)
252
+ instructions once the calibration procedure is finished.
253
+
194
254
  ### 1.5 Assemble all components except the propellers
195
255
 
196
256
  Assemble and connect all components. Make sure you [follow best practices](https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#11-multicopter-hardware-best-practices)
@@ -299,75 +359,21 @@ Now that tuning and configuration are done, some logging and tests can be disabl
299
359
 
300
360
  - [53_everyday_use.param](https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#13-productive-configuration)
301
361
 
302
- Enjoy your properly configured vehicle.
303
-
304
- The following sections describe each step of the procedure in more detail.
305
-
306
- ## 2. Install *ArduPilot Methodic Configurator* software on a PC or Mac
307
-
308
- Install ArduPilot Methodic Configurator on [MS windows](https://ardupilot.github.io/MethodicConfigurator/INSTALL.html#ms-windows-installation),
309
- [Linux](https://ardupilot.github.io/MethodicConfigurator/INSTALL.html#linux-installation) or
310
- [macOS](https://ardupilot.github.io/MethodicConfigurator/INSTALL.html#macos-installation)
311
-
312
- ## 3. Install *Mission Planner* software on a PC or Mac
313
-
314
- [Install the latest Mission Planner version](https://ardupilot.github.io/MethodicConfigurator/INSTALL.html#install-mission-planner-software-on-a-pc-or-mac)
315
-
316
- ## 4. Install *ArduPilot* firmware on the flight controller
317
-
318
- [Install the latest ArduPilot firmware on your flight controller board](https://ardupilot.github.io/MethodicConfigurator/INSTALL.html#install-ardupilot-firmware-on-the-flight-controller)
319
-
320
- ## 5. Use the *ArduPilot Methodic Configurator* software for the first time
321
-
322
- See the [Use the *ArduPilot Methodic Configurator* software for the first time](https://ardupilot.github.io/MethodicConfigurator/USECASES.html#use-the-ardupilot-methodic-configurator-software-for-the-first-time)
323
- usecase.
324
-
325
- ## 6. Configure the vehicle's parameters in a traceable way
326
-
327
- The following simple loop is presented as welcome instructions:
328
- ![AMC welcome instructions](https://github.com/ArduPilot/MethodicConfigurator/blob/master/images/App_screenshot_instructions.png?raw=true)
329
-
330
- Now do this in a loop until the software automatically closes or you are asked to close the software:
331
-
332
- - Read all the documentation links displayed at the top of the GUI (marked with the big red number 4),
333
- - Edit the parameter's *New value* and *Reason changed* fields to match your vehicle (marked with the big red number 5),
334
- documenting change reasons is crucial because it:
335
- - Promotes thoughtful decisions over impulsive changes
336
- - Provides documentation for vehicle certification requirements
337
- - Enables validation or suggestions from team members or AI tools
338
- - Preserves your reasoning for future reference or troubleshooting
339
- - Press *Del* and/or *Add* buttons to delete or add parameters respectively (marked with the big red number 5),
340
- - If necessary scroll down using the scroll bar on the right and make sure you edit all parameters,
341
- - Press *Upload selected params to FC, and advance to next param file* (marked with the big red number 7),
342
- - Repeat from the top until the program automatically closes.
343
-
344
- ## 7. Use the *ArduPilot Methodic Configurator* software after having created a vehicle from a template
345
-
346
- See the [Use the *ArduPilot Methodic Configurator* software after having created a vehicle from a template](https://ardupilot.github.io/MethodicConfigurator/USECASES.html#use-the-ardupilot-methodic-configurator-software-after-having-created-a-vehicle-from-a-template)
347
- usecase.
348
-
349
362
  Congratulations your flight controller is now fully configured in the safest and fastest way publicly known.
350
363
 
351
- There is also [documentation on other use cases](https://ardupilot.github.io/MethodicConfigurator/USECASES.html)
352
- and a detailed but generic [Usermanual](https://ardupilot.github.io/MethodicConfigurator/USERMANUAL.html).
353
-
354
- ## Install
355
-
356
- See the [install instructions](https://ardupilot.github.io/MethodicConfigurator/INSTALL.html)
364
+ Enjoy your properly configured vehicle.
357
365
 
358
366
  ## Documentation and Support
359
367
 
360
368
  Need [help or support](https://ardupilot.github.io/MethodicConfigurator/SUPPORT.html)
361
369
 
370
+ There is also [documentation on other use cases](https://ardupilot.github.io/MethodicConfigurator/USECASES.html)
371
+ and a detailed but generic [Usermanual](https://ardupilot.github.io/MethodicConfigurator/USERMANUAL.html).
372
+
362
373
  ## Contributing
363
374
 
364
375
  Want [to help us and contribute](https://github.com/ArduPilot/MethodicConfigurator/blob/master/CONTRIBUTING.md)?
365
376
 
366
- ## Software design and development
367
-
368
- To meet the [Software requirements](https://ardupilot.github.io/MethodicConfigurator/ARCHITECTURE.html#software-requirements) a
369
- [software architecture](https://ardupilot.github.io/MethodicConfigurator/ARCHITECTURE.html#the-software-architecture) was designed and implemented.
370
-
371
377
  ## Internationalization
372
378
 
373
379
  The software is available in [multiple languages](https://github.com/ArduPilot/MethodicConfigurator/tree/master/ardupilot_methodic_configurator/locale).
@@ -377,76 +383,10 @@ On Linux and macOS the language is selectable by the `--language` command line a
377
383
 
378
384
  See [contributing page](https://github.com/ArduPilot/MethodicConfigurator/blob/master/CONTRIBUTING.md) if you want to help us translate the software into your language.
379
385
 
380
- ## Code of conduct
386
+ ## Code of Conduct
381
387
 
382
388
  To use and develop this software you must obey the [ArduPilot Methodic Configurator Code of Conduct](https://github.com/ArduPilot/MethodicConfigurator/blob/master/CODE_OF_CONDUCT.md).
383
389
 
384
- ## Compliance
385
-
386
- ArduPilot Methodic Configurator adheres to multiple compliance standards and best practices:
387
-
388
- ### Usability
389
-
390
- - [Wizard like interface](https://www.nngroup.com/articles/wizards/), allows user to concentrate in one task at a time
391
- - All GUI elements contain [mouse over tooltips](https://www.nngroup.com/articles/tooltip-guidelines/) explaining their function
392
- - Relevant documentation opens automatically in a browser window
393
- - Uses *What you see is what gets changed* paradigm. No parameters are changed without the users's knowledge
394
- - Translated into multiple languages
395
- - No visible menus, no hidden menus.
396
-
397
- ### Code Quality
398
-
399
- - Follows [PEP 8](https://peps.python.org/pep-0008/) Python code style guidelines
400
- - Maintains high code quality through automated linting (static code analysis), all using strict settings:
401
- - [Pylint](https://www.pylint.org/) [automated workflow](https://github.com/ArduPilot/MethodicConfigurator/actions/workflows/pylint.yml),
402
- - [Ruff](https://docs.astral.sh/ruff/) [automated workflow](https://github.com/ArduPilot/MethodicConfigurator/actions/workflows/ruff.yml),
403
- - [mypy](https://www.mypy-lang.org/) [automated workflow](https://github.com/ArduPilot/MethodicConfigurator/actions/workflows/mypy.yml) and
404
- - [pyright](https://microsoft.github.io/pyright/#/) [automated workflow](https://github.com/ArduPilot/MethodicConfigurator/actions/workflows/pyright.yml)
405
- - Uses [PEP 484](https://peps.python.org/pep-0484/) [type hints](https://docs.python.org/3/library/typing.html)
406
- - Enforces type checking with [MyPy](https://www.mypy-lang.org/) and [pyright](https://microsoft.github.io/pyright/#/) type checkers
407
- - Automated code formatting using [ruff](https://docs.astral.sh/ruff/) for consistency
408
- - Code and documentation are [spell checked](https://streetsidesoftware.com/vscode-spell-checker/)
409
- and [english grammar checked](https://app.grammarly.com/)
410
- - [markdown-lint](https://github.com/DavidAnson/markdownlint-cli2)
411
- [automated workflow](https://github.com/ArduPilot/MethodicConfigurator/actions/workflows/markdown-lint.yml) and
412
- - [markdown-link-check](https://github.com/tcort/markdown-link-check) [automated workflow](https://github.com/ArduPilot/MethodicConfigurator/actions/workflows/markdown-link-check.yml)
413
- - Follows object-oriented design principles and [clean code practices](https://www.oreilly.com/library/view/clean-code/9780136083238/)
414
- - Implements comprehensive error handling and logging, with 5 verbosity levels
415
- - Implements [PEP 621](https://peps.python.org/pep-0621/) project metadata standards
416
- - Adheres to [Keep a Changelog](https://keepachangelog.com/) format
417
- - Complies with [Python Packaging Authority](https://www.pypa.io/) guidelines
418
-
419
- ### Software Development
420
-
421
- - Implements [continuous integration/continuous deployment](https://github.com/ArduPilot/MethodicConfigurator/actions) (CI/CD) practices
422
- - Maintains comprehensive [assertion-based test coverage](https://coveralls.io/github/ArduPilot/MethodicConfigurator?branch=master) through [pytest](https://docs.pytest.org/en/stable/)
423
- - Uses [semantic versioning](https://semver.org/) for releases
424
- - Follows [git-flow branching model](https://www.gitkraken.com/learn/git/git-flow)
425
- - Implements [automated security scanning and vulnerability checks](https://app.snyk.io/org/amilcarlucas/project/c8fd6e29-715b-4949-b828-64eff84f5fe1)
426
- - Implements [git pre-commit hooks](https://pre-commit.com/) to ensure code quality and compliance on every commit
427
- - Implements reproducible builds with locked dependencies
428
- - Uses containerized CI/CD environments for consistency
429
- - Uses automated changelog generation
430
- - Implements automated dependency updates and security patches using [renovate](https://www.mend.io/renovate/) and [dependabot](https://github.com/dependabot)
431
-
432
- ### Open Source
433
-
434
- - Complies with [OpenSSF Best Practices](https://www.bestpractices.dev/projects/9101) for open source projects
435
- - Uses [REUSE specification](https://reuse.software/spec-3.3/) for license compliance
436
- - Uses CI job to ensure compliance
437
- - Uses [SPDX license identifiers](https://spdx.org/licenses/)
438
- - Maintains comprehensive (more than 5000 lines) documentation
439
- - Implements [inclusive community guidelines](https://github.com/ArduPilot/MethodicConfigurator/blob/master/CODE_OF_CONDUCT.md)
440
- - Provides [clear contribution procedures](https://github.com/ArduPilot/MethodicConfigurator/blob/master/CONTRIBUTING.md)
441
-
442
- ### Security
443
-
444
- - Regular security audits through [Snyk](https://snyk.io/), [codacy](https://www.codacy.com/), [black duck](https://www.blackduck.com/) and other tools
445
- - Follows [OpenSSF Security Scorecard](https://securityscorecards.dev/) best practices
446
- - Uses [gitleaks](https://github.com/gitleaks/gitleaks) pre-commit hook to ensure no secrets are leaked
447
- - Implements secure coding practices, runs [anti-virus in CI](https://github.com/ArduPilot/MethodicConfigurator/actions/workflows/gitavscan.yml)
448
- - Maintains [security policy and vulnerability reporting process](https://github.com/ArduPilot/MethodicConfigurator/blob/master/SECURITY.md)
449
-
450
390
  ## License
451
391
 
452
392
  This software is cost free.