From 836da166d4982c95f02e35333a43ea251470e1dc Mon Sep 17 00:00:00 2001 From: root Date: Sun, 22 Apr 2018 03:19:57 +0200 Subject: [PATCH 01/12] Fix motor and beeper --- src/main/target/YUPIF4/target.c | 15 +++++++++++++++ src/main/target/YUPIF4/target.h | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/target/YUPIF4/target.c b/src/main/target/YUPIF4/target.c index a143156a3c..dc19ea98ef 100644 --- a/src/main/target/YUPIF4/target.c +++ b/src/main/target/YUPIF4/target.c @@ -30,6 +30,21 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { { TIM5, IO_TAG(PA2), TIM_Channel_3, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM5, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, { TIM5, IO_TAG(PA3), TIM_Channel_4, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM5, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, { TIM3, IO_TAG(PB0), TIM_Channel_3, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, + { TIM4, IO_TAG(PB7), TIM_Channel_4, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM4, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, { TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO | TIM_USE_LED }, + { TIM12, IO_TAG(PC9), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM4, TIM_USE_BEEPER }, { TIM12, IO_TAG(PB14), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_BEEPER }, }; + +/* + DEF_TIM(TIM8, CH3, PC8, TIM_USE_PPM, 0, 0 ), // PPM IN + DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST2 + DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST4 + DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST1 + DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - DMA1_ST6 + DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S5_OUT - DMA1_ST7 + DEF_TIM(TIM4, CH2, PB7, TIM_USE_ANY, 0, 0 ), // S6_OUT - DMA1_ST3 - Camera control + DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S7_OUT + DEF_TIM(TIM3, CH4, PC9, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM + DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM OPT +*/ diff --git a/src/main/target/YUPIF4/target.h b/src/main/target/YUPIF4/target.h index bf039b972e..e27d57935c 100644 --- a/src/main/target/YUPIF4/target.h +++ b/src/main/target/YUPIF4/target.h @@ -155,5 +155,5 @@ #define TARGET_IO_PORTC 0xffff #define TARGET_IO_PORTD (BIT(2)) -#define USABLE_TIMER_CHANNEL_COUNT 8 +#define USABLE_TIMER_CHANNEL_COUNT 10 #define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(5) | TIM_N(8) | TIM_N(12)) From 3081e09a4280393b829f1817b9953428b95d3bb5 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 22 Apr 2018 03:28:22 +0200 Subject: [PATCH 02/12] Fix motor and beeper fc.V1 --- src/main/target/YUPIF4/target.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/main/target/YUPIF4/target.c b/src/main/target/YUPIF4/target.c index dc19ea98ef..459341a826 100644 --- a/src/main/target/YUPIF4/target.c +++ b/src/main/target/YUPIF4/target.c @@ -35,16 +35,3 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { { TIM12, IO_TAG(PC9), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM4, TIM_USE_BEEPER }, { TIM12, IO_TAG(PB14), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_BEEPER }, }; - -/* - DEF_TIM(TIM8, CH3, PC8, TIM_USE_PPM, 0, 0 ), // PPM IN - DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST2 - DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST4 - DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST1 - DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - DMA1_ST6 - DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S5_OUT - DMA1_ST7 - DEF_TIM(TIM4, CH2, PB7, TIM_USE_ANY, 0, 0 ), // S6_OUT - DMA1_ST3 - Camera control - DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S7_OUT - DEF_TIM(TIM3, CH4, PC9, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM - DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM OPT -*/ From a2a2bcfef639ff37a0cfc65471dfd2a984be8d7a Mon Sep 17 00:00:00 2001 From: RcNet Date: Sun, 22 Apr 2018 03:40:13 +0200 Subject: [PATCH 03/12] Fix Timer --- src/main/target/YUPIF4/target.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/target/YUPIF4/target.h b/src/main/target/YUPIF4/target.h index e27d57935c..e6f51224b2 100644 --- a/src/main/target/YUPIF4/target.h +++ b/src/main/target/YUPIF4/target.h @@ -156,4 +156,4 @@ #define TARGET_IO_PORTD (BIT(2)) #define USABLE_TIMER_CHANNEL_COUNT 10 -#define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(5) | TIM_N(8) | TIM_N(12)) +#define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(5) | TIM_N(8) | TIM_N(12)) From 450cd1efbc8e8fc6bd8068143674d41f22f802b7 Mon Sep 17 00:00:00 2001 From: RcNet Date: Sun, 22 Apr 2018 16:37:47 +0200 Subject: [PATCH 04/12] Fix timer motor 6 Mini --- src/main/target/YUPIF4/target.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/target/YUPIF4/target.c b/src/main/target/YUPIF4/target.c index 459341a826..0fba54831c 100644 --- a/src/main/target/YUPIF4/target.c +++ b/src/main/target/YUPIF4/target.c @@ -30,8 +30,9 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { { TIM5, IO_TAG(PA2), TIM_Channel_3, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM5, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, { TIM5, IO_TAG(PA3), TIM_Channel_4, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM5, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, { TIM3, IO_TAG(PB0), TIM_Channel_3, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, - { TIM4, IO_TAG(PB7), TIM_Channel_4, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM4, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, + { TIM4, IO_TAG(PB7), TIM_Channel_2, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM4, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, { TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO | TIM_USE_LED }, - { TIM12, IO_TAG(PC9), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM4, TIM_USE_BEEPER }, { TIM12, IO_TAG(PB14), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_BEEPER }, + { TIM3, IO_TAG(PC9), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_BEEPER }, }; + From 7c95d1797b7ba77699faadd490c986ef4235ee4d Mon Sep 17 00:00:00 2001 From: root Date: Sun, 29 Apr 2018 14:27:04 +0200 Subject: [PATCH 05/12] Add Target YUPIF4R2 YUPIF4MINI YUPIF7 --- make/release.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/make/release.mk b/make/release.mk index 29c53b3a8f..405ed64ca1 100644 --- a/make/release.mk +++ b/make/release.mk @@ -1,7 +1,7 @@ RELEASE_TARGETS = AIRHEROF3 AIRHEROF3_QUAD RELEASE_TARGETS += COLIBRI_RACE LUX_RACE FURYF3 FURYF3_SPIFLASH RCEXPLORERF3 RMDO SPARKY KFC32F3_INAV FALCORE MOTOLAB ANYFC BLUEJAYF4 COLIBRI F4BY -RELEASE_TARGETS += QUANTON REVO SPARKY2 YUPIF4 KROOZX PIKOBLX CLRACINGF4AIR CLRACINGF4AIRV2 PIXRACER BEEROTORF4 ANYFCF7 ANYFCF7_EXTERNAL_BARO ANYFCM7 +RELEASE_TARGETS += QUANTON REVO SPARKY2 YUPIF4 YUPIF4R2 YUPIF4MINI KROOZX PIKOBLX CLRACINGF4AIR CLRACINGF4AIRV2 PIXRACER BEEROTORF4 ANYFCF7 ANYFCF7_EXTERNAL_BARO ANYFCM7 RELEASE_TARGETS += ALIENFLIGHTNGF7 RELEASE_TARGETS += BETAFLIGHTF3 BETAFLIGHTF4 @@ -12,6 +12,6 @@ RELEASE_TARGETS += SPRACINGF3 SPRACINGF3EVO SPRACINGF3EVO_1SS SPRACINGF3MINI SPR RELEASE_TARGETS += OMNIBUS AIRBOTF4 ASGARD32F4 FIREWORKSV2 RELEASE_TARGETS += OMNIBUSF4 OMNIBUSF4PRO OMNIBUSF4V3 OMNIBUSF4PRO_LEDSTRIPM5 DYSF4PRO -RELEASE_TARGETS += OMNIBUSF7 OMNIBUSF7V2 OMNIBUSF7NXT +RELEASE_TARGETS += OMNIBUSF7 OMNIBUSF7V2 OMNIBUSF7NXT YUPIF7 RELEASE_TARGETS += MATEKF405 MATEKF405_SERVOS6 MATEKF405OSD MATEKF722 MATEKF405SE From 46d4c191216d3ea67f5baecbbc3aafcb0d5c2962 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 29 Apr 2018 14:31:26 +0200 Subject: [PATCH 06/12] Split hardware_revision YUPIF4 --- src/main/target/YUPIF4/YUPIF4MINI.mk | 1 + src/main/target/YUPIF4/YUPIF4R2.mk | 1 + src/main/target/YUPIF4/config.c | 71 +++++++++++++--------------- src/main/target/YUPIF4/target.c | 8 +++- src/main/target/YUPIF4/target.h | 36 ++++++++++++-- 5 files changed, 74 insertions(+), 43 deletions(-) create mode 100644 src/main/target/YUPIF4/YUPIF4MINI.mk create mode 100644 src/main/target/YUPIF4/YUPIF4R2.mk diff --git a/src/main/target/YUPIF4/YUPIF4MINI.mk b/src/main/target/YUPIF4/YUPIF4MINI.mk new file mode 100644 index 0000000000..de18f71abd --- /dev/null +++ b/src/main/target/YUPIF4/YUPIF4MINI.mk @@ -0,0 +1 @@ +#YUPIF4MINI diff --git a/src/main/target/YUPIF4/YUPIF4R2.mk b/src/main/target/YUPIF4/YUPIF4R2.mk new file mode 100644 index 0000000000..aec79b6c94 --- /dev/null +++ b/src/main/target/YUPIF4/YUPIF4R2.mk @@ -0,0 +1 @@ +#YUPIF4R2 diff --git a/src/main/target/YUPIF4/config.c b/src/main/target/YUPIF4/config.c index 6f21bd0f4c..62134ebace 100644 --- a/src/main/target/YUPIF4/config.c +++ b/src/main/target/YUPIF4/config.c @@ -17,54 +17,47 @@ #include #include - #include - #ifdef TARGET_CONFIG +#include "config/feature.h" +#include "drivers/pwm_output.h" #include "blackbox/blackbox.h" #include "fc/config.h" +#include "fc/controlrate_profile.h" +#include "fc/rc_controls.h" +#include "fc/rc_modes.h" +#include "io/serial.h" +#include "rx/rx.h" +#include "sensors/sensors.h" +#include "sensors/gyro.h" +#include "sensors/acceleration.h" +#include "sensors/barometer.h" +#include "sensors/compass.h" +#include "sensors/boardalignment.h" #include "flight/pid.h" -#include "telemetry/telemetry.h" - -#include "hardware_revision.h" - - +#include "flight/mixer.h" +#include "flight/servos.h" +#include "flight/imu.h" +#include "flight/failsafe.h" +#include "drivers/sound_beeper.h" +#include "navigation/navigation.h" -// alternative defaults settings for YuPiF4 targets void targetConfiguration(void) { - /* Changes depending on versions */ - if (hardwareRevision == YUPIF4_RACE3) { - beeperDevConfigMutable()->ioTag = IO_TAG(PB14); - telemetryConfigMutable()->halfDuplex = false; - - } else if (hardwareRevision == YUPIF4_RACE2) { - beeperDevConfigMutable()->ioTag = IO_TAG(PB14); - - } else if (hardwareRevision == YUPIF4_MINI) { - beeperDevConfigMutable()->frequency = 0; - blackboxConfigMutable()->device = BLACKBOX_DEVICE_NONE; - adcConfigMutable()->current.enabled = 0; - - } else if (hardwareRevision == YUPIF4_NAV) { - beeperDevConfigMutable()->ioTag = IO_TAG(PB14); - - } else { - adcConfigMutable()->current.enabled = 0; - } - /* Specific PID values for YupiF4 */ - for (uint8_t pidProfileIndex = 0; pidProfileIndex < MAX_PROFILE_COUNT; pidProfileIndex++) { - pidProfile_t *pidProfile = pidProfilesMutable(pidProfileIndex); + setConfigProfile(0); + pidProfileMutable()->bank_mc.pid[PID_ROLL].P = 30; + pidProfileMutable()->bank_mc.pid[PID_ROLL].I = 45; + pidProfileMutable()->bank_mc.pid[PID_ROLL].D = 20; + pidProfileMutable()->bank_mc.pid[PID_PITCH].P = 30; + pidProfileMutable()->bank_mc.pid[PID_PITCH].I = 50; + pidProfileMutable()->bank_mc.pid[PID_PITCH].D = 20; + pidProfileMutable()->bank_mc.pid[PID_YAW].P = 40; + pidProfileMutable()->bank_mc.pid[PID_YAW].I = 50; + pidProfileMutable()->bank_mc.pid[PID_YAW].D = 0; + pidProfileMutable()->bank_mc.pid[PID_LEVEL].P = 20; + pidProfileMutable()->bank_mc.pid[PID_LEVEL].I = 10; + pidProfileMutable()->bank_mc.pid[PID_LEVEL].D = 75; - pidProfile->pid[PID_ROLL].P = 30; - pidProfile->pid[PID_ROLL].I = 45; - pidProfile->pid[PID_ROLL].D = 20; - pidProfile->pid[PID_PITCH].P = 30; - pidProfile->pid[PID_PITCH].I = 50; - pidProfile->pid[PID_PITCH].D = 20; - pidProfile->pid[PID_YAW].P = 40; - pidProfile->pid[PID_YAW].I = 50; - } } #endif diff --git a/src/main/target/YUPIF4/target.c b/src/main/target/YUPIF4/target.c index 0fba54831c..201f054e9c 100644 --- a/src/main/target/YUPIF4/target.c +++ b/src/main/target/YUPIF4/target.c @@ -30,9 +30,15 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { { TIM5, IO_TAG(PA2), TIM_Channel_3, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM5, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, { TIM5, IO_TAG(PA3), TIM_Channel_4, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM5, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, { TIM3, IO_TAG(PB0), TIM_Channel_3, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, - { TIM4, IO_TAG(PB7), TIM_Channel_2, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM4, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, +#if defined (YUPIF4R2) { TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO | TIM_USE_LED }, { TIM12, IO_TAG(PB14), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_BEEPER }, +#elif (YUPIF4MINI) + { TIM4, IO_TAG(PB7), TIM_Channel_2, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM4, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO }, + { TIM3, IO_TAG(PC9), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_BEEPER }, +#else + { TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_MC_SERVO | TIM_USE_FW_SERVO | TIM_USE_LED }, { TIM3, IO_TAG(PC9), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_BEEPER }, +#endif }; diff --git a/src/main/target/YUPIF4/target.h b/src/main/target/YUPIF4/target.h index e6f51224b2..bef9e64dc9 100644 --- a/src/main/target/YUPIF4/target.h +++ b/src/main/target/YUPIF4/target.h @@ -16,17 +16,36 @@ */ #pragma once + +#if defined (YUPIF4R2) +#define TARGET_BOARD_IDENTIFIER "YPF4R2" +#define USBD_PRODUCT_STRING "YUPIF4R2" +#elif (YUPIF4MINI) +#define TARGET_BOARD_IDENTIFIER "YPF4M" +#define USBD_PRODUCT_STRING "YUPIF4MINI" +#else #define TARGET_BOARD_IDENTIFIER "YPF4" +#define USBD_PRODUCT_STRING "YUPIF4" +#endif -#define USBD_PRODUCT_STRING "YupiF4" +#define TARGET_CONFIG #define LED0 PB6 #define LED1 PB4 +#if defined(YUPIF4R2) #define BEEPER PB14 +#else +#define BEEPER PC9 +#endif + +#if defined(YUPIF4MINI) +#define BEEPER_INVERTED +#else #define BEEPER_PWM #define BEEPER_INVERTED #define BEEPER_PWM_FREQUENCY 3150 +#endif #define INVERTER_PIN_UART6 PB15 @@ -73,6 +92,8 @@ #define MAX7456_SPI_BUS BUS_SPI1 #define MAX7456_CS_PIN PA14 +#if defined(YUPIF4MINI) +#else #define USE_SDCARD #define USE_SDCARD_SPI3 #define SDCARD_DETECT_INVERTED @@ -83,6 +104,7 @@ #define SDCARD_DMA_CHANNEL_TX_COMPLETE_FLAG DMA_FLAG_TCIF5 #define SDCARD_DMA_CLK RCC_AHB1Periph_DMA1 #define SDCARD_DMA_CHANNEL DMA_Channel_0 +#endif #define USB_IO #define USE_VCP @@ -155,5 +177,13 @@ #define TARGET_IO_PORTC 0xffff #define TARGET_IO_PORTD (BIT(2)) -#define USABLE_TIMER_CHANNEL_COUNT 10 -#define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(5) | TIM_N(8) | TIM_N(12)) +#if defined (YUPIF4R2) +#define USABLE_TIMER_CHANNEL_COUNT 8 +#define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(5) | TIM_N(8) | TIM_N(12)) +#elif (YUPIF4MINI) +#define USABLE_TIMER_CHANNEL_COUNT 8 +#define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(5) | TIM_N(8)) +#else +#define USABLE_TIMER_CHANNEL_COUNT 8 +#define USED_TIMERS ( TIM_N(2) | TIM_N(3) | TIM_N(5) | TIM_N(8)) +#endif From 63a193e8d12a3b9026a7829653cf926da255677a Mon Sep 17 00:00:00 2001 From: RcNet Date: Sun, 29 Apr 2018 14:35:59 +0200 Subject: [PATCH 07/12] Delete hardware_revision.c --- src/main/target/YUPIF4/hardware_revision.c | 74 ---------------------- 1 file changed, 74 deletions(-) delete mode 100644 src/main/target/YUPIF4/hardware_revision.c diff --git a/src/main/target/YUPIF4/hardware_revision.c b/src/main/target/YUPIF4/hardware_revision.c deleted file mode 100644 index 5ee99e7b5b..0000000000 --- a/src/main/target/YUPIF4/hardware_revision.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * This file is part of Cleanflight. - * - * Cleanflight 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. - * - * Cleanflight 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 Cleanflight. If not, see . - */ - -#include -#include -#include - -#include "platform.h" - -#include "build/build_config.h" - -#include "drivers/io.h" -#include "drivers/time.h" -#include "drivers/bus_spi.h" - -#include "hardware_revision.h" - -uint8_t hardwareRevision = UNKNOWN; - -void detectHardwareRevision(void) -{ - IO_t pin1 = IOGetByTag(IO_TAG(PC13)); - IOInit(pin1, OWNER_SYSTEM, RESOURCE_INPUT, 1); - IOConfigGPIO(pin1, IOCFG_IPU); - - IO_t pin2 = IOGetByTag(IO_TAG(PC14)); - IOInit(pin2, OWNER_SYSTEM, RESOURCE_INPUT, 1); - IOConfigGPIO(pin2, IOCFG_IPU); - - IO_t pin3 = IOGetByTag(IO_TAG(PC15)); - IOInit(pin3, OWNER_SYSTEM, RESOURCE_INPUT, 1); - IOConfigGPIO(pin3, IOCFG_IPU); - - // Check hardware revision - delayMicroseconds(10); // allow configuration to settle - - /* - Hardware pins : Pin1 = PC13 / Pin2 = PC14 / Pin3 = PC15 - no Hardware pins tied to ground => Race V1 - if Pin 1 is the only one tied to ground => Mini - if Pin 2 is the only one tied to ground => Race V2 - if Pin 2 and Pin 1 are tied to ground => Race V3 - if Pin 3 is the only one tied to ground => Navigation - Other combinations available for potential evolutions - */ - if (!IORead(pin1) && IORead(pin2)) { - hardwareRevision = YUPIF4_MINI; - } else if (IORead(pin1) && !IORead(pin2)) { - hardwareRevision = YUPIF4_RACE2; - } else if (!IORead(pin1) && !IORead(pin2)) { - hardwareRevision = YUPIF4_RACE3; - } else if (!IORead(pin3)) { - hardwareRevision = YUPIF4_NAV; - } else { - hardwareRevision = YUPIF4_RACE1; - } -} - -void updateHardwareRevision(void) { -} From a8c01dd24f7af753d3fc047d417d8520631e3f82 Mon Sep 17 00:00:00 2001 From: RcNet Date: Sun, 29 Apr 2018 14:36:10 +0200 Subject: [PATCH 08/12] Delete hardware_revision.h --- src/main/target/YUPIF4/hardware_revision.h | 31 ---------------------- 1 file changed, 31 deletions(-) delete mode 100644 src/main/target/YUPIF4/hardware_revision.h diff --git a/src/main/target/YUPIF4/hardware_revision.h b/src/main/target/YUPIF4/hardware_revision.h deleted file mode 100644 index 7a167ea043..0000000000 --- a/src/main/target/YUPIF4/hardware_revision.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file is part of Cleanflight. - * - * Cleanflight 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. - * - * Cleanflight 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 Cleanflight. If not, see . - */ -#pragma once - -typedef enum yupif4HardwareRevision_t { - UNKNOWN = 0, - YUPIF4_RACE1, // Race V1 - YUPIF4_RACE2, // Race V2 - YUPIF4_RACE3, // Race V3 - YUPIF4_MINI, // Mini - YUPIF4_NAV // Navigation -} yupif4HardwareRevision_e; - -extern uint8_t hardwareRevision; - -void detectHardwareRevision(void); -void updateHardwareRevision(void); From 85e7deb668684f35c6a151c0c970a53f0964fa55 Mon Sep 17 00:00:00 2001 From: RcNet Date: Sun, 29 Apr 2018 14:41:45 +0200 Subject: [PATCH 09/12] Add TARGET_CONFIG --- src/main/target/YUPIF7/target.h | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/main/target/YUPIF7/target.h b/src/main/target/YUPIF7/target.h index d31710ae63..cb32d6580a 100644 --- a/src/main/target/YUPIF7/target.h +++ b/src/main/target/YUPIF7/target.h @@ -15,10 +15,11 @@ * along with Cleanflight. If not, see . */ + #pragma once #define TARGET_BOARD_IDENTIFIER "YPF7" - #define USBD_PRODUCT_STRING "YUPIF7" +#define TARGET_CONFIG #define LED0 PB4 @@ -32,7 +33,7 @@ // Gyro interrupt #define USE_EXTI -#define GYRO_INT_EXTI PC4 +#define GYRO_INT_EXTI PC4 #define USE_MPU_DATA_READY_SIGNAL #define ENSURE_MPU_DATA_READY_IS_LOW @@ -92,7 +93,6 @@ #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 -// #define ESCSERIAL_TIMER_TX_PIN PC8 // (Hardware=0, PPM) //SPI ports #define USE_SPI @@ -119,25 +119,25 @@ // OSD #define USE_OSD #define USE_MAX7456 -#define MAX7456_SPI_BUS BUS_SPI1 -#define MAX7456_CS_PIN PA14 +#define MAX7456_SPI_BUS BUS_SPI1 +#define MAX7456_CS_PIN PA14 // Dataflash #define M25P16_CS_PIN SPI3_NSS_PIN -#define M25P16_SPI_BUS BUS_SPI3 +#define M25P16_SPI_BUS BUS_SPI3 #define USE_FLASHFS #define USE_FLASH_M25P16 #define ENABLE_BLACKBOX_LOGGING_ON_SPIFLASH_BY_DEFAULT // ADC inputs #define USE_ADC -#define ADC_CHANNEL_1_PIN PC0 -#define ADC_CHANNEL_2_PIN PC1 -#define ADC_CHANNEL_3_PIN PC2 +#define ADC_CHANNEL_1_PIN PC0 +#define ADC_CHANNEL_2_PIN PC1 +#define ADC_CHANNEL_3_PIN PC2 #define RSSI_ADC_CHANNEL ADC_CHN_1 #define VBAT_ADC_CHANNEL ADC_CHN_2 #define CURRENT_METER_ADC_CHANNEL ADC_CHN_3 -#define CURRENT_METER_SCALE 235 +#define CURRENT_METER_SCALE 235 // LED Strip can run off Pin 5 (PB1) of the motor outputs #define USE_LED_STRIP @@ -149,8 +149,6 @@ #define WS2811_DMA_CHANNEL DMA_CHANNEL_5 #define WS2811_TIMER_GPIO_AF GPIO_AF3_TIM8 -// ################################################# - // Default configuration #define SERIALRX_PROVIDER SERIALRX_SBUS #define SERIALRX_UART SERIAL_PORT_USART6 @@ -160,8 +158,8 @@ // Target IO and timers #define USE_SERIAL_4WAY_BLHELI_INTERFACE -#define MAX_PWM_OUTPUT_PORTS 9 -#define TARGET_MOTOR_COUNT 6 +#define MAX_PWM_OUTPUT_PORTS 9 +#define TARGET_MOTOR_COUNT 6 #define TARGET_IO_PORTA 0xffff #define TARGET_IO_PORTB 0xffff From 2722b14de0129beefe1420ff15a680911b0b19b9 Mon Sep 17 00:00:00 2001 From: RcNet Date: Sun, 29 Apr 2018 14:42:40 +0200 Subject: [PATCH 10/12] Add PID for YupiF7 --- src/main/target/YUPIF7/config.c | 51 ++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/src/main/target/YUPIF7/config.c b/src/main/target/YUPIF7/config.c index 62cc47a458..adbd9f97b0 100644 --- a/src/main/target/YUPIF7/config.c +++ b/src/main/target/YUPIF7/config.c @@ -18,27 +18,46 @@ #include #include #include - -#ifdef USE_TARGET_CONFIG +#ifdef TARGET_CONFIG +#include "config/feature.h" +#include "drivers/pwm_output.h" +#include "blackbox/blackbox.h" #include "fc/config.h" +#include "fc/controlrate_profile.h" +#include "fc/rc_controls.h" +#include "fc/rc_modes.h" +#include "io/serial.h" +#include "rx/rx.h" +#include "sensors/sensors.h" +#include "sensors/gyro.h" +#include "sensors/acceleration.h" +#include "sensors/barometer.h" +#include "sensors/compass.h" +#include "sensors/boardalignment.h" #include "flight/pid.h" +#include "flight/mixer.h" +#include "flight/servos.h" +#include "flight/imu.h" +#include "flight/failsafe.h" +#include "drivers/sound_beeper.h" +#include "navigation/navigation.h" - -// alternative defaults settings for YuPiF4 targets void targetConfiguration(void) { - /* Specific PID values for YupiF4 */ - for (uint8_t pidProfileIndex = 0; pidProfileIndex < MAX_PROFILE_COUNT; pidProfileIndex++) { - pidProfile_t *pidProfile = pidProfilesMutable(pidProfileIndex); + /* Specific PID values for YupiF7 */ + setConfigProfile(0); + pidProfileMutable()->bank_mc.pid[PID_ROLL].P = 30; + pidProfileMutable()->bank_mc.pid[PID_ROLL].I = 45; + pidProfileMutable()->bank_mc.pid[PID_ROLL].D = 20; + pidProfileMutable()->bank_mc.pid[PID_PITCH].P = 30; + pidProfileMutable()->bank_mc.pid[PID_PITCH].I = 50; + pidProfileMutable()->bank_mc.pid[PID_PITCH].D = 20; + pidProfileMutable()->bank_mc.pid[PID_YAW].P = 40; + pidProfileMutable()->bank_mc.pid[PID_YAW].I = 50; + pidProfileMutable()->bank_mc.pid[PID_YAW].D = 0; + pidProfileMutable()->bank_mc.pid[PID_LEVEL].P = 20; + pidProfileMutable()->bank_mc.pid[PID_LEVEL].I = 10; + pidProfileMutable()->bank_mc.pid[PID_LEVEL].D = 75; - pidProfile->pid[PID_ROLL].P = 30; - pidProfile->pid[PID_ROLL].I = 45; - pidProfile->pid[PID_ROLL].D = 20; - pidProfile->pid[PID_PITCH].P = 30; - pidProfile->pid[PID_PITCH].I = 50; - pidProfile->pid[PID_PITCH].D = 20; - pidProfile->pid[PID_YAW].P = 40; - pidProfile->pid[PID_YAW].I = 50; - } } #endif From 9d2b552339f2055bc648939df62c6cece7e0c327 Mon Sep 17 00:00:00 2001 From: RcNet Date: Wed, 2 May 2018 00:10:17 +0200 Subject: [PATCH 11/12] Update README.md --- src/main/target/YUPIF4/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/target/YUPIF4/README.md b/src/main/target/YUPIF4/README.md index 2ece9a1336..5c42b2d270 100644 --- a/src/main/target/YUPIF4/README.md +++ b/src/main/target/YUPIF4/README.md @@ -39,3 +39,6 @@ This board is available in the shop FR Website : http://www.yupif4.com ![YuPiF4 - Logo](http://www.yupif4.com/imgs/YuPiF4.jpg) + + +Test YupiFc https://www.facebook.com/jimmy.mix/videos/10214800834801662/ From 1c5443e3d352b191b019a26fcd492f64ddfb8232 Mon Sep 17 00:00:00 2001 From: RcNet Date: Wed, 2 May 2018 00:12:49 +0200 Subject: [PATCH 12/12] Update README.md --- src/main/target/YUPIF4/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/target/YUPIF4/README.md b/src/main/target/YUPIF4/README.md index 5c42b2d270..d6783af195 100644 --- a/src/main/target/YUPIF4/README.md +++ b/src/main/target/YUPIF4/README.md @@ -42,3 +42,4 @@ Website : http://www.yupif4.com Test YupiFc https://www.facebook.com/jimmy.mix/videos/10214800834801662/ +https://www.facebook.com/jimmy.mix/videos/10214893753404569/