|
|
|
@ -136,95 +136,88 @@ static GPS *g_gps;
@@ -136,95 +136,88 @@ static GPS *g_gps;
|
|
|
|
|
// flight modes convenience array |
|
|
|
|
static AP_Int8 *flight_modes = &g.flight_mode1; |
|
|
|
|
|
|
|
|
|
#if HIL_MODE == HIL_MODE_DISABLED |
|
|
|
|
|
|
|
|
|
// real sensors |
|
|
|
|
#if CONFIG_ADC == ENABLED |
|
|
|
|
#if CONFIG_ADC == ENABLED |
|
|
|
|
static AP_ADC_ADS7844 adc; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
# if CONFIG_HAL_BOARD == HAL_BOARD_AVR_SITL |
|
|
|
|
AP_Baro_BMP085_HIL barometer; |
|
|
|
|
AP_Compass_HIL compass; |
|
|
|
|
AP_InertialSensor_Stub ins; |
|
|
|
|
SITL sitl; |
|
|
|
|
#else |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if CONFIG_BARO == AP_BARO_BMP085 |
|
|
|
|
#if CONFIG_BARO == AP_BARO_BMP085 |
|
|
|
|
static AP_Baro_BMP085 barometer; |
|
|
|
|
#elif CONFIG_BARO == AP_BARO_PX4 |
|
|
|
|
#elif CONFIG_BARO == AP_BARO_PX4 |
|
|
|
|
static AP_Baro_PX4 barometer; |
|
|
|
|
#elif CONFIG_BARO == AP_BARO_MS5611 |
|
|
|
|
#if CONFIG_MS5611_SERIAL == AP_BARO_MS5611_SPI |
|
|
|
|
static AP_Baro_MS5611 barometer(&AP_Baro_MS5611::spi); |
|
|
|
|
#elif CONFIG_MS5611_SERIAL == AP_BARO_MS5611_I2C |
|
|
|
|
static AP_Baro_MS5611 barometer(&AP_Baro_MS5611::i2c); |
|
|
|
|
#else |
|
|
|
|
#error Unrecognized CONFIG_MS5611_SERIAL setting. |
|
|
|
|
#endif |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if CONFIG_HAL_BOARD == HAL_BOARD_PX4 |
|
|
|
|
static AP_Compass_PX4 compass; |
|
|
|
|
#elif CONFIG_BARO == AP_BARO_HIL |
|
|
|
|
static AP_Baro_BMP085_HIL barometer; |
|
|
|
|
#elif CONFIG_BARO == AP_BARO_MS5611 |
|
|
|
|
#if CONFIG_MS5611_SERIAL == AP_BARO_MS5611_SPI |
|
|
|
|
static AP_Baro_MS5611 barometer(&AP_Baro_MS5611::spi); |
|
|
|
|
#elif CONFIG_MS5611_SERIAL == AP_BARO_MS5611_I2C |
|
|
|
|
static AP_Baro_MS5611 barometer(&AP_Baro_MS5611::i2c); |
|
|
|
|
#else |
|
|
|
|
#error Unrecognized CONFIG_MS5611_SERIAL setting. |
|
|
|
|
#endif |
|
|
|
|
#else |
|
|
|
|
#error Unrecognized CONFIG_BARO setting |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if CONFIG_COMPASS == AP_COMPASS_PX4 |
|
|
|
|
static AP_Compass_PX4 compass; |
|
|
|
|
#elif CONFIG_COMPASS == AP_COMPASS_HMC5843 |
|
|
|
|
static AP_Compass_HMC5843 compass; |
|
|
|
|
#elif CONFIG_COMPASS == AP_COMPASS_HIL |
|
|
|
|
static AP_Compass_HIL compass; |
|
|
|
|
#else |
|
|
|
|
#error Unrecognized CONFIG_COMPASS setting |
|
|
|
|
#endif |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
// real GPS selection |
|
|
|
|
#if GPS_PROTOCOL == GPS_PROTOCOL_AUTO |
|
|
|
|
// GPS selection |
|
|
|
|
#if GPS_PROTOCOL == GPS_PROTOCOL_AUTO |
|
|
|
|
AP_GPS_Auto g_gps_driver(&g_gps); |
|
|
|
|
|
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_NMEA |
|
|
|
|
AP_GPS_NMEA g_gps_driver(); |
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_NMEA |
|
|
|
|
AP_GPS_NMEA g_gps_driver; |
|
|
|
|
|
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_SIRF |
|
|
|
|
AP_GPS_SIRF g_gps_driver(); |
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_SIRF |
|
|
|
|
AP_GPS_SIRF g_gps_driver; |
|
|
|
|
|
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_UBLOX |
|
|
|
|
AP_GPS_UBLOX g_gps_driver(); |
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_UBLOX |
|
|
|
|
AP_GPS_UBLOX g_gps_driver; |
|
|
|
|
|
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_MTK |
|
|
|
|
AP_GPS_MTK g_gps_driver(); |
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_MTK |
|
|
|
|
AP_GPS_MTK g_gps_driver; |
|
|
|
|
|
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_MTK19 |
|
|
|
|
AP_GPS_MTK19 g_gps_driver(); |
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_MTK19 |
|
|
|
|
AP_GPS_MTK19 g_gps_driver; |
|
|
|
|
|
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_NONE |
|
|
|
|
AP_GPS_None g_gps_driver(); |
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_NONE |
|
|
|
|
AP_GPS_None g_gps_driver; |
|
|
|
|
|
|
|
|
|
#else |
|
|
|
|
#elif GPS_PROTOCOL == GPS_PROTOCOL_HIL |
|
|
|
|
AP_GPS_HIL g_gps_driver; |
|
|
|
|
|
|
|
|
|
#else |
|
|
|
|
#error Unrecognised GPS_PROTOCOL setting. |
|
|
|
|
#endif // GPS PROTOCOL |
|
|
|
|
#endif // GPS PROTOCOL |
|
|
|
|
|
|
|
|
|
# if CONFIG_INS_TYPE == CONFIG_INS_MPU6000 |
|
|
|
|
#if CONFIG_INS_TYPE == CONFIG_INS_MPU6000 |
|
|
|
|
AP_InertialSensor_MPU6000 ins; |
|
|
|
|
# elif CONFIG_INS_TYPE == CONFIG_INS_PX4 |
|
|
|
|
#elif CONFIG_INS_TYPE == CONFIG_INS_PX4 |
|
|
|
|
AP_InertialSensor_PX4 ins; |
|
|
|
|
# elif CONFIG_HAL_BOARD != HAL_BOARD_AVR_SITL |
|
|
|
|
#elif CONFIG_INS_TYPE == CONFIG_INS_STUB |
|
|
|
|
AP_InertialSensor_Stub ins; |
|
|
|
|
#elif CONFIG_INS_TYPE == CONFIG_INS_OILPAN |
|
|
|
|
AP_InertialSensor_Oilpan ins( &adc ); |
|
|
|
|
#endif // CONFIG_INS_TYPE |
|
|
|
|
#else |
|
|
|
|
#error Unrecognised CONFIG_INS_TYPE setting. |
|
|
|
|
#endif // CONFIG_INS_TYPE |
|
|
|
|
|
|
|
|
|
#if HIL_MODE == HIL_MODE_ATTITUDE |
|
|
|
|
AP_AHRS_HIL ahrs(&ins, g_gps); |
|
|
|
|
#else |
|
|
|
|
AP_AHRS_DCM ahrs(&ins, g_gps); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#elif HIL_MODE == HIL_MODE_SENSORS |
|
|
|
|
// sensor emulators |
|
|
|
|
AP_Baro_BMP085_HIL barometer; |
|
|
|
|
AP_Compass_HIL compass; |
|
|
|
|
AP_GPS_HIL g_gps_driver; |
|
|
|
|
AP_InertialSensor_Stub ins; |
|
|
|
|
AP_AHRS_DCM ahrs(&ins, g_gps); |
|
|
|
|
|
|
|
|
|
#elif HIL_MODE == HIL_MODE_ATTITUDE |
|
|
|
|
AP_Baro_BMP085_HIL barometer; |
|
|
|
|
AP_Compass_HIL compass; |
|
|
|
|
AP_GPS_HIL g_gps_driver; |
|
|
|
|
AP_InertialSensor_Stub ins; |
|
|
|
|
AP_AHRS_HIL ahrs(&ins, g_gps); |
|
|
|
|
|
|
|
|
|
#else |
|
|
|
|
#error Unrecognised HIL_MODE setting. |
|
|
|
|
#endif // HIL MODE |
|
|
|
|
#if CONFIG_HAL_BOARD == HAL_BOARD_AVR_SITL |
|
|
|
|
SITL sitl; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
// Training mode |
|
|
|
|
static bool training_manual_roll; // user has manual roll control |
|
|
|
|