Skip to content

Commit

Permalink
Merge pull request #3089 from ted-rcnet/development
Browse files Browse the repository at this point in the history
Fix motor and beeper for YUPI FC V1
  • Loading branch information
digitalentity committed May 21, 2018
2 parents 016343f + 1c5443e commit 143fb2f
Show file tree
Hide file tree
Showing 11 changed files with 127 additions and 177 deletions.
4 changes: 2 additions & 2 deletions make/release.mk
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
4 changes: 4 additions & 0 deletions src/main/target/YUPIF4/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,7 @@ 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/
https://www.facebook.com/jimmy.mix/videos/10214893753404569/
1 change: 1 addition & 0 deletions src/main/target/YUPIF4/YUPIF4MINI.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#YUPIF4MINI
1 change: 1 addition & 0 deletions src/main/target/YUPIF4/YUPIF4R2.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#YUPIF4R2
71 changes: 32 additions & 39 deletions src/main/target/YUPIF4/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,54 +17,47 @@

#include <stdbool.h>
#include <stdint.h>

#include <platform.h>

#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
74 changes: 0 additions & 74 deletions src/main/target/YUPIF4/hardware_revision.c

This file was deleted.

31 changes: 0 additions & 31 deletions src/main/target/YUPIF4/hardware_revision.h

This file was deleted.

9 changes: 9 additions & 0 deletions src/main/target/YUPIF4/target.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +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 },
#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
};

32 changes: 31 additions & 1 deletion src/main/target/YUPIF4/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -155,5 +177,13 @@
#define TARGET_IO_PORTC 0xffff
#define TARGET_IO_PORTD (BIT(2))

#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
51 changes: 35 additions & 16 deletions src/main/target/YUPIF7/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,46 @@
#include <stdbool.h>
#include <stdint.h>
#include <platform.h>

#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
Loading

0 comments on commit 143fb2f

Please sign in to comment.