2 * This file is part of INAV Project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
6 * You can obtain one at http://mozilla.org/MPL/2.0/.
8 * Alternatively, the contents of this file may be used under the terms
9 * of the GNU General Public License Version 3, as described below:
11 * This file is free software: you may copy, redistribute and/or modify
12 * it under the terms of the GNU General Public License as published by the
13 * Free Software Foundation, either version 3 of the License, or (at your
14 * option) any later version.
16 * This file is distributed in the hope that it will be useful, but
17 * WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
19 * Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program. If not, see http://www.gnu.org/licenses/.
29 #include "drivers/bus.h"
30 #include "drivers/io.h"
31 #include "drivers/pwm_mapping.h"
32 #include "drivers/timer.h"
33 #include "drivers/pinio.h"
34 #include "drivers/sensor.h"
36 BUSDEV_REGISTER_SPI_TAG(busdev_mpu6000
, DEVHW_MPU6000
, MPU6000_SPI_BUS
, MPU6000_CS_PIN
, NONE
, 0, DEVFLAGS_NONE
, IMU_MPU6000_ALIGN
);
37 BUSDEV_REGISTER_SPI_TAG(busdev_bmi270
, DEVHW_BMI270
, BMI270_SPI_BUS
, BMI270_CS_PIN
, NONE
, 0, DEVFLAGS_NONE
, IMU_BMI270_ALIGN
);
39 timerHardware_t timerHardware
[] = {
40 DEF_TIM(TIM3
, CH1
, PB4
, TIM_USE_OUTPUT_AUTO
, 0, 0), // S1 UP1-2 D(1, 4, 5)
41 DEF_TIM(TIM3
, CH2
, PB5
, TIM_USE_OUTPUT_AUTO
, 0, 0), // S2 UP1-2 D(1, 5, 5)
42 DEF_TIM(TIM3
, CH3
, PB0
, TIM_USE_OUTPUT_AUTO
, 0, 0), // S3 UP1-2 D(1, 7, 5)
43 DEF_TIM(TIM3
, CH4
, PB1
, TIM_USE_OUTPUT_AUTO
, 0, 0), // S4 UP1-2 D(1, 2, 5)
44 DEF_TIM(TIM2
, CH1
, PA15
, TIM_USE_OUTPUT_AUTO
, 0, 0), // S5 UP1-7 D(1, 5, 3) - clash with S2
45 DEF_TIM(TIM2
, CH2
, PB3
, TIM_USE_OUTPUT_AUTO
, 0, 0), // S6 UP1-7 D(1, 6, 3)
46 DEF_TIM(TIM4
, CH1
, PB6
, TIM_USE_OUTPUT_AUTO
, 0, 0), // S7 UP1-6 D(1, 0, 2)
47 DEF_TIM(TIM4
, CH2
, PB7
, TIM_USE_OUTPUT_AUTO
, 0, 0), // S8 UP1-6 D(1, 3, 2)
49 DEF_TIM(TIM1
, CH1
, PA8
, TIM_USE_LED
, 0, 2), // LED D(2, 6, 0)
50 // DEF_TIM(TIM9, CH2, PA3, TIM_USE_PPM, 0, 0), // PPM, RX2
51 // DEF_TIM(TIM5, CH3, PA2, TIM_USE_PWM, 0, 0), // TX2 & softserial1
54 const int timerHardwareCount
= sizeof(timerHardware
) / sizeof(timerHardware
[0]);