Go to the documentation of this file. 1 #ifndef _BOARD_STM32V1F4_H_ 2 #define _BOARD_STM32V1F4_H_ 5 #define BOARD_OWN_NAME "F4Light" 10 #define __CM4_REV 0x0001 11 #define __MPU_PRESENT 1 12 #define __NVIC_PRIO_BITS 4 13 #define __Vendor_SysTickConfig 0 14 #define __FPU_PRESENT 1 16 #define HSE_VALUE (8000000) 18 #define CYCLES_PER_MICROSECOND 168 19 #define SYSTICK_RELOAD_VAL (CYCLES_PER_MICROSECOND*1000-1) 23 #define STM32_PCLK1 (CYCLES_PER_MICROSECOND*1000000/4) 24 #define STM32_PCLK2 (CYCLES_PER_MICROSECOND*1000000/2) 33 #define BOARD_BUTTON_PIN 254 // no button 38 #define HAL_BUZZER_ON 1 39 #define HAL_BUZZER_OFF 0 41 #define BOARD_NR_USARTS 5 42 #define BOARD_USART1_TX_PIN 23 43 #define BOARD_USART1_RX_PIN 24 44 #define BOARD_USART3_TX_PIN 0 45 #define BOARD_USART3_RX_PIN 100 46 #define BOARD_USART6_TX_PIN 12 47 #define BOARD_USART6_RX_PIN 13 49 #define BOARD_USART4_RX_PIN 48 50 #define BOARD_USART4_TX_PIN 47 56 #define BOARD_NR_SPI 3 57 #define BOARD_SPI1_SCK_PIN 52 58 #define BOARD_SPI1_MISO_PIN 53 59 #define BOARD_SPI1_MOSI_PIN 54 60 #define BOARD_SPI2_SCK_PIN 255 61 #define BOARD_SPI2_MISO_PIN 255 62 #define BOARD_SPI2_MOSI_PIN 255 63 #define BOARD_SPI3_MOSI_PIN 18 64 #define BOARD_SPI3_MISO_PIN 17 65 #define BOARD_SPI3_SCK_PIN 16 67 #define BOARD_DATAFLASH_CS_PIN 104 69 #define BOARD_MPU6000_CS_PIN 51 70 #define BOARD_MPU6000_DRDY_PIN 10 // PC4 73 #define BOARD_SBUS_INVERTER 6 74 #define BOARD_SBUS_UART 1 // can use some UART as hardware inverted input 77 #define BOARD_USB_SENSE 11 // PC5 81 #define BOARD_SOFT_SCL 14 82 #define BOARD_SOFT_SDA 15 85 #define BOARD_SOFTSERIAL_TX 14 86 #define BOARD_SOFTSERIAL_RX 15 89 # define BOARD_BLUE_LED_PIN 36 // BLUE 90 # define BOARD_GREEN_LED_PIN 105 // GREEN 94 # define HAL_GPIO_A_LED_PIN BOARD_BLUE_LED_PIN 95 # define HAL_GPIO_B_LED_PIN BOARD_GREEN_LED_PIN 97 # define HAL_GPIO_LED_ON LOW 98 # define HAL_GPIO_LED_OFF HIGH 101 #define BOARD_NR_GPIO_PINS 109 106 #define I2C2_SDA PB11 107 #define I2C2_SCL PB10 109 #define BOARD_I2C_BUS_INT 0 // hardware I2C 111 #define BOARD_I2C_BUS_EXT 2 // external soft I2C or flexiPort (by parameter) 112 #define BOARD_I2C_BUS_SLOW 2 // slow down this bus 114 #define BOARD_HAS_UART3 115 #define BOARD_I2C_FLEXI 1 // I2C can be on Flexi port 119 #define BOARD_BARO_DEFAULT HAL_BARO_MS5611_I2C 120 #define BOARD_BARO_MS5611_I2C_ADDR 0x77 123 #define HAL_BARO_MS5611_I2C_BUS BOARD_I2C_BUS_INT 124 #define HAL_BARO_MS5611_I2C_ADDR BOARD_BARO_MS5611_I2C_ADDR 130 #define BOARD_COMPASS_DEFAULT HAL_COMPASS_HMC5843 131 #define BOARD_COMPASS_HMC5843_I2C_ADDR 0x1E 132 #define BOARD_HMC5883_DRDY_PIN 38 // PB7 - but it not used by driver 133 #define BOARD_COMPASS_HMC5843_ROTATION ROTATION_YAW_270 135 #define HAL_COMPASS_HMC5843_I2C_BUS BOARD_I2C_BUS_INT 136 #define HAL_COMPASS_HMC5843_I2C_EXT_BUS BOARD_I2C_BUS_EXT // external compass on soft I2C 137 #define HAL_COMPASS_HMC5843_I2C_ADDR BOARD_COMPASS_HMC5843_I2C_ADDR 138 #define HAL_COMPASS_HMC5843_ROTATION BOARD_COMPASS_HMC5843_ROTATION 140 #define BOARD_INS_DEFAULT HAL_INS_MPU60XX_SPI 141 #define BOARD_INS_ROTATION ROTATION_YAW_180 142 #define BOARD_INS_MPU60x0_NAME "mpu6000" 144 #define BOARD_STORAGE_SIZE 8192 // 4096 // EEPROM size 146 #define BOARD_DATAFLASH_NAME "dataflash" 147 #define BOARD_DATAFLASH_PAGES 0x2000 148 #define BOARD_DATAFLASH_ERASE_SIZE (65536)// in bytes 151 #define BOARD_SDCARD_NAME "sdcard" 152 #define BOARD_SDCARD_CS_PIN 103 // PA15 CS_RFM22B 153 #define BOARD_SDCARD_DET_PIN 26 // PD2 EXTI_RFM22B / UART5_RX 155 #define USB_MASSSTORAGE 156 #define HAL_BOARD_LOG_DIRECTORY "0:/" 157 #define HAL_BOARD_TERRAIN_DIRECTORY "0:/TERRAIN" 160 #define BOARD_UARTS_LAYOUT 1 161 #define USE_SOFTSERIAL 1 163 # define BOARD_PUSHBUTTON_PIN 254 // no pushbutton 164 # define BOARD_USB_MUX_PIN -1 // no USB mux 165 # define BOARD_BATTERY_VOLT_PIN 8 // Battery voltage on A0 (PC2) D8 166 # define BOARD_BATTERY_CURR_PIN 7 // Battery current on A1 (PC1) D7 167 # define BOARD_SONAR_SOURCE_ANALOG_PIN 254 // no sonar by default 170 # define HAL_BATT_VOLT_PIN 8 // ChibiOS compatible defines 171 # define HAL_BATT_CURR_PIN 7 172 # define HAL_BATT_VOLT_SCALE 10.1 173 # define HAL_BATT_CURR_SCALE 17 176 #define BOARD_USB_DMINUS 108 182 #define SERVO_PIN_1 46 // PB0 183 #define SERVO_PIN_2 45 // PB1 184 #define SERVO_PIN_3 50 // PA3 185 #define SERVO_PIN_4 49 // PA2 186 #define SERVO_PIN_5 48 // PA1 187 #define SERVO_PIN_6 47 // PA0 190 #define SERVO_PIN_7 5 // PB15 CH2_IN - PPM2 191 #define SERVO_PIN_8 12 // PC6 CH3_IN UART6 192 #define SERVO_PIN_9 13 // PC7 CH4_IN UART6 193 #define SERVO_PIN_10 14 // PC8 CH5_IN i2c 194 #define SERVO_PIN_11 15 // PC9 CH6_IN i2c 196 #define MOTOR_LAYOUT_DEFAULT 0 198 #define USE_SERIAL_4WAY_BLHELI_INTERFACE 203 #define HAL_CONSOLE uart1Driver // console on radio 204 #define HAL_CONSOLE_PORT 1 // console on radio 229 #define BOARD_HAL_VARINFO \ 230 AP_GROUPINFO("FLEXI_I2C", 30, AP_Param_Helper, _flexi_i2c, 0), \ 231 AP_GROUPINFO("USB_STORAGE", 31, AP_Param_Helper, _usb_storage, 0), \ 232 AP_GROUPINFO("SD_REFORMAT", 32, AP_Param_Helper, _sd_format, 0), 236 #define BOARD_HAL_PARAMS \ 237 AP_Int8 _flexi_i2c; \ 238 AP_Int8 _usb_storage; \ 241 #define ERROR_USART _USART1 // main port - telemetry, all panic messages goes there