PX4 / PX4-user_guide

PX4 User Guide

Home Page:https://docs.px4.io/main/en/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Generally need to explain how to enable features

hamishwillee opened this issue · comments

My understanding is that historically boards included almost all drivers by default, but now they don't, and what is included is configured using kconfig.

Further, most drivers were enabled by default via either a startup script or parameters, but now most drivers are enabled using parameters explicitly.

So we need to know

  • i.e. what is in firmware by default
  • what is not in firmware by default
  • How to find out if you don't know, and how to put something in firmware if it is not
  • What drivers are enabled by default.
  • what you do to enable drivers if something is in firmware: - such as https://docs.px4.io/main/en/config/airspeed.html
  • If possibe autogenerate docs for this as far as possible - e.g. if a driver has to be enabled using param, list the param in the module docs.

From Beat:

We generally still have most things built in for the main boards. Only flash-constrained boards are stripped down (e.g. kakute).
For parameters there's generally movement towards 'needs to be explicitly enabled'. Most things should still work plug-n-play though afaik (e.g. RC protocol param set on first detection). I'm not sure how the situation specifically changes compared to the previous version. Maybe easiest if we compare the set of parameters?
Some time in the future we should have a UI to enable all peripherals.

Further investigation (to confirm) main change happened between 12 and 13. I'm seeing a whole new bunch of Sensor params with name including EN or ending with _EN, such as https://docs.px4.io/main/en/advanced_config/parameter_reference.html#SENS_EN_ETSASPD

  • Can I assume most such sensors will follow that convention?

Is there anything other than sensors group I should be looking at for hardware enabling? I think Telemetry . Anything else?

Does the config stuff in GPS also do enabling - like GPS_1_CONFIG . That's kind of different I think.

There also seems to be some stuff to enable UAVCAN ....'UAVCAN_PUB_MBD','UAVCAN_PUB_RTCM','UAVCAN_SUB_ASPD','UAVCAN_SUB_BARO','UAVCAN_SUB_BAT','UAVCAN_SUB_BTN','UAVCAN_SUB_DPRES','UAVCAN_SUB_FLOW','UAVCAN_SUB_GPS','UAVCAN_SUB_HYGRO','UAVCAN_SUB_ICE','UAVCAN_SUB_IMU','UAVCAN_SUB_MAG',

If I start with those things, am I likely to be capturing most of the things that have to be explicitly enabled?