Understanding hwdwf nomenclature and structure for configuring IOs and drivers

Hi,

I’m porting hwdef.dat file to a new board and getting hard time in understanding its structure in terms of peripheral IO configurations and enabling drivers for different sensors.

Are there any documents available to understand the standards/structure of hwdwf file?

Thankyou

The fmuv3 hwdef file is the most complete and commented file that I know of, if that helps.
And this section in the developer docs
https://ardupilot.org/dev/docs/porting.html

1 Like

Thankyou @xfacta. I’ve already referred these documents but still not all the details are included.

Ex: I’m not able to get the keywords used in below driver declarations.

  1. IMU Invensense SPI:icm20602_ext ROTATION_ROLL_180_YAW_270
  2. IMU LSM9DS0 SPI:lsm9ds0_ext_g SPI:lsm9ds0_ext_am ROTATION_ROLL_180_YAW_270 ROTATION_ROLL_180_YAW_90 ROTATION_ROLL_180_YAW_90
  3. COMPASS LSM303D SPI:lsm9ds0_ext_am ROTATION_YAW_270

I know icm20602 is probed using SPI driver but what is ROTATION_ROLL_180_YAW_270 and some drivers are specified with _ext. These details are not mentioned anywhere