#pragma once #define HAL_BOARD_NAME "Linux" #define HAL_CPU_CLASS HAL_CPU_CLASS_1000 #define HAL_OS_POSIX_IO 1 #define HAL_OS_SOCKETS 1 #define HAL_STORAGE_SIZE 16384 #define HAL_STORAGE_SIZE_AVAILABLE HAL_STORAGE_SIZE #if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NONE #define HAL_BOARD_LOG_DIRECTORY "logs" #define HAL_BOARD_TERRAIN_DIRECTORY "terrain" #define HAL_INS_DEFAULT HAL_INS_HIL #define HAL_BARO_DEFAULT HAL_BARO_HIL #define HAL_COMPASS_DEFAULT HAL_COMPASS_HIL #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_PXF || CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ERLEBOARD #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_INS_DEFAULT HAL_INS_MPU9250_SPI #if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_PXF #define HAL_INS_DEFAULT_ROTATION ROTATION_ROLL_180_YAW_270 #else #define HAL_INS_DEFAULT_ROTATION ROTATION_ROLL_180_YAW_90 #endif #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_SPI #define HAL_BARO_MS5611_NAME "ms5611" #define HAL_COMPASS_DEFAULT HAL_COMPASS_AK8963_MPU9250 #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_GPIO_A_LED_PIN 61 #define HAL_GPIO_B_LED_PIN 48 #define HAL_GPIO_C_LED_PIN 117 #define HAL_GPIO_LED_ON LOW #define HAL_GPIO_LED_OFF HIGH #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BEBOP #define HAL_BOARD_LOG_DIRECTORY "/data/ftp/internal_000/ardupilot/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/data/ftp/internal_000/ardupilot/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/data/ftp/internal_000/ardupilot" #define HAL_INS_DEFAULT HAL_INS_MPU60XX_I2C #define HAL_INS_DEFAULT_ROTATION ROTATION_YAW_270 #define HAL_INS_MPU60x0_I2C_BUS 2 #define HAL_INS_MPU60x0_I2C_ADDR 0x68 #define HAL_COMPASS_DEFAULT HAL_COMPASS_AK8963_I2C #define HAL_COMPASS_AK8963_I2C_BUS 1 #define HAL_COMPASS_AK8963_I2C_ADDR 0x0d #define HAL_BARO_DEFAULT HAL_BARO_MS5607_I2C #define HAL_BARO_MS5607_I2C_BUS 1 #define HAL_BARO_MS5607_I2C_ADDR 0x77 #define HAL_HAVE_IMU_HEATER 1 #define HAL_IMU_TEMP_DEFAULT 55 #define HAL_UTILS_HEAT HAL_LINUX_HEAT_PWM #define HAL_LINUX_HEAT_PWM_NUM 6 #define HAL_LINUX_HEAT_KP 20000 #define HAL_LINUX_HEAT_KI 6 #define HAL_LINUX_HEAT_PERIOD_NS 125000 #define HAL_LINUX_HEAT_TARGET_TEMP 50 #define BEBOP_CAMV_PWM 9 #define BEBOP_CAMV_PWM_FREQ 43333333 #define HAL_OPTFLOW_ONBOARD_VDEV_PATH "/dev/video0" #define HAL_OPTFLOW_ONBOARD_SUBDEV_PATH "/dev/v4l-subdev0" #define HAL_OPTFLOW_ONBOARD_SENSOR_WIDTH 320 #define HAL_OPTFLOW_ONBOARD_SENSOR_HEIGHT 240 #define HAL_OPTFLOW_ONBOARD_OUTPUT_WIDTH 64 #define HAL_OPTFLOW_ONBOARD_OUTPUT_HEIGHT 64 #define HAL_OPTFLOW_ONBOARD_CROP_WIDTH 240 #define HAL_OPTFLOW_ONBOARD_CROP_HEIGHT 240 #define HAL_OPTFLOW_ONBOARD_NBUFS 8 #define HAL_FLOW_PX4_MAX_FLOW_PIXEL 4 #define HAL_FLOW_PX4_BOTTOM_FLOW_FEATURE_THRESHOLD 30 #define HAL_FLOW_PX4_BOTTOM_FLOW_VALUE_THRESHOLD 5000 #define HAL_PARAM_DEFAULTS_PATH "/data/ftp/internal_000/ardupilot/bebop.parm" #define HAL_RCOUT_BEBOP_BLDC_I2C_BUS 1 #define HAL_RCOUT_BEBOP_BLDC_I2C_ADDR 0x08 /* focal length 2.21mm pixel size 3.6 um, 2x binning in each direction * 240x240 crop rescaled to 64x64 */ #define HAL_FLOW_PX4_FOCAL_LENGTH_MILLIPX (2.21 / (3.6 * 2.0 * 240 / 64)) #define HAL_RANGEFINDER_LIGHTWARE_I2C_BUS 0 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_DISCO #define HAL_BOARD_LOG_DIRECTORY "/data/ftp/internal_000/ardupilot/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/data/ftp/internal_000/ardupilot/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/data/ftp/internal_000/ardupilot" #define HAL_INS_DEFAULT HAL_INS_MPU60XX_I2C #define HAL_INS_DEFAULT_ROTATION ROTATION_PITCH_180_YAW_90 #define HAL_INS_MPU60x0_I2C_BUS 2 #define HAL_INS_MPU60x0_I2C_ADDR 0x68 #define HAL_COMPASS_DEFAULT HAL_COMPASS_AK8963_I2C #define HAL_COMPASS_AK8963_I2C_BUS 1 #define HAL_COMPASS_AK8963_I2C_ADDR 0x0d #define HAL_BARO_DEFAULT HAL_BARO_MS5607_I2C #define HAL_BARO_MS5607_I2C_BUS 1 #define HAL_BARO_MS5607_I2C_ADDR 0x77 #define HAL_UTILS_HEAT HAL_LINUX_HEAT_PWM #define HAL_LINUX_HEAT_PWM_NUM 10 #define HAL_LINUX_HEAT_KP 20000 #define HAL_LINUX_HEAT_KI 6 #define HAL_LINUX_HEAT_PERIOD_NS 125000 #define HAL_LINUX_HEAT_TARGET_TEMP 50 #define BEBOP_CAMV_PWM 9 #define BEBOP_CAMV_PWM_FREQ 43333333 #define HAL_OPTFLOW_ONBOARD_VDEV_PATH "/dev/video0" #define HAL_OPTFLOW_ONBOARD_SUBDEV_PATH "/dev/v4l-subdev0" #define HAL_OPTFLOW_ONBOARD_SENSOR_WIDTH 320 #define HAL_OPTFLOW_ONBOARD_SENSOR_HEIGHT 240 #define HAL_OPTFLOW_ONBOARD_OUTPUT_WIDTH 64 #define HAL_OPTFLOW_ONBOARD_OUTPUT_HEIGHT 64 #define HAL_OPTFLOW_ONBOARD_CROP_WIDTH 240 #define HAL_OPTFLOW_ONBOARD_CROP_HEIGHT 240 #define HAL_OPTFLOW_ONBOARD_NBUFS 8 #define HAL_FLOW_PX4_MAX_FLOW_PIXEL 4 #define HAL_FLOW_PX4_BOTTOM_FLOW_FEATURE_THRESHOLD 30 #define HAL_FLOW_PX4_BOTTOM_FLOW_VALUE_THRESHOLD 5000 #define HAL_RCOUT_DISCO_BLDC_I2C_BUS 1 #define HAL_RCOUT_DISCO_BLDC_I2C_ADDR 0x08 #define HAL_PARAM_DEFAULTS_PATH "/data/ftp/internal_000/ardupilot/disco.parm" /* focal length 2.21mm pixel size 3.6 um, 2x binning in each direction * 240x240 crop rescaled to 64x64 */ #define HAL_FLOW_PX4_FOCAL_LENGTH_MILLIPX (2.21 / (3.6 * 2.0 * 240 / 64)) #define HAL_RANGEFINDER_LIGHTWARE_I2C_BUS 0 // the disco has challenges with its magnetic setup #define AP_COMPASS_OFFSETS_MAX_DEFAULT 2200 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE #define HAL_INS_DEFAULT HAL_INS_MPU60XX_SPI #define HAL_INS_DEFAULT_ROTATION ROTATION_YAW_90 #define HAL_INS_MPU60x0_NAME "mpu6000" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_I2C #define HAL_BARO_MS5611_I2C_BUS 10 #define HAL_BARO_MS5611_I2C_ADDR 0x77 /* Internal and external compasses */ #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_OPTFLOW_ONBOARD_VDEV_PATH "/dev/video0" #define HAL_OPTFLOW_ONBOARD_SENSOR_WIDTH 320 #define HAL_OPTFLOW_ONBOARD_SENSOR_HEIGHT 240 #define HAL_OPTFLOW_ONBOARD_OUTPUT_WIDTH 64 #define HAL_OPTFLOW_ONBOARD_OUTPUT_HEIGHT 64 #define HAL_OPTFLOW_ONBOARD_CROP_WIDTH 240 #define HAL_OPTFLOW_ONBOARD_CROP_HEIGHT 240 #define HAL_OPTFLOW_ONBOARD_NBUFS 8 #define HAL_FLOW_PX4_MAX_FLOW_PIXEL 4 #define HAL_FLOW_PX4_BOTTOM_FLOW_FEATURE_THRESHOLD 30 #define HAL_FLOW_PX4_BOTTOM_FLOW_VALUE_THRESHOLD 5000 /* ELP-USBFHD01M-L21 * focal length 2.1 mm, pixel size 3 um * 240x240 crop rescaled to 64x64 */ #define HAL_FLOW_PX4_FOCAL_LENGTH_MILLIPX (2.1 / (3.0 * 2.0 * 240 / 64)) #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO #define HAL_GPIO_A_LED_PIN 0 #define HAL_GPIO_B_LED_PIN 1 #define HAL_GPIO_C_LED_PIN 2 #define HAL_GPIO_LED_ON HIGH #define HAL_GPIO_LED_OFF LOW #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_INS_DEFAULT HAL_INS_MPU9250_SPI #define HAL_INS_DEFAULT_ROTATION ROTATION_NONE #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_I2C #define HAL_BARO_MS5611_I2C_BUS 1 #define HAL_BARO_MS5611_I2C_ADDR 0x77 #define HAL_COMPASS_DEFAULT HAL_COMPASS_NAVIO /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO2 #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_INS_DEFAULT HAL_INS_MPU9250_SPI #define HAL_INS_DEFAULT_ROTATION ROTATION_NONE #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_INS_LSM9DS1_NAME "lsm9ds1" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_I2C #define HAL_BARO_MS5611_I2C_BUS 1 #define HAL_BARO_MS5611_I2C_ADDR 0x77 #define HAL_COMPASS_DEFAULT HAL_COMPASS_NAVIO2 /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_GPIO_A_LED_PIN 16 #define HAL_GPIO_B_LED_PIN 16 #define HAL_GPIO_C_LED_PIN 16 #define HAL_GPIO_LED_ON LOW #define HAL_GPIO_LED_OFF HIGH #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2 #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_INS_DEFAULT HAL_INS_MPU9250_SPI #define HAL_INS_DEFAULT_ROTATION ROTATION_YAW_270 #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_SPI #define HAL_BARO_MS5611_NAME "ms5611" #define HAL_COMPASS_DEFAULT HAL_COMPASS_AK8963_MPU9250 /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_GPIO_A_LED_PIN 24 #define HAL_GPIO_B_LED_PIN 25 #define HAL_GPIO_C_LED_PIN 16 #define HAL_GPIO_LED_ON LOW #define HAL_GPIO_LED_OFF HIGH #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ZYNQ #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" // Stub the sensors out for now, at least we can build and run #define HAL_INS_DEFAULT HAL_INS_HIL #define HAL_BARO_DEFAULT HAL_BARO_HIL #define HAL_COMPASS_DEFAULT HAL_COMPASS_HIL #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_OCPOC_ZYNQ #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_INS_DEFAULT HAL_INS_MPU9250_SPI #define HAL_INS_DEFAULT_ROTATION ROTATION_NONE #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_SPI #define HAL_BARO_MS5611_NAME "ms5611" #define HAL_COMPASS_DEFAULT HAL_COMPASS_OCPOC_ZYNQ /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 4 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define AP_COMPASS_OFFSETS_MAX_DEFAULT 1000 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BBBMINI #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_GPIO_A_LED_PIN 69 #define HAL_GPIO_B_LED_PIN 68 #define HAL_GPIO_C_LED_PIN 45 #define HAL_GPIO_LED_ON LOW #define HAL_GPIO_LED_OFF HIGH #define HAL_INS_DEFAULT HAL_INS_BBBMINI #define HAL_INS_DEFAULT_ROTATION ROTATION_NONE #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_INS_MPU9250_NAME_EXT "mpu9250ext" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_SPI #define HAL_BARO_MS5611_NAME "ms5611" #define HAL_COMPASS_DEFAULT HAL_COMPASS_BBBMINI /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 2 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_OPTFLOW_PX4FLOW_I2C_BUS 2 #define HAL_RANGEFINDER_LIGHTWARE_I2C_BUS 2 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BLUE #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_GPIO_A_LED_PIN 66 #define HAL_GPIO_B_LED_PIN 67 #define HAL_GPIO_C_LED_PIN 67 #define HAL_GPIO_LED_ON HIGH #define HAL_GPIO_LED_OFF LOW #define HAL_INS_DEFAULT HAL_INS_MPU9250_I2C #define HAL_INS_MPU9250_I2C_BUS 2 #define HAL_INS_MPU9250_I2C_ADDR 0x68 #define HAL_INS_DEFAULT_ROTATION ROTATION_NONE #define HAL_BARO_DEFAULT HAL_BARO_BMP280_I2C #define HAL_BARO_BMP280_BUS 2 #define HAL_BARO_BMP280_I2C_ADDR 0x76 #define HAL_COMPASS_DEFAULT HAL_COMPASS_AK8963_MPU9250_I2C #define HAL_COMPASS_AK8963_I2C_BUS 2 #define HAL_COMPASS_AK8963_I2C_ADDR 0x0C /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_OPTFLOW_PX4FLOW_I2C_BUS 1 #define HAL_RANGEFINDER_LIGHTWARE_I2C_BUS 1 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_POCKET #define HAL_GPIO_A_LED_PIN 27 #define HAL_GPIO_B_LED_PIN 26 #define HAL_GPIO_C_LED_PIN 25 #define HAL_GPIO_LED_ON HIGH #define HAL_GPIO_LED_OFF LOW #define HAL_INS_DEFAULT HAL_INS_MPU9250_SPI #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_INS_DEFAULT_ROTATION ROTATION_NONE #define HAL_BARO_DEFAULT HAL_BARO_MS5611_SPI #define HAL_BARO_MS5611_NAME "ms5611" #define HAL_COMPASS_DEFAULT HAL_COMPASS_AK8963_MPU9250 /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_OPTFLOW_PX4FLOW_I2C_BUS 2 #define HAL_RANGEFINDER_LIGHTWARE_I2C_BUS 2 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BH #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_I2C #define HAL_BARO_MS5611_I2C_BUS 1 #define HAL_BARO_MS5611_I2C_ADDR 0x77 #define HAL_INS_DEFAULT HAL_INS_BH #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_INS_MPU60x0_I2C_BUS 1 #define HAL_INS_MPU60x0_I2C_ADDR 0x69 #define HAL_COMPASS_DEFAULT HAL_COMPASS_BH /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_GPIO_A_LED_PIN 17 #define HAL_GPIO_B_LED_PIN 18 #define HAL_GPIO_C_LED_PIN 22 #define HAL_GPIO_LED_ON LOW #define HAL_GPIO_LED_OFF HIGH #define HAL_RCOUT_RGBLED_RED 13 #define HAL_RCOUT_RGBLED_GREEN 14 #define HAL_RCOUT_RGBLED_BLUE 15 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_QFLIGHT #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_INS_DEFAULT HAL_INS_QFLIGHT #define HAL_BARO_DEFAULT HAL_BARO_QFLIGHT #define HAL_COMPASS_DEFAULT HAL_COMPASS_QFLIGHT #define HAL_LINUX_UARTS_ON_TIMER_THREAD 1 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_PXFMINI #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_INS_DEFAULT HAL_INS_MPU9250_SPI #define HAL_INS_DEFAULT_ROTATION ROTATION_YAW_270 #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_SPI #define HAL_BARO_MS5611_NAME "ms5611" #define HAL_COMPASS_DEFAULT HAL_COMPASS_AK8963_MPU9250 /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_GPIO_A_LED_PIN 24 #define HAL_GPIO_B_LED_PIN 25 #define HAL_GPIO_C_LED_PIN 16 #define HAL_GPIO_LED_ON LOW #define HAL_GPIO_LED_OFF HIGH #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_AERO #define HAL_INS_DEFAULT HAL_INS_AERO #define HAL_BARO_DEFAULT HAL_BARO_MS5611_I2C #define HAL_BARO_MS5611_I2C_BUS 2 #define HAL_BARO_MS5611_I2C_ADDR 0x76 #define HAL_COMPASS_DEFAULT HAL_COMPASS_AERO #define HAL_COMPASS_BMM150_I2C_BUS 2 #define HAL_COMPASS_BMM150_I2C_ADDR 0x12 #define HAL_COMPASS_IST8310_I2C_BUS 4 #define HAL_COMPASS_IST8310_I2C_ADDR 0x0E #define HAL_COMPASS_HMC5843_I2C_BUS 4 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_RCOUTPUT_TAP_DEVICE "/dev/ttyS1" #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_DARK #define HAL_BOARD_LOG_DIRECTORY "/var/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/var/APM/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/var/APM" #define HAL_INS_DEFAULT HAL_INS_MPU9250_SPI #define HAL_INS_DEFAULT_ROTATION ROTATION_NONE #define HAL_INS_MPU9250_NAME "mpu9250" #define HAL_COMPASS_DEFAULT HAL_COMPASS_AK8963_MPU9250 #define HAL_BARO_DEFAULT HAL_BARO_MS5611_I2C #define HAL_BARO_MS5611_I2C_BUS 1 #define HAL_BARO_MS5611_I2C_ADDR 0x77 #define HAL_BARO_MS5611_USE_TIMER false #define HAL_GPIO_A_LED_PIN 24 #define HAL_GPIO_B_LED_PIN 25 #define HAL_GPIO_C_LED_PIN 16 #define HAL_GPIO_LED_ON LOW #define HAL_GPIO_LED_OFF HIGH #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_EDGE #define HAL_BOARD_LOG_DIRECTORY "/edge/ardupilot/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/edge/ardupilot/terrain" #define HAL_BOARD_STORAGE_DIRECTORY "/edge/ardupilot" #define HAL_INS_DEFAULT HAL_INS_EDGE #define HAL_INS_MPU60x0_NAME "mpu60x0" #define HAL_INS_MPU60x0_NAME_EXT "mpu60x0ext" #define HAL_BARO_DEFAULT HAL_BARO_MS5611_SPI #define HAL_BARO_MS5611_NAME "ms5611" #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_COMPASS_DEFAULT HAL_COMPASS_EDGE #define HAL_WITH_UAVCAN 1 /* HMC5843 can be an external compass */ #define HAL_COMPASS_HMC5843_I2C_BUS 1 #define HAL_COMPASS_HMC5843_I2C_ADDR 0x1E #define HAL_IMU_TEMP_DEFAULT 55 #define HAL_HAVE_IMU_HEATER 1 #define HAL_UTILS_HEAT HAL_LINUX_HEAT_PWM #define HAL_LINUX_HEAT_PWM_NUM 15 #define HAL_LINUX_HEAT_KP 20000 #define HAL_LINUX_HEAT_KI 6 #define HAL_LINUX_HEAT_PERIOD_NS 2040816 #define HAL_GPS_TYPE_DEFAULT 9 #define HAL_CAN_DRIVER_DEFAULT 1 #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_RST_ZYNQ #define HAL_BOARD_LOG_DIRECTORY "/mnt/APM/logs" #define HAL_BOARD_TERRAIN_DIRECTORY "/mnt/APM/terrain" #define HAL_INS_DEFAULT HAL_INS_RST #define HAL_INS_DEFAULT_G_ROTATION ROTATION_ROLL_180_YAW_90 #define HAL_INS_DEFAULT_A_ROTATION ROTATION_ROLL_180_YAW_90 #define HAL_INS_RST_G_NAME "rst_g" //gyro #define HAL_INS_RST_A_NAME "rst_a" //accel #define HAL_BARO_DEFAULT HAL_BARO_MS5611_SPI #define HAL_BARO_MS5611_NAME "ms5611" #define HAL_COMPASS_DEFAULT HAL_COMPASS_LIS3MDL #define HAL_COMPASS_LIS3MDL_NAME "lis3mdl" #define HAL_OPTFLOW_PX4FLOW_I2C_BUS 0 #else #error "no Linux board subtype set" #endif #ifndef HAL_COMPASS_DEFAULT #define HAL_COMPASS_DEFAULT -1 #endif #ifndef HAL_LINUX_UARTS_ON_TIMER_THREAD #define HAL_LINUX_UARTS_ON_TIMER_THREAD 0 #endif #ifndef HAL_OPTFLOW_PX4FLOW_I2C_ADDRESS #define HAL_OPTFLOW_PX4FLOW_I2C_ADDRESS 0x42 #endif #ifndef HAL_OPTFLOW_PX4FLOW_I2C_BUS #define HAL_OPTFLOW_PX4FLOW_I2C_BUS 1 #endif #define HAL_HAVE_BOARD_VOLTAGE 1 #define HAL_HAVE_SAFETY_SWITCH 1 #ifndef HAL_BOARD_LOG_DIRECTORY #define HAL_BOARD_LOG_DIRECTORY "/var/lib/ardupilot/logs" #endif #ifndef HAL_BOARD_TERRAIN_DIRECTORY #define HAL_BOARD_TERRAIN_DIRECTORY "/var/lib/ardupilot/terrain" #endif #ifndef HAL_BOARD_STORAGE_DIRECTORY #define HAL_BOARD_STORAGE_DIRECTORY "/var/lib/ardupilot" #endif #ifndef HAL_BOARD_CAN_IFACE_NAME #define HAL_BOARD_CAN_IFACE_NAME "can0" #endif