Browse Source

SYS_EXT_MAG parameter added for magnetometer selection

sbg
Anton Babushkin 11 years ago
parent
commit
d39d5cc9da
  1. 27
      ROMFS/px4fmu_common/init.d/rc.sensors
  2. 11
      src/modules/systemlib/system_params.c

27
ROMFS/px4fmu_common/init.d/rc.sensors

@ -6,12 +6,6 @@ @@ -6,12 +6,6 @@
ms5611 start
adc start
# Mag might be external
if hmc5883 start
then
echo "[init] Using HMC5883"
fi
if mpu6000 start
then
echo "[init] Using MPU6000"
@ -22,12 +16,25 @@ then @@ -22,12 +16,25 @@ then
echo "[init] Using L3GD20(H)"
fi
if ver hwcmp PX4FMU_V2
# Use selected (internal/external) magnetometer
if param compare SYS_EXT_MAG 0
then
# IMPORTANT: EXTERNAL BUSES SHOULD BE SCANNED FIRST
if lsm303d start
if hmc5883 -I start
then
echo "[init] Using internal HMC5883"
fi
if ver hwcmp PX4FMU_V2
then
if lsm303d start
then
echo "[init] Using internal LSM303D"
fi
fi
else
if hmc5883 -X start
then
echo "[init] Using LSM303D"
echo "[init] Using external HMC5883"
fi
fi

11
src/modules/systemlib/system_params.c

@ -82,3 +82,14 @@ PARAM_DEFINE_INT32(SYS_USE_IO, 1); @@ -82,3 +82,14 @@ PARAM_DEFINE_INT32(SYS_USE_IO, 1);
* @group System
*/
PARAM_DEFINE_INT32(SYS_RESTART_TYPE, 2);
/**
* Set usage of external magnetometer
*
* Set to 1 to use external magnetometer instead of internal one.
*
* @min 0
* @max 1
* @group System
*/
PARAM_DEFINE_INT32(SYS_EXT_MAG, 0);

Loading…
Cancel
Save