Browse Source

Addind files

Nicole Portas 1 year ago
commit
ef76ef1313

+ 20 - 0
build

@@ -0,0 +1,20 @@
+#!/bin/bash
+BRANCH="7.1.2"
+rm -rf inav && echo "Cleaning up..."
+git clone -b $BRANCH --single-branch https://github.com/iNavFlight/inav.git && echo "Latest code fetched succesfully"
+diff -crB inav patch/inav > custom.patch
+patch -p1 --dry-run < custom.patch
+read -p "Do you want to continue? (y/n)" -n 1 -r
+echo
+if [[ $REPLY =~ ^[Yy]$ ]]
+then
+patch -p1 < custom.patch
+rm custom.patch
+mkdir inav/build
+cd inav/build
+sleep 3
+echo "This might take a while. Go have a pizza or something!"
+cmake ..
+make IFLIGHT_BLITZ_F722
+fi
+exit 0

+ 36 - 0
patch/inav/src/main/target/IFLIGHT_BLITZ_F722/target.c

@@ -0,0 +1,36 @@
+/*
+ * This file is part of INAV.
+ *
+ * INAV is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * INAV is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with INAV.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdint.h>
+#include "platform.h"
+#include "drivers/bus.h"
+#include "drivers/io.h"
+#include "drivers/pwm_mapping.h"
+#include "drivers/timer.h"
+#include "drivers/pinio.h"
+
+timerHardware_t timerHardware[] = {
+    DEF_TIM(TIM3, CH4, PB1,   TIM_USE_OUTPUT_AUTO, 0, 0),  // S1 DMA1_S2_CH5
+    DEF_TIM(TIM3, CH3, PB0,   TIM_USE_OUTPUT_AUTO, 0, 0),  // S2 DMA1_S7_CH5
+
+    DEF_TIM(TIM8, CH3, PC8,   TIM_USE_OUTPUT_AUTO, 0, 1),  // S3 DMA2_S4_CH7
+    DEF_TIM(TIM8, CH4, PC9,   TIM_USE_OUTPUT_AUTO, 0, 0),  // S4 DMA2_S7_CH7
+
+    DEF_TIM(TIM1, CH1, PA8,  TIM_USE_LED,                         0, 0),  // WS2812B
+};
+
+const int timerHardwareCount = sizeof(timerHardware) / sizeof(timerHardware[0]);

+ 166 - 0
patch/inav/src/main/target/IFLIGHT_BLITZ_F722/target.h

@@ -0,0 +1,166 @@
+/*
+ * This file is part of INAV.
+ *
+ * INAV is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * INAV is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with INAV.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#pragma once
+
+#define TARGET_BOARD_IDENTIFIER "IFF722"
+#define USBD_PRODUCT_STRING  "IFLIGHT_BLITZ_F722"
+
+#define LED0                    PC15
+#define BEEPER                  PC13
+#define BEEPER_INVERTED
+
+// *************** SPI1 Gyro & ACC *******************
+#define USE_SPI
+#define USE_SPI_DEVICE_1
+#define SPI1_SCK_PIN            PA5
+#define SPI1_MISO_PIN           PA6
+#define SPI1_MOSI_PIN           PA7
+
+#define USE_IMU_BMI270
+#define IMU_BMI270_ALIGN       CW0_DEG
+#define BMI270_CS_PIN          PA4
+#define BMI270_SPI_BUS         BUS_SPI1
+
+#define USE_IMU_MPU6000
+#define IMU_MPU6000_ALIGN       CW0_DEG
+#define MPU6000_CS_PIN          PA4
+#define MPU6000_SPI_BUS         BUS_SPI1
+
+#define USE_IMU_ICM42605
+#define IMU_ICM42605_ALIGN      CW0_DEG
+#define ICM42605_SPI_BUS        BUS_SPI1
+#define ICM42605_CS_PIN         PA4
+
+// *************** I2C /Baro/Mag *********************
+#define USE_I2C
+#define USE_I2C_DEVICE_1
+#define I2C1_SCL                PB8
+#define I2C1_SDA                PB9
+
+#define USE_BARO
+#define BARO_I2C_BUS            BUS_I2C1
+#define USE_BARO_BMP280
+#define USE_BARO_MS5611
+#define USE_BARO_DPS310
+
+#define USE_MAG
+#define MAG_I2C_BUS             BUS_I2C1
+#define USE_MAG_ALL
+
+#define TEMPERATURE_I2C_BUS     BUS_I2C1
+
+#define PITOT_I2C_BUS           BUS_I2C1
+
+#define USE_RANGEFINDER
+#define RANGEFINDER_I2C_BUS     BUS_I2C1
+
+// *************** SPI2 OSD***********************
+#define USE_SPI_DEVICE_2
+#define SPI2_SCK_PIN            PB13
+#define SPI2_MISO_PIN           PB14
+#define SPI2_MOSI_PIN           PB15
+
+#define USE_OSD
+#define USE_MAX7456
+#define MAX7456_SPI_BUS		    BUS_SPI2
+#define MAX7456_CS_PIN          PB12
+
+// *************** SPI3 Flash ***********************
+#define USE_SPI_DEVICE_3 
+#define SPI3_SCK_PIN            PB3
+#define SPI3_MISO_PIN           PB4
+#define SPI3_MOSI_PIN           PB5
+
+#define USE_FLASHFS
+#define USE_FLASH_M25P16
+#define M25P16_SPI_BUS          BUS_SPI3
+#define M25P16_CS_PIN           PA15
+#define ENABLE_BLACKBOX_LOGGING_ON_SPIFLASH_BY_DEFAULT
+
+// *************** UART *****************************
+#define USE_VCP
+#define USB_DETECT_PIN          PB2
+#define USE_USB_DETECT
+
+#define USE_UART1
+#define UART1_RX_PIN            PA10
+#define UART1_TX_PIN            PA9
+
+#define USE_UART2
+#define UART2_RX_PIN            PA3
+#define UART2_TX_PIN            PA2
+
+#define USE_UART3
+#define UART3_RX_PIN            PC11
+#define UART3_TX_PIN            PC10
+
+#define USE_UART4
+#define UART4_RX_PIN            PA1
+#define UART4_TX_PIN            PA0
+
+#define USE_UART5
+#define UART5_RX_PIN            PD2
+#define UART5_TX_PIN            PC12
+
+#define USE_UART6
+#define UART6_RX_PIN            PC7
+#define UART6_TX_PIN            PC6
+
+#define SERIAL_PORT_COUNT       7
+
+#define DEFAULT_RX_TYPE         RX_TYPE_SERIAL
+
+// *************** ADC *****************************
+#define USE_ADC
+#define ADC_INSTANCE                ADC1
+#define ADC1_DMA_STREAM             DMA2_Stream0
+
+#define ADC_CHANNEL_1_PIN           PC2
+#define ADC_CHANNEL_2_PIN           PC1
+
+#define VBAT_ADC_CHANNEL            ADC_CHN_1
+#define CURRENT_METER_ADC_CHANNEL   ADC_CHN_2
+
+// *************** PINIO ***************************
+#define USE_PINIO
+#define USE_PINIOBOX
+#define PINIO1_PIN                  PB6
+#define PINIO2_PIN                  PB7
+#define PINIO3_PIN                  PB10
+#define PINIO4_PIN                  PB11
+
+// *************** LEDSTRIP ************************
+#define USE_LED_STRIP
+#define WS2811_PIN                  PA8
+
+#define DEFAULT_FEATURES        (FEATURE_OSD | FEATURE_TELEMETRY | FEATURE_CURRENT_METER | FEATURE_VBAT | FEATURE_TX_PROF_SEL)
+#define CURRENT_METER_SCALE     200
+
+#define USE_SERIAL_4WAY_BLHELI_INTERFACE
+
+#define TARGET_IO_PORTA         0xffff
+#define TARGET_IO_PORTB         0xffff
+#define TARGET_IO_PORTC         0xffff
+#define TARGET_IO_PORTD         0xffff
+
+#define MAX_PWM_OUTPUT_PORTS    10
+#define USE_OSD
+#define USE_DSHOT
+#define USE_SERIALSHOT
+#define USE_ESC_SENSOR

+ 146 - 0
readme.md

@@ -0,0 +1,146 @@
+# INAV - navigation capable flight controller
+
+# F411 PSA
+
+> INAV no longer accepts targets based on STM32 F411 MCU.
+
+> INAV 7 is the last INAV official release available for F411 based flight controllers. The next milestone, INAV 8 will not be available for F411 boards.
+
+# ICM426xx IMUs PSA
+
+> The filtering settings for the ICM426xx has changed to match what is used by Ardupilot and Betaflight in INAV 7.1. When upgrading from older versions you may need to recalibrate the Accelerometer and if you are not using INAV's default tune you may also want to check if the tune is still good.
+
+# M7, M6 and older UBLOX GPS units PSA
+
+> INAV 8.0 will mark those GPS as deprecated and INAV 9.0.0 will require UBLOX units with Protocol version 15.00 or newer. This means that you need a GPS unit based on UBLOX M8 or newer.
+
+> If you want to check the protocol version of your unit, it is displayed in INAV's 7.0.0+ status cli command.
+> INAV 8.0.0 will warn you if your GPS is too old.
+> ```GPS: HW Version: Unknown Proto: 0.00 Baud: 115200 (UBLOX Proto >= 15.0 required)```
+
+
+> M8, M9 and M10 GPS are the most common units in use today, are readly available and have similar capabilities.
+>Mantaining and testing GPS changes across this many UBLOX versions is a challenge and takes a lot of time. Removing the support for older devices will simplify code.
+
+![INAV](http://static.rcgroups.net/forums/attachments/6/1/0/3/7/6/a9088858-102-inav.png)
+
+# PosHold, Navigation and RTH without compass PSA
+
+Attention all drone pilots and enthusiasts,
+
+Are you ready to take your flights to new heights with INAV 7.1? We've got some important information to share with you.
+
+INAV 7.1 brings an exciting update to navigation capabilities. Now, you can soar through the skies, navigate waypoints, and even return to home without relying on a compass. Yes, you heard that right! But before you launch into the air, there's something crucial to consider.
+
+While INAV 7.1 may not require a compass for basic navigation functions, we strongly advise you to install one for optimal flight performance. Here's why:
+
+🛰️ Better Flight Precision: A compass provides essential data for accurate navigation, ensuring smoother and more precise flight paths.
+
+🌐 Enhanced Reliability: With a compass onboard, your drone can maintain stability even in challenging environments, low speeds and strong wind.
+
+🚀 Minimize Risks: Although INAV 7.1 can get you where you need to go without a compass, flying without one may result in a bumpier ride and increased risk of drift or inaccurate positioning.
+
+Remember, safety and efficiency are paramount when operating drones. By installing a compass, you're not just enhancing your flight experience, but also prioritizing safety for yourself and those around you.
+
+So, before you take off on your next adventure, make sure to equip your drone with a compass. It's the smart choice for smoother flights and better navigation.
+
+Fly safe, fly smart with INAV 7.1 and a compass by your side!
+
+# INAV Community
+
+* [INAV Discord Server](https://discord.gg/peg2hhbYwN)
+* [INAV Official on Facebook](https://www.facebook.com/groups/INAVOfficial)
+
+## Features
+
+* Runs on the most popular F4, AT32, F7 and H7 flight controllers
+* On Screen Display (OSD) - both character and pixel style
+* DJI OSD integration: all elements, system messages and warnings
+* Outstanding performance out of the box
+* Position Hold, Altitude Hold, Return To Home and Waypoint Missions
+* Excellent support for fixed wing UAVs: airplanes, flying wings
+* Blackbox flight recorder logging
+* Advanced gyro filtering
+* Fully configurable mixer that allows to run any hardware you want: multirotor, fixed wing, rovers, boats and other experimental devices
+* Multiple sensor support: GPS, Pitot tube, sonar, lidar, temperature, ESC with BlHeli_32 telemetry
+* Logic Conditions, Global Functions and Global Variables: you can program INAV with a GUI
+* SmartAudio and IRC Tramp VTX support
+* Telemetry: SmartPort, FPort, MAVlink, LTM, CRSF
+* Multi-color RGB LED Strip support
+* And many more!
+
+For a list of features, changes and some discussion please review consult the releases [page](https://github.com/iNavFlight/inav/releases) and the documentation.
+
+## Tools
+
+### INAV Configurator
+
+Official tool for INAV can be downloaded [here](https://github.com/iNavFlight/inav-configurator/releases). It can be run on Windows, MacOS and Linux machines and standalone application.
+
+### INAV Blackbox Explorer
+
+Tool for Blackbox logs analysis is available [here](https://github.com/iNavFlight/blackbox-log-viewer/releases)
+
+### INAV Blackbox Tools
+
+Command line tools (`blackbox_decode`, `blackbox_render`) for Blackbox log conversion and analysis [here](https://github.com/iNavFlight/blackbox-tools).
+
+### Telemetry screen for EdgeTX and OpenTX
+
+Users of EdgeTX and OpenTX radios (Taranis, Horus, Jumper, Radiomaster, Nirvana) can use INAV OpenTX Telemetry Widget screen. Software and installation instruction are available here: [https://github.com/iNavFlight/OpenTX-Telemetry-Widget](https://github.com/iNavFlight/OpenTX-Telemetry-Widget)
+
+### OSD layout Copy, Move, or Replace helper tool
+
+[Easy INAV OSD switcher tool](https://www.mrd-rc.com/tutorials-tools-and-testing/useful-tools/inav-osd-switcher-tool/) allows you to easily switch your OSD layouts around in INAV. Choose the from and to OSD layouts, and the method of transfering the layouts.
+
+## Installation
+
+See: https://github.com/iNavFlight/inav/blob/master/docs/Installation.md
+
+## Documentation, support and learning resources
+* [INAV 5 on a flying wing full tutorial](https://www.youtube.com/playlist?list=PLOUQ8o2_nCLkZlulvqsX_vRMfXd5zM7Ha)
+* [INAV on a multirotor drone tutorial](https://www.youtube.com/playlist?list=PLOUQ8o2_nCLkfcKsWobDLtBNIBzwlwRC8)
+* [Fixed Wing Guide](docs/INAV_Fixed_Wing_Setup_Guide.pdf)
+* [Autolaunch Guide](docs/INAV_Autolaunch.pdf)
+* [Modes Guide](docs/INAV_Modes.pdf)
+* [Wing Tuning Masterclass](docs/INAV_Wing_Tuning_Masterclass.pdf)
+* [Official documentation](https://github.com/iNavFlight/inav/tree/master/docs)
+* [Official Wiki](https://github.com/iNavFlight/inav/wiki)
+* [Video series by Paweł Spychalski](https://www.youtube.com/playlist?list=PLOUQ8o2_nCLloACrA6f1_daCjhqY2x0fB)
+* [Target documentation](https://github.com/iNavFlight/inav/tree/master/docs/boards)
+
+## Contributing
+
+Contributions are welcome and encouraged.  You can contribute in many ways:
+
+* Documentation updates and corrections.
+* How-To guides - received help?  help others!
+* Bug fixes.
+* New features.
+* Telling us your ideas and suggestions.
+* Buying your hardware from this [link](https://inavflight.com/shop/u/bg/)
+
+A good place to start is the Discord channel, Telegram channel or Facebook group. Drop in, say hi.
+
+Github issue tracker is a good place to search for existing issues or report a new bug/feature request:
+
+https://github.com/iNavFlight/inav/issues
+
+https://github.com/iNavFlight/inav-configurator/issues
+
+Before creating new issues please check to see if there is an existing one, search first otherwise you waste peoples time when they could be coding instead!
+
+## Developers
+
+Please refer to the development section in the [docs/development](https://github.com/iNavFlight/inav/tree/master/docs/development) folder.
+
+Nightly builds are available for testing on the following links:
+
+https://github.com/iNavFlight/inav-nightly/releases
+
+https://github.com/iNavFlight/inav-configurator-nightly/releases
+
+## INAV Releases
+https://github.com/iNavFlight/inav/releases
+
+