Create release.yml
[betaflight.git] / src / main / target / NAZE / initialisation.c
blobbf3539e7fe17efe41c62b3b2c1f52688ea8c7169
1 /*
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)
8 * any later version.
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/>.
21 #include <stdbool.h>
22 #include <stdint.h>
24 #include "platform.h"
26 #include "drivers/bus.h"
27 #include "drivers/bus_i2c.h"
28 #include "drivers/bus_spi.h"
30 #include "hardware_revision.h"
32 #include "io/serial.h"
34 #include "pg/bus_i2c.h"
35 #include "pg/bus_spi.h"
37 #include "sensors/initialisation.h"
39 void targetBusInit(void)
41 #ifdef USE_SPI
42 spiPinConfigure(spiPinConfig(0));
43 sensorsPreInit();
44 spiPreinit();
45 #ifdef USE_SPI_DEVICE_2
46 spiInit(SPIDEV_2, false); // Leading edge not required for legacy sensors
47 #endif
48 #endif
50 if (hardwareRevision == NAZE32_SP) {
51 serialRemovePort(SERIAL_PORT_SOFTSERIAL2);
53 if (!doesConfigurationUsePort(SERIAL_PORT_USART3)) {
54 serialRemovePort(SERIAL_PORT_USART3);
55 i2cHardwareConfigure(i2cConfig(0));
56 i2cInit(I2C_DEVICE);
58 } else {
59 i2cHardwareConfigure(i2cConfig(0));
60 i2cInit(I2C_DEVICE);