Ajout FishPeper

This commit is contained in:
Serge NOEL
2026-04-21 12:19:15 +02:00
parent 6744da3f88
commit 0c361a2440
2160 changed files with 589301 additions and 1 deletions

View File

@@ -0,0 +1,2 @@
# d4r-ii target

View File

@@ -0,0 +1,202 @@
#ifndef __PIN_CONFIG_H__
#define __PIN_CONFIG_H__
#include "main.h"
#define LED_GPIO GPIOA
#define LED_GPIO_CLK RCC_APB2Periph_GPIOA
#define LED_GPIO_CLK_RCC 2
#define LED_RED_PIN GPIO_Pin_11
#define LED_GREEN_PIN GPIO_Pin_12
// usually you want to have sbus inverted and hub telemetry inverted
// both will run at sbus baudrate. current betafligh versions allow
// shared frsky sbus and hub telemetry on the same uart port !
// enable SBUS output -> this will DISABLE ppm!
#define SBUS_ENABLED
// Note: default/futaba is INVERTED=1! (use this for a cc3d etc)
// inverted => idle = LOW
// non inverted => idle = high
#define SBUS_INVERTED
// PPM (only used if sbus is disabled)
// #define PPM_INVERTED
// hub telemetry input (soft serial if only HUB_TELEMETRY_INVERTED, sbus uart if HUB_TELEMETRY_ON_SBUS_UART)
#define HUB_TELEMETRY_ON_SBUS_UART
#define HUB_TELEMETRY_INVERTED
#ifdef SBUS_INVERTED
// DEBUG is on SERVO4 output:
#define DEBUG_USART USART3
#define DEBUG_USART_CLK RCC_APB1Periph_USART3
#define DEBUG_USART_CLK_RCC 1
#define DEBUG_USART_GPIO GPIOB
#define DEBUG_USART_GPIO_CLK RCC_APB2Periph_GPIOB
#define DEBUG_USART_GPIO_CLK_RCC 2
#define DEBUG_USART_TX_PIN GPIO_Pin_10
#define DEBUG_USART_IRQHANDLER USART3_IRQHandler
#define DEBUG_USART_IRQn USART3_IRQn
// SBUS is INVERTED on 4 pin header TX pin
#define SBUS_USART USART1
#define SBUS_USART_CLK RCC_APB2Periph_USART1
#define SBUS_USART_RCC 2
#define SBUS_USART_GPIO GPIOA
#define SBUS_USART_GPIO_CLK RCC_APB2Periph_GPIOA
#define SBUS_USART_GPIO_CLK_RCC 2
#define SBUS_USART_TX_PIN GPIO_Pin_9
#define SBUS_USART_IRQHANDLER USART1_IRQHandler
#define SBUS_USART_IRQn USART1_IRQn
#else
// DEBUG is INVERTED(!) on 4pin header TX pin
#define DEBUG_USART USART1
#define DEBUG_USART_CLK RCC_APB2Periph_USART1
#define DEBUG_USART_CLK_RCC 2
#define DEBUG_USART_GPIO GPIOA
#define DEBUG_USART_GPIO_CLK RCC_APB2Periph_GPIOA
#define DEBUG_USART_GPIO_CLK_RCC 2
#define DEBUG_USART_TX_PIN GPIO_Pin_9
#define DEBUG_USART_IRQHANDLER USART1_IRQHandler
#define DEBUG_USART_IRQn USART1_IRQn
// SBUS is non-inverted on SERVO4 output:
#define SBUS_USART USART3
#define SBUS_USART_CLK RCC_APB1Periph_USART3
#define SBUS_USART_RCC 1
#define SBUS_USART_GPIO GPIOB
#define SBUS_USART_GPIO_CLK RCC_APB2Periph_GPIOB
#define SBUS_USART_GPIO_CLK_RCC 2
#define SBUS_USART_TX_PIN GPIO_Pin_10
#define SBUS_USART_IRQHANDLER USART3_IRQHandler
#define SBUS_USART_IRQn USART3_IRQn
#endif
#define CC25XX_SPI_GPIO GPIOA
#define CC25XX_SPI_SCK_PIN GPIO_Pin_5
#define CC25XX_SPI_MOSI_PIN GPIO_Pin_7
#define CC25XX_SPI_MISO_PIN GPIO_Pin_6
#define CC25XX_SPI_CSN_PIN GPIO_Pin_4
#define CC25XX_SPI_GDO2_PIN GPIO_Pin_3
#define CC25XX_SPI SPI1
#define CC25XX_SPI_CLK RCC_APB2Periph_SPI1
#define CC25XX_SPI_CLK_RCC 2
#define CC25XX_SPI_GPIO_CLK RCC_APB2Periph_GPIOA
#define CC25XX_SPI_DMA_CLOCK RCC_AHBPeriph_DMA1
#define CC25XX_SPI_TX_DMA_CHANNEL DMA1_Channel3
#define CC25XX_SPI_TX_DMA_TC_FLAG DMA1_FLAG_TC3
#define CC25XX_SPI_RX_DMA_CHANNEL DMA1_Channel2
#define CC25XX_SPI_RX_DMA_TC_FLAG DMA1_FLAG_TC2
#define CC25XX_ANT_SW_CTX_GPIO GPIOC
#define CC25XX_ANT_SW_CTX_GPIO_CLK RCC_APB2Periph_GPIOC
#define CC25XX_ANT_SW_CTX_GPIO_CLK_RCC 2
#define CC25XX_ANT_SW_CTX_PIN GPIO_Pin_15
#define CC25XX_ANT_SW_CRX_GPIO GPIOC
#define CC25XX_ANT_SW_CRX_GPIO_CLK RCC_APB2Periph_GPIOC
#define CC25XX_ANT_SW_CRX_GPIO_CLK_RCC 2
#define CC25XX_ANT_SW_CRX_PIN GPIO_Pin_14
#define CC25XX_LNA_SW_CTX_GPIO GPIOA
#define CC25XX_LNA_SW_CTX_GPIO_CLK RCC_APB2Periph_GPIOA
#define CC25XX_LNA_SW_CTX_GPIO_CLK_RCC 2
#define CC25XX_LNA_SW_CTX_PIN GPIO_Pin_15
#define CC25XX_LNA_SW_CRX_GPIO GPIOB
#define CC25XX_LNA_SW_CRX_GPIO_CLK RCC_APB2Periph_GPIOB
#define CC25XX_LNA_SW_CRX_GPIO_CLK_RCC 2
#define CC25XX_LNA_SW_CRX_PIN GPIO_Pin_4
#define CC25XX_GDO2_GPIO GPIOA
#define CC25XX_GDO2_PIN GPIO_Pin_3
#define CC25XX_GDO2_GPIO_CLK RCC_APB2Periph_GPIOA
#define CC25XX_GDO2_GPIO_CLK_RCC 2
#define BIND_JUMPER_GPIO GPIOA
#define BIND_JUMPER_PIN GPIO_Pin_8
#define BIND_JUMPER_GPIO_CLK RCC_APB2Periph_GPIOA
#define BIND_JUMPER_GPIO_CLK_RCC 2
#define EEPROM_GPIO GPIOB
#define EEPROM_GPIO_CLK RCC_APB2Periph_GPIOB
#define EEPROM_GPIO_CLK_RCC 2
#define EEPROM_I2C I2C1
#define EEPROM_I2C_CLK RCC_APB1Periph_I2C1
#define EEPROM_I2C_CLK_RCC 1
#define EEPROM_I2C_SDA_PIN GPIO_Pin_7
#define EEPROM_I2C_SCL_PIN GPIO_Pin_6
#define EEPROM_WP_PIN GPIO_Pin_8
// A2=LO, A1=LO, A0=HI on pcb
#define EEPROM_I2C_ADDRESS 0xA2
#define ADC_GPIO GPIOA
#define ADC_GPIO_CLK RCC_APB2Periph_GPIOA
#define ADC_GPIO_CLK_RCC 2
#define ADC_CLK RCC_APB2Periph_ADC1
#define ADC_CLK_RCC 2
#define ADC_IN1_PIN GPIO_Pin_1
#define ADC_IN2_PIN GPIO_Pin_2
#define ADC_DMA_CHANNEL DMA1_Channel1
#define ADC_DMA_TC_FLAG DMA1_FLAG_TC1
#define ADC ADC1
// ppm output
#define PPM_GPIO GPIOB
#define PPM_GPIO_CLK RCC_APB2Periph_GPIOB
#define PPM_GPIO_CLK_RCC 2
#define PPM_PIN GPIO_Pin_0
#define PPM_TIMER TIM3
#define PPM_TIMER_CLK RCC_APB1Periph_TIM3
#define PPM_TIMER_CLK_RCC 1
#define PPM_TIMER_CH TIM_Channel_3
#define PPM_TIMER_IRQHANDLER TIM3_IRQHandler
#define PPM_TIMER_IRQn TIM3_IRQn
// soft spi for apa102 led
#define SOFT_SPI_GPIO GPIOB
#define SOFT_SPI_GPIO_CLK RCC_APB2Periph_GPIOB
#define SOFT_SPI_GPIO_CLK_RCC 2
#define SOFT_SPI_MOSI GPIO_Pin_1
#define SOFT_SPI_SCK GPIO_Pin_2
#ifndef HUB_TELEMETRY_ON_SBUS_UART
// hub telemetry input NOTE: this has to be a timer io
#define SOFT_SERIAL_PIN_HAS_INVERTER // there is an inverter on GPIOA.10!
#define SOFT_SERIAL_GPIO GPIOA
#define SOFT_SERIAL_CLK RCC_APB2Periph_GPIOA
#define SOFT_SERIAL_CLK_RCC 2
#define SOFT_SERIAL_PIN GPIO_Pin_10
#define SOFT_SERIAL_TIMER TIM1
#define SOFT_SERIAL_TIMER_CLK RCC_APB2Periph_TIM1
#define SOFT_SERIAL_TIMER_CLK_RCC 2
#define SOFT_SERIAL_TIMER_IT_IC TIM_IT_CC3
#define SOFT_SERIAL_TIMER_CH TIM_Channel_3
#define SOFT_SERIAL_TIMER_GET_CAPTURE() TIM_GetCapture3(SOFT_SERIAL_TIMER)
#define SOFT_SERIAL_TIMER_IT_UP TIM_IT_Update
#define SOFT_SERIAL_TIMER_IC_IRQHandler TIM1_CC_IRQHandler
#define SOFT_SERIAL_TIMER_UP_IRQHandler TIM1_UP_TIM16_IRQHandler
#define SOFT_SERIAL_TIMER_IC_IRQn TIM1_CC_IRQn
#define SOFT_SERIAL_TIMER_UP_IRQn TIM1_UP_IRQn
#endif // hub telemetry on softserial
// THIS CONFIGURES IRQ PRIORITIES - DO NOT MESS THIS UP!
// this is the most critical stuff:
#define NVIC_PRIO_PPM 1
// sbus is a tx interrupt, this can be delayed at no cost
#define NVIC_PRIO_SBUS 6
// this is very time critical, but as telemetry data is not that important
// we allow this to be interrupted (=corrupted) occasionally
#define NVIC_PRIO_SOFT_SERIAL 2
// debugging data is not critical
#define NVIC_PRIO_DEBUG_UART 7
// systick prio
#define NVIC_PRIO_SYSTICK 0
#define DEFAULT_FSCAL_VALUE -62
#endif // __PIN_CONFIG_H__

View File

@@ -0,0 +1,4 @@
# continue with normal stm32f1 build
ARCH_DIR = arch/stm32f1
ARCH_MAKEFILE = $(ARCH_DIR)/stm32f1.mk