2 * This file is part of Cleanflight and Betaflight.
4 * Cleanflight and Betaflight are free software. You can redistribute
5 * this software and/or modify this software under the terms of the
6 * GNU General Public License as published by the Free Software
7 * Foundation, either version 3 of the License, or (at your option)
10 * Cleanflight and Betaflight are distributed in the hope that they
11 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
12 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this software.
18 * If not, see <http://www.gnu.org/licenses/>.
23 #define USE_TARGET_CONFIG
24 #define USE_HARDWARE_REVISION_DETECTION
27 #define TARGET_BOARD_IDENTIFIER "ONX4"
28 #define USBD_PRODUCT_STRING "OmniNXT4"
30 #define TARGET_BOARD_IDENTIFIER "ONX7"
31 #define USBD_PRODUCT_STRING "OmniNXT7"
37 #define BEEPER_PIN PC13
38 #define BEEPER_INVERTED
40 #define ENABLE_DSHOT_DMAR DSHOT_DMAR_ON
44 #define INVERTER_PIN_UART2 PC5
51 //#define USE_GYRO_EXTI
52 //#define USE_MPU_DATA_READY_SIGNAL
54 // For debugging with NUC405RG
58 #define USE_ACC_SPI_MPU6000
59 #define USE_GYRO_SPI_MPU6000
61 #define USE_ACC_SPI_MPU6500
62 #define USE_GYRO_SPI_MPU6500
64 #define GYRO_1_SPI_INSTANCE SPI1
65 #define GYRO_1_CS_PIN PB12 // Onboard IMU
66 #define GYRO_1_ALIGN CW0_DEG
67 #define GYRO_1_EXTI_PIN NONE
69 #define GYRO_2_SPI_INSTANCE SPI1
70 #define GYRO_2_CS_PIN PA8 // External IMU
71 #define GYRO_2_ALIGN CW270_DEG
72 #define GYRO_2_EXTI_PIN NONE
74 #define GYRO_CONFIG_USE_GYRO_DEFAULT GYRO_CONFIG_USE_GYRO_1
77 #define MAG_I2C_INSTANCE (I2CDEV_1)
78 #define USE_MAG_HMC5883
79 #define USE_MAG_LIS3MDL
82 #define USE_BARO_SPI_LPS
83 #define BARO_SPI_INSTANCE SPI2
84 #define BARO_CS_PIN PA10
85 #define DEFAULT_BARO_SPI_LPS
87 #define BARO_I2C_INSTANCE (I2CDEV_1)
88 #define USE_BARO_BMP085
89 #define USE_BARO_BMP280
90 #define USE_BARO_MS5611
93 #define MAX7456_SPI_INSTANCE SPI2
94 #define MAX7456_SPI_CS_PIN PA15
97 #define USE_FLASH_M25P16
98 #define FLASH_SPI_INSTANCE SPI2
99 #define FLASH_CS_PIN PC14
101 #define ENABLE_BLACKBOX_LOGGING_ON_SPIFLASH_BY_DEFAULT
104 #define VBUS_SENSING_PIN PC15
107 #define UART1_RX_PIN PB7
108 #define UART1_TX_PIN PB6
111 #define UART2_RX_PIN PA3
112 #define UART2_TX_PIN PA2
115 #define UART3_RX_PIN PB11 // PB11, shared with I2C2
116 #define UART3_TX_PIN PB10 // PB10, shared with I2C2
119 #define UART4_RX_PIN PA1
120 #define UART4_TX_PIN PA0
123 #define UART5_RX_PIN PD2
124 #define UART5_TX_PIN NONE // PC12, alt SPI3_MOSI
127 #define UART6_RX_PIN PC7
128 #define UART6_TX_PIN PC6
130 #define USE_SOFTSERIAL1
131 #define USE_SOFTSERIAL2
133 #define SERIAL_PORT_COUNT 9 // VCP, UART x 6, SOFTSERIAL x 2
135 #define USE_ESCSERIAL
136 #define ESCSERIAL_TIMER_TX_PIN PB7
139 #define USE_SPI_DEVICE_1
140 #define SPI1_SCK_PIN PA5
141 #define SPI1_MISO_PIN PA6
142 #define SPI1_MOSI_PIN PA7
144 #define USE_SPI_DEVICE_2
145 #define SPI2_SCK_PIN PB13
146 #define SPI2_MISO_PIN PB14
147 #define SPI2_MOSI_PIN PC3
149 #define USE_SPI_DEVICE_3
150 #define SPI3_SCK_PIN PC10 // PC10, alt UART3_TX, UART4_TX
151 #define SPI3_MISO_PIN PC11 // PC11, alt UART3_RX, UART4_RX
152 #define SPI3_MOSI_PIN PC12 // PC12, alt UART5_TX
155 #define USE_I2C_DEVICE_1
156 #define I2C1_SCL PB8 // PB8, alt MST8
157 #define I2C1_SDA PB9 // PB9, alt MST7
159 #define USE_I2C_DEVICE_2
160 #define I2C2_SCL NONE // PB10 alt UART3TX
161 #define I2C2_SDA NONE // PB11 alt UART3RX
163 #define USE_I2C_DEVICE_3
164 #define I2C3_SCL NONE
165 #define I2C3_SDA NONE
167 #define I2C_DEVICE (I2CDEV_1)
170 #define ADC_INSTANCE ADC1
171 #define ADC1_DMA_OPT 1 // DMA 2 Stream 4 Channel 0 (compat default)
172 #define ADC1_DMA_OPT 1 // DMA 2 Stream 4 Channel 0 (compat default)
173 #define VBAT_ADC_PIN PC0 // 11:1 (10K + 1K) divider
174 #define CURRENT_METER_ADC_PIN PC1
175 #define RSSI_ADC_PIN PC4
176 #define EXTERNAL1_ADC_PIN PA4
178 #define USE_TRANSPONDER
180 #define USE_RANGEFINDER
181 #define USE_RANGEFINDER_HCSR04
182 #define USE_RANGEFINDER_TF
184 #define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL
186 #define DEFAULT_FEATURES (FEATURE_OSD | FEATURE_LED_STRIP)
188 #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC
189 #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC
191 #define TARGET_IO_PORTA (0xffff & ~(BIT(14)|BIT(13))) // Less SWC and SWD
192 #define TARGET_IO_PORTB (0xffff)
193 #define TARGET_IO_PORTC (0xffff)
194 #define TARGET_IO_PORTD BIT(2)
196 #define USABLE_TIMER_CHANNEL_COUNT 21
197 #define USED_TIMERS ( TIM_N(1) | TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(5) | TIM_N(8) | TIM_N(9) | TIM_N(10) | TIM_N(11) | TIM_N(12))