APM:Libraries
px4.h
Go to the documentation of this file.
1 #pragma once
2 
3 #define HAL_BOARD_NAME "PX4"
4 #define HAL_CPU_CLASS HAL_CPU_CLASS_150
5 #define HAL_OS_POSIX_IO 1
6 #define HAL_BOARD_LOG_DIRECTORY "/fs/microsd/APM/LOGS"
7 #define HAL_BOARD_TERRAIN_DIRECTORY "/fs/microsd/APM/TERRAIN"
8 #define HAL_PARAM_DEFAULTS_PATH "/etc/defaults.parm"
9 #define HAL_INS_DEFAULT HAL_INS_PX4
10 #define HAL_BARO_DEFAULT HAL_BARO_PX4
11 #define HAL_COMPASS_DEFAULT HAL_COMPASS_PX4
12 
13 #ifdef CONFIG_ARCH_BOARD_PX4FMU_V1
14 #define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_PX4_V1
15 #define HAL_STORAGE_SIZE 8192
16 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V3)
17 // check for V3 before V2 as V3 also defines V2
18 #define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_PX4_V3
19 #define HAL_STORAGE_SIZE 16384
20 #define HAL_HAVE_IMU_HEATER 1 // for Pixhawk2
21 #define HAL_IMU_TEMP_DEFAULT -1 // disabled
22 #define HAL_WITH_UAVCAN 1
23 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V2)
24 #define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_PX4_V2
25 #define HAL_STORAGE_SIZE 16384
26 #define HAL_HAVE_IMU_HEATER 1 // for Pixhawk2
27 #define HAL_IMU_TEMP_DEFAULT -1 // disabled
28 #define HAL_WITH_UAVCAN 1
29 #define HAL_MINIMIZE_FEATURES 1
30 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4)
31 #define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_PX4_V4
32 #define HAL_STORAGE_SIZE 16384
33 #define HAL_WITH_UAVCAN 1
34 #elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
35 #define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_PX4_V4PRO
36 #define HAL_STORAGE_SIZE 16384
37 #define HAL_WITH_UAVCAN 1
38 #elif defined(CONFIG_ARCH_BOARD_AEROFC_V1)
39 #define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_PX4_AEROFC_V1
40 #define HAL_STORAGE_SIZE 16384
41 #define USE_FLASH_STORAGE 1
42 #define HAL_RCOUTPUT_TAP_DEVICE "/dev/ttyS0"
43 // we don't have any sdcard
44 #undef HAL_BOARD_LOG_DIRECTORY
45 #undef HAL_BOARD_TERRAIN_DIRECTORY
46 #else
47 #error "Unknown PX4 board type"
48 #endif
49 
50 #define HAL_GPIO_A_LED_PIN 27
51 #define HAL_GPIO_B_LED_PIN 26
52 #define HAL_GPIO_C_LED_PIN 25
53 #define HAL_GPIO_LED_ON 0
54 #define HAL_GPIO_LED_OFF 1
55 
56 #define HAL_BARO_MS5611_NAME "ms5611"
57 #define HAL_BARO_MS5611_SPI_INT_NAME "ms5611_int"
58 #define HAL_BARO_MS5611_SPI_EXT_NAME "ms5611_ext"
59 
60 #define HAL_INS_MPU60x0_NAME "mpu6000"
61 #define HAL_INS_MPU60x0_EXT_NAME "mpu6000_ext"
62 
63 #define HAL_INS_LSM9DS0_G_NAME "lsm9ds0_g"
64 #define HAL_INS_LSM9DS0_A_NAME "lsm9ds0_am"
65 
66 #define HAL_INS_LSM9DS0_EXT_G_NAME "lsm9ds0_ext_g"
67 #define HAL_INS_LSM9DS0_EXT_A_NAME "lsm9ds0_ext_am"
68 
69 #define HAL_INS_MPU9250_NAME "mpu9250"
70 #define HAL_INS_MPU9250_EXT_NAME "mpu9250_ext"
71 
72 #define HAL_INS_MPU6500_NAME "mpu6500"
73 
74 #define HAL_INS_ICM20608_NAME "icm20608"
75 #define HAL_INS_ICM20608_AM_NAME "icm20608-am"
76 #define HAL_INS_ICM20608_EXT_NAME "icm20608_ext"
77 
78 #define HAL_COMPASS_HMC5843_NAME "hmc5843"
79 #define HAL_COMPASS_LIS3MDL_NAME "lis3mdl"
80 
81 /* px4fmu-v1 */
82 #ifdef CONFIG_ARCH_BOARD_PX4FMU_V1
83 #define HAL_BARO_MS5611_I2C_ADDR 0x76
84 #define HAL_BARO_MS5611_I2C_BUS 0
85 #define HAL_HAVE_BOARD_VOLTAGE 0
86 #define HAL_PX4_HAVE_PWM_INPUT 0
87 #endif
88 
89 /* px4fmu-v4 */
90 #ifdef CONFIG_ARCH_BOARD_PX4FMU_V4
91 #define HAL_PX4_HAVE_PX4IO 0
92 #endif
93 
94 /* aerofc-v1 */
95 #ifdef CONFIG_ARCH_BOARD_AEROFC_V1
96 #define HAL_BARO_MS5607_I2C_ADDR 0x77
97 #define HAL_BARO_MS5607_I2C_BUS 0
98 #define HAL_COMPASS_IST8310_I2C_ADDR 0x0E
99 #define HAL_COMPASS_IST8310_I2C_BUS 1
100 #define HAL_SERIAL0_BAUD_DEFAULT 921600
101 
102 #define HAL_HAVE_BOARD_VOLTAGE 0
103 #define HAL_HAVE_SAFETY_SWITCH 0
104 #define HAL_PX4_HAVE_MTD_SUPPORT 0
105 #define HAL_PX4_HAVE_PX4IO 0
106 #define HAL_PX4_HAVE_PWM_INPUT 0
107 #endif
108 
109 /* default values */
110 #ifndef HAL_SERIAL0_BAUD_DEFAULT
111 #define HAL_SERIAL0_BAUD_DEFAULT 115200
112 #endif
113 
114 #ifndef HAL_HAVE_BOARD_VOLTAGE
115 #define HAL_HAVE_BOARD_VOLTAGE 1
116 #endif
117 
118 #ifndef HAL_PX4_HAVE_MTD_SUPPORT
119 #define HAL_PX4_HAVE_MTD_SUPPORT 1
120 #endif
121 
122 #ifndef HAL_PX4_HAVE_PX4IO
123 #define HAL_PX4_HAVE_PX4IO 1
124 #endif
125 
126 #ifndef HAL_PX4_HAVE_PWM_INPUT
127 #define HAL_PX4_HAVE_PWM_INPUT 1
128 #endif
129 
130 #ifndef HAL_HAVE_SAFETY_SWITCH
131 #define HAL_HAVE_SAFETY_SWITCH 1
132 #endif
133 
134 #ifndef AP_FEATURE_RTSCTS
135 #define AP_FEATURE_RTSCTS 1
136 #endif
137 
138 #ifndef AP_FEATURE_SBUS_OUT
139 #define AP_FEATURE_SBUS_OUT 1
140 #endif