PX4 v1.15 public changes - what needs docs?

Param changes are a good way of detecting things that perhaps need documentation.

For example COM_ARMABLE is new in v1.15 but there are no docs. Perhaps it should be added to Arm, Disarm, Prearm Configuration | PX4 Guide (main) though?

The list of params added/removed/default value changes are listed below:
Some of this may already have been documented

**EDIT - LIST Might include or omit a few things. Due to bug in JSON param generation these groups are not included in output so I get false positives. I have tried to clean up, but if there are any you can ignore them for now.

Geometry
ModalAI Custom Configuration
Payload Deliverer
RC
RC Input
Roboclaw
Roboclaw Driver
Rover Ackermann
Rover Differential Drive
Septentrio
UWB
UXRCE-DDS Client
Zenoh

[Bug] Param metadata missing for json and xml files ¡ Issue #23442 ¡ PX4/PX4-Autopilot ¡ GitHub. I have tried to clean it up a bit.**

Removed in v1.15 and status unknown or maybe needs docs

[I’ve moved the things with “known” statuses down - eventually this should be empty]

Added in V1.15 and docs status unknown

[I’ve moved the things with docs or decision not to doc down - eventually this should be empty]

Added and documented

Slow mode params

  • ‘MC_SLOW_DEF_HVEL’, ‘MC_SLOW_DEF_VVEL’, ‘MC_SLOW_DEF_YAWR’, ‘MC_SLOW_MAP_HVEL’, ‘MC_SLOW_MAP_VVEL’, ‘MC_SLOW_MAP_YAWR’, ‘MC_SLOW_MIN_HVEL’, ‘MC_SLOW_MIN_VVEL’, ‘MC_SLOW_MIN_YAWR’,

Throw mode

Throw Launch (Multicopter) | PX4 Guide (main) (and in relnote)

  • ‘COM_THROW_EN’, ‘COM_THROW_SPEED’,

Advanced config FW

Safety updates

Distance sensors

Battery SIM

USB0C

Do nothing (much)

Because no one is showing any interest, and I believe them to be not something desrving of separate mention.

  • ‘MPC_ACC_DECOUPLE’, - when would this be set?
  • ‘MPC_YAWRAUTO_ACC’, - Does this need to be added to tuning docs or is it too rare to change?
  • ‘RTL_APPR_FORCE’,
  • ‘SENS_AFBR_HYSTER’, ‘SENS_AFBR_L_RATE’, ‘SENS_AFBR_MODE’, ‘SENS_AFBR_S_RATE’, ‘SENS_AFBR_THRESH’,
    • All related to “AFBR Rangefinder”
    • Could we get a docs page on this?
    • Is that this AFBR-S50MV85G ? Or are there variants?
    • Are their wiring and setup instructions?
    • Who would know?
  • ‘SENS_EN_ASP5033’,
  • ‘SENS_IMU_CLPNOTI’,
    • Presumably an event - should this be documented anywhere other than params? I.e. when would you change this?

Renames

  • ‘FW_T_THR_DAMPING’, ‘FW_T_THR_INTEG’,

Removed and documented

Renamed to VOXL_ESC due to driver change (from note added below)

  • ‘MODAL_IO_BAUD’, ‘MODAL_IO_CONFIG’, ‘MODAL_IO_MODE’, ‘MODAL_IO_RPM_MAX’, ‘MODAL_IO_RPM_MIN’, ‘MODAL_IO_SDIR1’, ‘MODAL_IO_SDIR2’, ‘MODAL_IO_SDIR3’, ‘MODAL_IO_SDIR4’, ‘MODAL_IO_T_COSP’, ‘MODAL_IO_T_DEAD’, ‘MODAL_IO_T_EXPO’, ‘MODAL_IO_T_MINF’, ‘MODAL_IO_T_PERC’, ‘MODAL_IO_VLOG’,

(you can use PX4_GZ_MODEL_POSE for position)

  • ‘SIM_GZ_HOME_ALT’, ‘SIM_GZ_HOME_LAT’, ‘SIM_GZ_HOME_LON’,

-{‘CANNODE_NODE_ID’, - removed as was never used Cannode boot immediatly and get node ID later by AlexKlimaj · Pull Request #21270 · PX4/PX4-Autopilot · GitHub

Removed in Some parameter cleanup by sfuhrer ¡ Pull Request #21736 ¡ PX4/PX4-Autopilot ¡ GitHub (not really used and not documented to start with):

  • ‘COM_ARM_ARSP_EN’, VT_B_DEC_FF

These not doc’ed before so assume not needed to be doc’d now

Navigator: Geofence improvements by sfuhrer ¡ Pull Request #22394 ¡ PX4/PX4-Autopilot ¡ GitHub - removed not needed:

  • ‘GF_ALTMODE’, ‘GF_COUNT’,

In release note

  • ‘FW_ARSP_MODE’,
  • ‘SYS_MC_EST_GROUP’ + ‘ATT_EN’, + ‘LPE_EN’,
  • ‘SYS_HAS_NUM_ASPD’,
1 Like

Yes, all MODAL_IO parameters become VOXL_ESC parameters due to a driver renaming.

1 Like

@sfuhrer @MaEtUgR These params changed default value in v1.15:

Is there anything specific that needs to be pulled out in docs about these? For example, MPC_ALT_MODE changed from altitude following to terrain hold - so I presume that means if you have a rangefinder you will terrain follow by default?

param: ASPD_BETA_NOISE: old_default: 0.3, new_default: 0.15
param: ASPD_TAS_GATE: old_default: 3, new_default: 4
param: ASPD_WIND_NSD: old_default: 0.01, new_default: 0.1
param: ATT_ACC_COMP: old_default: 1, new_default: 0
param: MC_ACRO_EXPO: old_default: 0.69, new_default: 0.0
param: MC_ACRO_EXPO_Y: old_default: 0.69, new_default: 0.0
param: MC_ACRO_P_MAX: old_default: 720.0, new_default: 100.0
param: MC_ACRO_R_MAX: old_default: 720.0, new_default: 100.0
param: MC_ACRO_SUPEXPO: old_default: 0.7, new_default: 0.0
param: MC_ACRO_SUPEXPOY: old_default: 0.7, new_default: 0.0
param: MC_ACRO_Y_MAX: old_default: 540.0, new_default: 100.0
param: MPC_ALT_MODE: old_default: 0, new_default: 2

ALSO, does this need docs?

Does this need a relnote?

MAN_KILL_GEST_T is the timeout for a “kill gesture”:

  • My assumption is that you have the arm/disarm gesture and that arms/disarms if you hold in the right position for 1 second (or as long as the setting for this)
  • So the kill gesture is the same thing but for longer, and “one-way”, and it is a kill gesture because you have done it in flight. Is that correct? (i.e. a kill is like a disarm in flight - that also does the flight termination behaviour).
  • The reason I question this is there is also COM_DISARM_MAN which sets whether you can disarm in flight in thrust modes … but isn’t that the same as a Kill? So why do we need this? (COM_DISARM_MAN)
1 Like

For the maximum Acro rates and stick expo I made a pr with my suggestion here:

I wanted to change this for a while and now seems the right moment to update :+1:

MAN_KILL_GEST_T

We should document that in Safety | PX4 Guide (main) since that’s a new safety feature that you can enable a kill gesture that is not enabled by default (yet). Reference: Stick gesture to kill by MaEtUgR · Pull Request #18509 · PX4/PX4-Autopilot · GitHub

COM_DISARM_MAN but isn’t that the same as a Kill?

No, in manual thrust modes (Acro, Stabilized, Manual) you can by default always disarm also using the gesture even if the autopilot did not detect a landing (in which case it would anyways auto disarm COM_DISARM_LAND). Killing is a separate mechanism that just stops the motors. If mapped to a switch it could be undone immediately again (not sure how useful that is) but with the cesture it’s one way. And if you stay killed for 5 seconds it will disarm (see COM_KILL_DISARM). I think we should simplify this to a controlled, normal way to turn off (disarm) and an irreversible safety switch (terminate/kill). But this was not tackled yet.

MAN_KILL_GEST_T

Thanks @MaEtUgR - fixed in [v1.15] Kill gesture docs by hamishwillee ¡ Pull Request #3316 ¡ PX4/PX4-user_guide ¡ GitHub

There are questions there for your consideration.

the param default changes of ASPD_BETA_NOISE, ASPD_TAS_GATE, ASPD_WIND_NSD are not something that the needs special highlighting, but it actually would be nice to have a complete list of param changes in the release notes. One section about added params, one about removed params, one about params with changes defaults and one where the param interpretation changed. I’m happy to fill it out - @hamishwillee if you agree that it would be useful, could you help with setting up the format/page?

ALSO, does this need docs? ‘RTL_HDG_MD’

No, this extra feature was not documented before and was removed because we deemed it not important enough, so I don’t think we need to worry about it for the release notes/docs in general.

Does this need a relnote? [Advanced TECS Tuning (Weight and Altitude)

Yes that one is a bigger change, and needs a checkup on the docs side and a mention in the release notes. @Roman could you handle it?

FYI @sfuhrer , @Roman updated Advanced TECS Tuning (Weight and Altitude) - 7 months ago in [WIP] Fixed-wing performance model docs by RomanBapst ¡ Pull Request #2842 ¡ PX4/PX4-user_guide ¡ GitHub but omitted the release note. So it may be up to date and just need that note.

Params issue fixed. Here are the new items for v1.15 that were not covered from above (also removed things like VOXL that I know changed names).

@sfuhrer @MaEtUgR Could you cast your eyes over these and see if there is anything obvious that is in need of docs. E.g. I imagine that the battery params indicate a new battery, so that would imply listing in docs that we support more than two.

REMOVED

‘GPS_PITCH_OFFSET’,
‘PCA9685_RATE’,

ADDED

  • Addition of another battery?
    ‘BAT3_CAPACITY’,
    ‘BAT3_N_CELLS’,
    ‘BAT3_R_INTERNAL’,
    ‘BAT3_SOURCE’,
    ‘BAT3_V_CHARGED’,
    ‘BAT3_V_EMPTY’,
    ‘BAT3_V_LOAD_DROP’,

  • ?
    ‘CAL_MAG0_PITCH’,
    ‘CAL_MAG0_ROLL’,
    ‘CAL_MAG0_YAW’,

    • Repeat for mag1,2

‘COM_MODE0_HASH’, - repeat to mode 7

‘EKF2_AGP_CTRL’,
‘EKF2_AGP_DELAY’,
‘EKF2_AGP_GATE’,
‘EKF2_AGP_NOISE’,
‘EKF2_DELAY_MAX’,
‘EKF2_EN’,
‘EKF2_MAG_CHK_INC’,
‘EKF2_MAG_CHK_STR’,

‘MODALAI_CONFIG’,

‘PCA9685_DUTY_EN’,
‘PCA9685_PWM_FREQ’,
‘PCA9685_SCHD_HZ’,

  • New roboclaw implementation. Who owns it to document?
    ‘RBCLW_ADDRESS’,
    ‘RBCLW_COUNTS_REV’,
    ‘RBCLW_DIS1’,
    ‘RBCLW_DIS2’,
    ‘RBCLW_FAIL1’,
    ‘RBCLW_FAIL2’,
    ‘RBCLW_FUNC1’,
    ‘RBCLW_FUNC2’,
    ‘RBCLW_MAX1’,
    ‘RBCLW_MAX2’,
    ‘RBCLW_MIN1’,
    ‘RBCLW_MIN2’,
    ‘RBCLW_REV’,
    ‘RBCLW_SER_CFG’,

  • This is Ackermann? If not, what?
    ‘RDD_ANG_SCALE’,
    ‘RDD_I_ANG_VEL’,
    ‘RDD_I_SPEED’,
    ‘RDD_MAX_ACCEL’,
    ‘RDD_MAX_JERK’,
    ‘RDD_P_ANG_VEL’,
    ‘RDD_P_HEADING’,
    ‘RDD_P_SPEED’,
    ‘RDD_SPEED_SCALE’,
    ‘RDD_WHEEL_BASE’,
    ‘RDD_WHEEL_RADIUS’,
    ‘RDD_WHEEL_SPEED’,

This presumably configures new sensor. I’ll look at it.
‘SENS_FTX_CFG’, - this

  • Sep docs all should be good though need to backport
    ‘SEP_AUTO_CONFIG’,

  • Are these relevant to end users?
    ‘SIM_GZ_WH_DIS1’,
    ‘SIM_GZ_WH_DIS2’,
    ‘SIM_GZ_WH_FAIL1’,
    ‘SIM_GZ_WH_FAIL2’,
    ‘SIM_GZ_WH_FUNC1’,
    ‘SIM_GZ_WH_FUNC2’,
    ‘SIM_GZ_WH_MAX1’,
    ‘SIM_GZ_WH_MAX2’,
    ‘SIM_GZ_WH_MIN1’,
    ‘SIM_GZ_WH_MIN2’,
    ‘SIM_GZ_WH_REV’,

  • UXRCE! @Benja - do these need docs?

‘UXRCE_DDS_PTCFG’,
‘UXRCE_DDS_SYNCC’,
‘UXRCE_DDS_SYNCT’,

‘VN_MODE’,

‘VT_BT_TILT_DUR’,
‘ZENOH_ENABLE’}

param: PCA9685_MAX1: old_default: 2000, new_default: 1900 … repeat
param: PCA9685_MIN1: old_default: 1000, new_default: 1100 … repeate

param: EKF2_DECL_TYPE: old_default: 7, new_default: 3
param: EKF2_IMU_CTRL: old_default: 3, new_default: 7
param: EKF2_TAS_GATE: old_default: 3.0, new_default: 5.0
param: EKF2_WIND_NSD: old_default: 0.01, new_default: 0.05

param: UWB_PORT_CFG: old_default: 102, new_default: 0

‘CAL_MAG0_PITCH’,
‘CAL_MAG0_ROLL’,
‘CAL_MAG0_YAW’,

@hamishwillee A new feature by @bresch that you can set arbitrary magnetometer orientations by setting CAL_MAGn_ROT to 100 and specifying the above parameters. See Enable arbitrary euler angle for Mag rotation [NEW] by bresch ¡ Pull Request #22000 ¡ PX4/PX4-Autopilot ¡ GitHub

New roboclaw implementation. Who owns it to document?

@Per_Frivik and/or @Christian_Friedrich

This is Ackermann? If not, what?

RDD - Rover differential drive, related to above.

Are these relevant to end users?

SIM_GZ_WH simulated rover wheel related to above.

param: EKF2_DECL_TYPE: old_default: 7, new_default: 3

We removed the option to enable or disable declination fusion. This is now automatically enabled when needed. The rest is the same (bit 3 got removed, that’s why 7->3)

param: EKF2_IMU_CTRL: old_default: 3, new_default: 7

Gravity tilt fusion is now enabled by default (i.e.: the EKF is allowed to use it when needed). The EKF uses gravity tilt fusion when no other velocity or measurements are available to constrain the inevitable tilt drift experienced when performing pure gyro integration.

param: EKF2_TAS_GATE: old_default: 3.0, new_default: 5.0
param: EKF2_WIND_NSD: old_default: 0.01, new_default: 0.05

Both changed in Fixed-wing/VTOL: High wind hardening by sfuhrer ¡ Pull Request #21764 ¡ PX4/PX4-Autopilot ¡ GitHub to improve the behavior when flying in strong wind conditions.

This is set by default as it provides a smoother flight experience in position and auto modes, however, the tracking is a bit worse than when disabled.
It can be disabled when accurate position tracking during dynamic maneuvers is more important than a smooth flight.

On the RDD parameters: These are superseded by the restructure of the differential module Restructure and update differential rover module by chfriedrich98 ¡ Pull Request #23430 ¡ PX4/PX4-Autopilot ¡ GitHub the documentation of which will be added with Restructure rover docs by chfriedrich98 ¡ Pull Request #3311 ¡ PX4/PX4-user_guide ¡ GitHub (This also deprecates the open docs PR you linked).
However, these changes are not part of v1.15. I don’t think it is worth to write a “temporary” documentation for the version of the differential module that seems to be part of this release. My suggestion would be to keep it “hidden” and update the docs with the full rover restructure in v1.16.

THANK YOU ALL. TLDR: I don’t think there is anything to do now.

@MaEtUgR

@Christian_Friedrich

  • Re RDD/Differential drive/SIM_WH… I agree we shouldn’t talk about them until the full implementation is in. For v1.15 ignore. I can’t hide the parameters, but no will worry about them if they are not linked from broader docs.
  • I assume Roboclaw stuff is part of this, and will get documented with it?

@bresch

1 Like

@hamishwillee , UXRCE DDS main doc is aligned with v1.15 - no need to add / change anything.

2 Likes