|
| 1 | +# hw definition file for processing by chibios_hwdef.py |
| 2 | +# for F4BY v2.1.5 board description http://swift-flyer.com/?page_id=83 |
| 3 | + |
| 4 | +# MCU class and specific type |
| 5 | +MCU STM32F4xx STM32F427xx |
| 6 | + |
| 7 | +# board ID for firmware load |
| 8 | +APJ_BOARD_ID AP_HW_F4BY_F427 |
| 9 | + |
| 10 | +# USB setup |
| 11 | +USB_VENDOR 0x27AC # Swift-Flyer |
| 12 | +USB_PRODUCT 0x0201 # fmu usb driver |
| 13 | +USB_STRING_MANUFACTURER "Swift-Flyer" |
| 14 | +PA11 OTG_FS_DM OTG1 |
| 15 | +PA12 OTG_FS_DP OTG1 |
| 16 | +# this is the pin that senses USB being connected. It is an input pin |
| 17 | +# setup as OPENDRAIN |
| 18 | +PA9 VBUS INPUT OPENDRAIN |
| 19 | + |
| 20 | + |
| 21 | +FLASH_SIZE_KB 2048 |
| 22 | +FLASH_RESERVE_START_KB 16 |
| 23 | +define HAL_STORAGE_SIZE 16384 |
| 24 | +env OPTIMIZE -O2 |
| 25 | + |
| 26 | +# crystal frequency |
| 27 | +OSCILLATOR_HZ 8000000 |
| 28 | + |
| 29 | +# ChibiOS system timer |
| 30 | +STM32_ST_USE_TIMER 5 |
| 31 | + |
| 32 | + |
| 33 | + |
| 34 | +PA13 JTMS-SWDIO SWD |
| 35 | +PA14 JTCK-SWCLK SWD |
| 36 | + |
| 37 | +# the normal usage of this ordering is: |
| 38 | +# 1) SERIAL0: console (primary mavlink, usually USB) |
| 39 | +# 2) SERIAL3: primary GPS |
| 40 | +# 3) SERIAL1: telem1 |
| 41 | +# 4) SERIAL2: telem2 |
| 42 | +# 5) SERIAL4: GPS2 |
| 43 | +# 6) SERIAL5: extra UART (usually RTOS debug console) |
| 44 | + |
| 45 | +# use UART for stdout, so no STDOUT_SERIAL |
| 46 | +#STDOUT_SERIAL SD5 |
| 47 | +#STDOUT_BAUDRATE 57600 |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | +SERIAL_ORDER OTG1 USART2 USART1 USART3 UART4 UART5 |
| 52 | + |
| 53 | +# UART1 as board 2.1.5 for serial 3 gps |
| 54 | +PB6 USART1_TX USART1 |
| 55 | +PB7 USART1_RX USART1 |
| 56 | + |
| 57 | +# USART2 serial2 telem2 |
| 58 | +PD5 USART2_TX USART2 NODMA |
| 59 | +PD6 USART2_RX USART2 |
| 60 | + |
| 61 | +# USART3 serial3 telem1 |
| 62 | +PD8 USART3_TX USART3 NODMA |
| 63 | +PD9 USART3_RX USART3 |
| 64 | + |
| 65 | +PC10 UART4_TX UART4 NODMA |
| 66 | +PC11 UART4_RX UART4 |
| 67 | + |
| 68 | +# SHARE dma with I2C2_TX |
| 69 | +PC12 UART5_TX UART5 NODMA |
| 70 | +PD2 UART5_RX UART5 NODMA |
| 71 | + |
| 72 | + |
| 73 | +#SPI1 for MPU |
| 74 | +PA5 SPI1_SCK SPI1 |
| 75 | +PA6 SPI1_MISO SPI1 |
| 76 | +PA7 SPI1_MOSI SPI1 |
| 77 | +PA4 MPU_CS CS |
| 78 | + |
| 79 | +# spi bus for dataflash AND SD |
| 80 | +PB13 SPI2_SCK SPI2 |
| 81 | +PB14 SPI2_MISO SPI2 |
| 82 | +PB15 SPI2_MOSI SPI2 |
| 83 | + |
| 84 | + |
| 85 | +PB12 FRAM_CS CS SPEED_VERYLOW |
| 86 | +PE15 FLASH_CS CS |
| 87 | + |
| 88 | +SPIDEV mpu6000 SPI1 DEVID1 MPU_CS MODE3 1*MHZ 8*MHZ |
| 89 | +SPIDEV ramtron SPI2 DEVID2 FRAM_CS MODE3 8*MHZ 8*MHZ |
| 90 | +SPIDEV sdcard SPI2 DEVID3 FLASH_CS MODE0 400*KHZ 25*MHZ |
| 91 | + |
| 92 | +# one IMU |
| 93 | +IMU Invensense SPI:mpu6000 ROTATION_NONE |
| 94 | + |
| 95 | +# one baro, check both addresses |
| 96 | +BARO MS56XX I2C:0:0x76 |
| 97 | +BARO MS56XX I2C:0:0x77 |
| 98 | + |
| 99 | +# enable RAMTROM parameter storage |
| 100 | +define HAL_WITH_RAMTRON 1 |
| 101 | +# enable FAT filesystem support |
| 102 | +define HAL_OS_FATFS_IO 1 |
| 103 | + |
| 104 | +# this defines the default maximum clock on I2C devices. |
| 105 | +define HAL_I2C_MAX_CLOCK 100000 |
| 106 | +I2C_ORDER I2C2 I2C1 |
| 107 | +PB8 I2C1_SCL I2C1 |
| 108 | +PB9 I2C1_SDA I2C1 |
| 109 | +PB10 I2C2_SCL I2C2 |
| 110 | +PB11 I2C2_SDA I2C2 |
| 111 | + |
| 112 | +# look for I2C compass |
| 113 | +COMPASS HMC5843 I2C:0:0x1E false ROTATION_YAW_270 |
| 114 | +define HAL_PROBE_EXTERNAL_I2C_COMPASSES |
| 115 | + |
| 116 | +# PWM out pins |
| 117 | +PA0 TIM2_CH1 TIM2 PWM(1) GPIO(50) |
| 118 | +PA1 TIM2_CH2 TIM2 PWM(2) GPIO(51) |
| 119 | +PA2 TIM2_CH3 TIM2 PWM(3) GPIO(52) |
| 120 | +PA3 TIM2_CH4 TIM2 PWM(4) GPIO(53) |
| 121 | +PE9 TIM1_CH1 TIM1 PWM(5) GPIO(54) |
| 122 | +PE11 TIM1_CH2 TIM1 PWM(6) GPIO(55) |
| 123 | +PE13 TIM1_CH3 TIM1 PWM(7) GPIO(56) |
| 124 | +PE14 TIM1_CH4 TIM1 PWM(8) GPIO(57) |
| 125 | + |
| 126 | +PD13 TIM4_CH2 TIM4 PWM(9) GPIO(58) |
| 127 | +PD12 TIM4_CH1 TIM4 PWM(10) GPIO(59) |
| 128 | +PD15 TIM4_CH4 TIM4 PWM(11) GPIO(60) |
| 129 | +PD14 TIM4_CH3 TIM4 PWM(12) GPIO(61) |
| 130 | + |
| 131 | +# also USART6_RX for unidirectional RC,including PPM |
| 132 | +PC7 TIM8_CH2 TIM8 RCININT PULLDOWN LOW DMA_CH0 |
| 133 | +# PC6 TIM8_CH1 TIM8 RCININT PULLDOWN LOW DMA_CH0 |
| 134 | + |
| 135 | + |
| 136 | +# New style Pixracer LED configuration for master repo |
| 137 | +define AP_NOTIFY_GPIO_LED_RGB_ENABLED 1 |
| 138 | + |
| 139 | +PE3 LED_RED OUTPUT GPIO(10) |
| 140 | +PE2 LED_GREEN OUTPUT GPIO(11) |
| 141 | +PE1 LED_BLUE OUTPUT GPIO(12) |
| 142 | +PE0 LED_YELOW OUTPUT GPIO(13) |
| 143 | + |
| 144 | +define AP_NOTIFY_GPIO_LED_RGB_RED_PIN 10 |
| 145 | +define AP_NOTIFY_GPIO_LED_RGB_GREEN_PIN 11 |
| 146 | +define AP_NOTIFY_GPIO_LED_RGB_BLUE_PIN 12 |
| 147 | + |
| 148 | + |
| 149 | + |
| 150 | +PC0 PRESSURE_SENS ADC1 SCALE(1) |
| 151 | +PC1 RSSI_IN ADC1 |
| 152 | +PC2 BATT_CURRENT_SENS ADC1 SCALE(2) |
| 153 | +PC3 BATT_VOLTAGE_SENS ADC1 SCALE(2) |
| 154 | +PC4 VDD_5V_SENS ADC1 SCALE(2) |
| 155 | +PC5 FMU_SERVORAIL_VCC_SENS ADC1 SCALE(2) |
| 156 | + |
| 157 | + |
| 158 | +PE5 TIM9_CH1 TIM9 ALARM |
| 159 | +PC14 EXTERN_GPIO1 OUTPUT GPIO(1) |
| 160 | +PC13 EXTERN_GPIO2 OUTPUT GPIO(2) |
| 161 | +PE4 EXTERN_GPIO3 OUTPUT GPIO(3) |
| 162 | +PE6 EXTERN_GPIO4 OUTPUT GPIO(4) |
| 163 | +PC9 EXTERN_GPIO5 OUTPUT GPIO(5) |
| 164 | + |
| 165 | +# IRQ for MPU6000 |
| 166 | +PB0 EXTI_MPU6000 INPUT PULLUP |
| 167 | +PB1 DRDY_HMC5883 INPUT PULLUP |
| 168 | + |
| 169 | + |
0 commit comments