diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..84baaf96 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,4 @@ +## Pull-Request requirements +- Adhere to https://betaflight.com/docs/development/manufacturer/requirements-for-submission-of-targets. +- Pull-Request only from a custom branch, not `master`. +- Replace this text with details of your own. \ No newline at end of file diff --git a/.github/workflows/auto-close.yml b/.github/workflows/auto-close.yml new file mode 100644 index 00000000..d0f3223b --- /dev/null +++ b/.github/workflows/auto-close.yml @@ -0,0 +1,22 @@ +name: Auto close bad PR +env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +on: + pull_request_target: + +permissions: + pull-requests: write + issues: write + +jobs: + close-pr: + runs-on: ubuntu-22.04 + steps: + - name: Code Checkout + uses: actions/checkout@v4 + + - name: autoclose + shell: bash + if: github.head_ref == 'master' + run: gh pr close ${{github.event.pull_request.number}} --comment "Auto-closing pull request because the source branch is named 'master'. Please create a feature branch instead. https://betaflight.com/docs/development#using-git-and-github" diff --git a/.gitignore b/.gitignore index c6127b38..86721ec0 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,6 @@ modules.order Module.symvers Mkfile.old dkms.conf + +# OSX +.DS_Store diff --git a/Manufacturers.md b/Manufacturers.md index 8fe8ccc3..7b2ecdbf 100644 --- a/Manufacturers.md +++ b/Manufacturers.md @@ -5,7 +5,6 @@ This is the official list of manufacturer ids (`manufacturer_id` in the target c |Manufacturer Id|Name|Contact| |-|-|-| -|JLDZ|YYRC|| |CUST|'Custom', to be used for homebrew targets|| |FOSS|Free open source target definitions|| |COMM|Community provided target definitions for closed source targets|| @@ -42,7 +41,7 @@ This is the official list of manufacturer ids (`manufacturer_id` in the target c |FFRC|FlyFishRC|https://www.flyfish-rc.com/| |FLAO|FLAO Limited|https://www.sunrisemodel.com| |FLCO|Shenzhen Flycolor Electronic Co., LTD|http://www.flycolor.net/| -[FLHI|Fly High|https://elektronchika.github.io/flyhigh/| +|FLHI|Fly High|https://elektronchika.github.io/flyhigh/| |FLLF|Flying Lemon FPV|https://github.com/flyinglemonfpv| |FLMO|FlyMod|https://flymod.net/| |FLON|FlightOne|https://flightone.com/| @@ -53,7 +52,7 @@ This is the official list of manufacturer ids (`manufacturer_id` in the target c |GEFP|GetFPV LLC|https://www.getfpv.com/| |GEPR|GEPRC|https://geprc.com/| |GFPV|GE-FPV|http://www.ge-fpv.com/| -[GMRC]Great Mountain RC|[https://github.com/shanggl| +|GMRC|Great Mountain RC|https://github.com/shanggl| |HAMO|Happymodel|http://www.happymodel.cn/| |HARC|HAKRC|https://www.hakrc.com/| |HBRO|Holybro|http://www.holybro.com/index.html| @@ -76,7 +75,7 @@ This is the official list of manufacturer ids (`manufacturer_id` in the target c |MOQU|Modd Quad|https://www.moddquad.com/| |MTKS|Matek Systems|http://www.mateksys.com/| |MZGC|Manaz GCS|https://www.shop-mzgcs.de/| -|NAMO|Namimno Silan Electronic Technology Co.Ltd|http://namimnorc.com/] +|NAMO|Namimno Silan Electronic Technology Co.Ltd|http://namimnorc.com/| |NEBD|NewBeeDrone|https://newbeedrone.com/| |NERC|NeutronRC|https://www.facebook.com/Neutronrc-575638996448880| |NGUA|NG.UAVP|https://ng.uavp.ch/Shop| @@ -108,5 +107,6 @@ This is the official list of manufacturer ids (`manufacturer_id` in the target c |VIVA|VivaFPV|https://vivafpv.com/| |WIZZ|WIZZ|https://wizz.store/| |YUPF|YuPiFc|https://www.yupifc.com/| +|YYRC|JLDZ|| |ZEEZ|Zeez RC|https://www.zeezrc.com/| - +|ZERO|Zerodrag|https://zerodrag.in/| diff --git a/configs/BROTHERHOBBYF405V2/config.h b/configs/BROTHERHOBBYF405V2/config.h new file mode 100644 index 00000000..371eb35e --- /dev/null +++ b/configs/BROTHERHOBBYF405V2/config.h @@ -0,0 +1,111 @@ +/* + * This file is part of Betaflight. + * + * Betaflight is free software. You can redistribute this software + * and/or modify this software 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. + * + * Betaflight 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 this software. + * + * If not, see . + */ + +#pragma once + +#define FC_TARGET_MCU STM32F405 +#define BOARD_NAME BHF405V2 +#define MANUFACTURER_ID BROT + +#define USE_ACC +#define USE_ACC_SPI_ICM42688P +#define USE_GYRO +#define USE_GYRO_SPI_ICM42688P +#define USE_BARO +#define USE_BARO_DPS310 +#define USE_BARO_BMP280 +#define USE_BARO_MS5611 +#define USE_FLASH +#define USE_FLASH_W25Q128FV +#define USE_MAX7456 + +#define BEEPER_PIN PC5 +#define MOTOR1_PIN PB6 +#define MOTOR2_PIN PB7 +#define MOTOR3_PIN PB8 +#define MOTOR4_PIN PB9 +#define MOTOR5_PIN PB0 +#define MOTOR6_PIN PB1 +#define MOTOR7_PIN PB5 +#define MOTOR8_PIN PB4 +#define SERVO1_PIN PA8 +#define RX_PPM_PIN PA3 +#define LED_STRIP_PIN PC9 +#define UART1_TX_PIN PA9 +#define UART2_TX_PIN PA2 +#define UART3_TX_PIN PC10 +#define UART6_TX_PIN PC6 +#define UART1_RX_PIN PA10 +#define UART2_RX_PIN PA3 +#define UART3_RX_PIN PC11 +#define UART4_RX_PIN PD2 +#define UART6_RX_PIN PC7 +#define I2C2_SCL_PIN PB10 +#define I2C2_SDA_PIN PB11 +#define LED0_PIN PC8 +#define SPI1_SCK_PIN PA5 +#define SPI2_SCK_PIN PB13 +#define SPI1_SDI_PIN PA6 +#define SPI2_SDI_PIN PB14 +#define SPI1_SDO_PIN PA7 +#define SPI2_SDO_PIN PB15 +#define CAMERA_CONTROL_PIN PB3 +#define ADC_VBAT_PIN PC0 +#define ADC_RSSI_PIN PC2 +#define ADC_CURR_PIN PC1 +#define FLASH_CS_PIN PA15 +#define MAX7456_SPI_CS_PIN PB12 +#define GYRO_1_EXTI_PIN PC4 +#define GYRO_1_CS_PIN PA4 + +#define TIMER_PIN_MAPPING \ + TIMER_PIN_MAP(0, PB6, 1, 0)\ + TIMER_PIN_MAP(1, PB7, 1, 0)\ + TIMER_PIN_MAP(2, PB8, 1, 0)\ + TIMER_PIN_MAP(3, PB9, 1, 0)\ + TIMER_PIN_MAP(4, PB0, 2, 0)\ + TIMER_PIN_MAP(5, PB1, 2, 0)\ + TIMER_PIN_MAP(6, PB5, 1, 0)\ + TIMER_PIN_MAP(7, PB4, 1, 0)\ + TIMER_PIN_MAP(8, PA8, 1, 0)\ + TIMER_PIN_MAP(9, PA3, 2, 0)\ + TIMER_PIN_MAP(10, PB3, 1, 0)\ + TIMER_PIN_MAP(11, PC9, 2, 0) + +#define SPI2_TX_DMA_OPT 0 +#define ADC1_DMA_OPT 0 + +#define MAG_I2C_INSTANCE (I2CDEV_2) +#define BARO_I2C_INSTANCE (I2CDEV_2) +// #define SERIALRX_PROVIDER CRSF +#define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_FLASH +#define DEFAULT_DSHOT_BURST DSHOT_DMAR_ON +#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC +#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC +#define DEFAULT_CURRENT_METER_SCALE 386 +#define BEEPER_INVERTED +#define FLASH_SPI_INSTANCE SPI2 +#define MAX7456_SPI_INSTANCE SPI2 +#define GYRO_1_SPI_INSTANCE SPI1 +#define GYRO_1_ALIGN CW90_DEG +#define SYSTEM_HSE_MHZ 8 +#define SERIALRX_UART SERIAL_PORT_USART2 +#define MSP_DISPLAYPORT_UART SERIAL_PORT_UART4