diff --git a/src/main/target/KIWIF4/KIWIF4V2.mk b/src/main/target/KIWIF4/KIWIF4V2.mk new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/main/target/KIWIF4/target.h b/src/main/target/KIWIF4/target.h index 628351d081..a43376ba6d 100644 --- a/src/main/target/KIWIF4/target.h +++ b/src/main/target/KIWIF4/target.h @@ -17,25 +17,26 @@ #pragma once -#ifdef PLUMF4 +#if defined(PLUMF4) #define TARGET_BOARD_IDENTIFIER "PLUM" #define USBD_PRODUCT_STRING "PLUMF4" +#elif defined(KIWIF4V2) +#define TARGET_BOARD_IDENTIFIER "KIW2" +#define USBD_PRODUCT_STRING "KIWIF4V2" + #else - #define TARGET_BOARD_IDENTIFIER "KIWI" #define USBD_PRODUCT_STRING "KIWIF4" #endif -#ifdef PLUMF4 +#if defined(PLUMF4) || defined(KIWIF4V2) #define LED0 PB4 #else - #define LED0 PB5 -#define LED1 PB4 - +#define LED1 PB4 #endif #define BEEPER PA8 @@ -60,9 +61,16 @@ #define USE_ACC_SPI_MPU6000 #define ACC_MPU6000_ALIGN CW180_DEG -#ifdef KIWIF4 +#if defined(KIWIF4) || defined(KIWIF4V2) #define OSD #define USE_MAX7456 +#endif + +#if defined(KIWIF4V2) +#define MAX7456_SPI_INSTANCE SPI3 +#define MAX7456_SPI_CS_PIN PA15 + +#else #define MAX7456_SPI_INSTANCE SPI2 #define MAX7456_SPI_CS_PIN PB12 //#define MAX7456_DMA_CHANNEL_TX DMA1_Stream5 @@ -70,10 +78,37 @@ //#define MAX7456_DMA_IRQ_HANDLER_ID DMA1_ST0_HANDLER #endif +#if defined(KIWIF4V2) +#define USE_SDCARD + +//#define SDCARD_DETECT_INVERTED + +#define SDCARD_DETECT_PIN PB9 +#define SDCARD_SPI_INSTANCE SPI2 +#define SDCARD_SPI_CS_PIN PB12 + +// SPI2 is on the APB1 bus whose clock runs at 84MHz. Divide to under 400kHz for init: +#define SDCARD_SPI_INITIALIZATION_CLOCK_DIVIDER 256 // 328kHz +// Divide to under 25MHz for normal operation: +#define SDCARD_SPI_FULL_SPEED_CLOCK_DIVIDER 4 // 21MHz + + +//#define SDCARD_DMA_CHANNEL_TX DMA1_Stream5 +//#define SDCARD_DMA_CHANNEL_TX_COMPLETE_FLAG DMA_FLAG_TCIF5 +//#define SDCARD_DMA_CLK RCC_AHB1Periph_DMA1 +//#define SDCARD_DMA_CHANNEL DMA_Channel_0 + +#define SDCARD_DMA_CHANNEL_TX DMA1_Stream4 +#define SDCARD_DMA_CHANNEL_TX_COMPLETE_FLAG DMA_FLAG_TCIF4 +#define SDCARD_DMA_CLK RCC_AHB1Periph_DMA1 +#define SDCARD_DMA_CHANNEL DMA_Channel_0 + +#else #define USE_FLASHFS #define USE_FLASH_M25P16 #define M25P16_CS_PIN SPI3_NSS_PIN #define M25P16_SPI_INSTANCE SPI3 +#endif #define USE_VCP #define VBUS_SENSING_PIN PC5 @@ -82,7 +117,7 @@ #define USE_UART1 #define UART1_RX_PIN PA10 #define UART1_TX_PIN PA9 -#define UART1_AHB1_PERIPHERALS RCC_AHB1Periph_DMA2 +//#define UART1_AHB1_PERIPHERALS RCC_AHB1Periph_DMA2 #define USE_UART3 #define UART3_RX_PIN PB11 @@ -135,9 +170,14 @@ #define RSSI_ADC_PIN PC2 #define CURRENT_METER_ADC_PIN PC3 +#define CURRENT_METER_SCALE_DEFAULT 444 +#define VBAT_SCALE_DEFAULT 57 + #define DEFAULT_FEATURES (FEATURE_OSD) + #define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL #define SERIALRX_PROVIDER SERIALRX_SBUS +#define SERIALRX_UART SERIAL_PORT_USART1 #define SPEKTRUM_BIND_PIN UART3_RX_PIN @@ -150,7 +190,7 @@ #define USABLE_TIMER_CHANNEL_COUNT 12 -#define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(5) | TIM_N(12) | TIM_N(8) | TIM_N(9) ) +#define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(5) | TIM_N(8) | TIM_N(9) ) #define CMS #define USE_MSP_DISPLAYPORT diff --git a/src/main/target/KIWIF4/target.mk b/src/main/target/KIWIF4/target.mk index d5bd1d71ea..8a080dc251 100644 --- a/src/main/target/KIWIF4/target.mk +++ b/src/main/target/KIWIF4/target.mk @@ -1,5 +1,5 @@ F405_TARGETS += $(TARGET) -FEATURES += VCP ONBOARDFLASH +FEATURES += VCP ONBOARDFLASH SDCARD TARGET_SRC = \ drivers/accgyro_spi_mpu6000.c \