From 00692145efa3d513ac19a8093cfa32e23def3f15 Mon Sep 17 00:00:00 2001 From: Sami Korhonen Date: Thu, 11 Aug 2016 08:25:42 +0300 Subject: [PATCH 1/8] Fix F4 ledstip --- src/main/drivers/light_ws2811strip.c | 4 ++++ src/main/drivers/light_ws2811strip.h | 4 ++++ src/main/drivers/light_ws2811strip_stm32f4xx.c | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/drivers/light_ws2811strip.c b/src/main/drivers/light_ws2811strip.c index 6c8f2bb18a..b41dc21c9e 100644 --- a/src/main/drivers/light_ws2811strip.c +++ b/src/main/drivers/light_ws2811strip.c @@ -39,7 +39,11 @@ #include "drivers/dma.h" #include "drivers/light_ws2811strip.h" +#if defined(STM32F4) +uint32_t ledStripDMABuffer[WS2811_DMA_BUFFER_SIZE]; +#else uint8_t ledStripDMABuffer[WS2811_DMA_BUFFER_SIZE]; +#endif volatile uint8_t ws2811LedDataTransferInProgress = 0; static hsvColor_t ledColorBuffer[WS2811_LED_STRIP_LENGTH]; diff --git a/src/main/drivers/light_ws2811strip.h b/src/main/drivers/light_ws2811strip.h index 853ac7acbc..c24712502c 100644 --- a/src/main/drivers/light_ws2811strip.h +++ b/src/main/drivers/light_ws2811strip.h @@ -51,5 +51,9 @@ void setStripColors(const hsvColor_t *colors); bool isWS2811LedStripReady(void); +#if defined(STM32F4) +extern uint32_t ledStripDMABuffer[WS2811_DMA_BUFFER_SIZE]; +#else extern uint8_t ledStripDMABuffer[WS2811_DMA_BUFFER_SIZE]; +#endif extern volatile uint8_t ws2811LedDataTransferInProgress; diff --git a/src/main/drivers/light_ws2811strip_stm32f4xx.c b/src/main/drivers/light_ws2811strip_stm32f4xx.c index 63bcd9cee6..d1ea43d7ae 100644 --- a/src/main/drivers/light_ws2811strip_stm32f4xx.c +++ b/src/main/drivers/light_ws2811strip_stm32f4xx.c @@ -50,7 +50,7 @@ static void WS2811_DMA_IRQHandler(dmaChannelDescriptor_t *descriptor) if (DMA_GET_FLAG_STATUS(descriptor, DMA_IT_TCIF)) { ws2811LedDataTransferInProgress = 0; DMA_Cmd(descriptor->stream, DISABLE); - TIM_DMACmd(TIM5, TIM_DMA_CC1, DISABLE); + TIM_DMACmd(WS2811_TIMER, timDMASource, DISABLE); DMA_CLEAR_FLAG(descriptor, DMA_IT_TCIF); } } From 0d057ddf0dece041ea7637d0643976591ee6fcc7 Mon Sep 17 00:00:00 2001 From: borisbstyle Date: Thu, 11 Aug 2016 19:19:24 +0200 Subject: [PATCH 2/8] Fix crash bug on diff // dump command --- src/main/io/serial_cli.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/io/serial_cli.c b/src/main/io/serial_cli.c index e1abbbeca6..4164f4e14a 100644 --- a/src/main/io/serial_cli.c +++ b/src/main/io/serial_cli.c @@ -2309,7 +2309,7 @@ static void printConfig(char *cmdline, bool doDiff) options = cmdline; } - master_t defaultConfig; + static master_t defaultConfig; if (doDiff) { dumpMask = dumpMask | DO_DIFF; createDefaultConfig(&defaultConfig); From 08776bc30984a92a8aeeff090883e1162e06e033 Mon Sep 17 00:00:00 2001 From: borisbstyle Date: Thu, 11 Aug 2016 20:07:55 +0200 Subject: [PATCH 3/8] Fix incorrect coefficient when pid_denom > 1 is used --- src/main/flight/pid.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/flight/pid.c b/src/main/flight/pid.c index 2e136af636..829b62c0f3 100644 --- a/src/main/flight/pid.c +++ b/src/main/flight/pid.c @@ -115,13 +115,13 @@ void initFilters(const pidProfile_t *pidProfile) { if (pidProfile->dterm_notch_hz && !dtermNotchInitialised) { float notchQ = filterGetNotchQ(pidProfile->dterm_notch_hz, pidProfile->dterm_notch_cutoff); - for (axis = 0; axis < 3; axis++) biquadFilterInit(&dtermFilterNotch[axis], pidProfile->dterm_notch_hz, gyro.targetLooptime, notchQ, FILTER_NOTCH); + for (axis = 0; axis < 3; axis++) biquadFilterInit(&dtermFilterNotch[axis], pidProfile->dterm_notch_hz, targetPidLooptime, notchQ, FILTER_NOTCH); dtermNotchInitialised = true; } if (pidProfile->dterm_filter_type == FILTER_BIQUAD) { if (pidProfile->dterm_lpf_hz && !dtermBiquadLpfInitialised) { - for (axis = 0; axis < 3; axis++) biquadFilterInitLPF(&dtermFilterLpf[axis], pidProfile->dterm_lpf_hz, gyro.targetLooptime); + for (axis = 0; axis < 3; axis++) biquadFilterInitLPF(&dtermFilterLpf[axis], pidProfile->dterm_lpf_hz, targetPidLooptime); dtermBiquadLpfInitialised = true; } } From 2c9776861d374d77ed1ff90d142be6c6eab4d34d Mon Sep 17 00:00:00 2001 From: Michael Jakob Date: Fri, 12 Aug 2016 05:17:54 +0200 Subject: [PATCH 4/8] AlienFlight config fix --- src/main/target/ALIENFLIGHTF1/config.c | 12 ++++++------ src/main/target/ALIENFLIGHTF3/config.c | 12 ++++++------ src/main/target/ALIENFLIGHTF4/config.c | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/target/ALIENFLIGHTF1/config.c b/src/main/target/ALIENFLIGHTF1/config.c index b16a16444a..b34f9d5a37 100644 --- a/src/main/target/ALIENFLIGHTF1/config.c +++ b/src/main/target/ALIENFLIGHTF1/config.c @@ -77,12 +77,12 @@ void targetConfiguration(void) masterConfig.motor_pwm_rate = 32000; masterConfig.failsafeConfig.failsafe_delay = 2; masterConfig.failsafeConfig.failsafe_off_delay = 0; - currentProfile->pidProfile.P8[ROLL] = 90; - currentProfile->pidProfile.I8[ROLL] = 44; - currentProfile->pidProfile.D8[ROLL] = 60; - currentProfile->pidProfile.P8[PITCH] = 90; - currentProfile->pidProfile.I8[PITCH] = 44; - currentProfile->pidProfile.D8[PITCH] = 60; + masterConfig.profile[0].pidProfile.P8[ROLL] = 90; + masterConfig.profile[0].pidProfile.I8[ROLL] = 44; + masterConfig.profile[0].pidProfile.D8[ROLL] = 60; + masterConfig.profile[0].pidProfile.P8[PITCH] = 90; + masterConfig.profile[0].pidProfile.I8[PITCH] = 44; + masterConfig.profile[0].pidProfile.D8[PITCH] = 60; masterConfig.customMotorMixer[0] = (motorMixer_t){ 1.0f, -0.414178f, 1.0f, -1.0f }; // REAR_R masterConfig.customMotorMixer[1] = (motorMixer_t){ 1.0f, -0.414178f, -1.0f, 1.0f }; // FRONT_R diff --git a/src/main/target/ALIENFLIGHTF3/config.c b/src/main/target/ALIENFLIGHTF3/config.c index 3aed5a3ceb..650da37c11 100644 --- a/src/main/target/ALIENFLIGHTF3/config.c +++ b/src/main/target/ALIENFLIGHTF3/config.c @@ -85,12 +85,12 @@ void targetConfiguration(void) { masterConfig.failsafeConfig.failsafe_off_delay = 0; masterConfig.gyro_sync_denom = 2; masterConfig.pid_process_denom = 1; - currentProfile->pidProfile.P8[ROLL] = 90; - currentProfile->pidProfile.I8[ROLL] = 44; - currentProfile->pidProfile.D8[ROLL] = 60; - currentProfile->pidProfile.P8[PITCH] = 90; - currentProfile->pidProfile.I8[PITCH] = 44; - currentProfile->pidProfile.D8[PITCH] = 60; + masterConfig.profile[0].pidProfile.P8[ROLL] = 90; + masterConfig.profile[0].pidProfile.I8[ROLL] = 44; + masterConfig.profile[0].pidProfile.D8[ROLL] = 60; + masterConfig.profile[0].pidProfile.P8[PITCH] = 90; + masterConfig.profile[0].pidProfile.I8[PITCH] = 44; + masterConfig.profile[0].pidProfile.D8[PITCH] = 60; masterConfig.customMotorMixer[0] = (motorMixer_t){ 1.0f, -0.414178f, 1.0f, -1.0f }; // REAR_R masterConfig.customMotorMixer[1] = (motorMixer_t){ 1.0f, -0.414178f, -1.0f, 1.0f }; // FRONT_R diff --git a/src/main/target/ALIENFLIGHTF4/config.c b/src/main/target/ALIENFLIGHTF4/config.c index 5264a16735..b156230393 100644 --- a/src/main/target/ALIENFLIGHTF4/config.c +++ b/src/main/target/ALIENFLIGHTF4/config.c @@ -85,12 +85,12 @@ void targetConfiguration(void) { masterConfig.failsafeConfig.failsafe_off_delay = 0; masterConfig.gyro_sync_denom = 1; masterConfig.pid_process_denom = 1; - currentProfile->pidProfile.P8[ROLL] = 90; - currentProfile->pidProfile.I8[ROLL] = 44; - currentProfile->pidProfile.D8[ROLL] = 60; - currentProfile->pidProfile.P8[PITCH] = 90; - currentProfile->pidProfile.I8[PITCH] = 44; - currentProfile->pidProfile.D8[PITCH] = 60; + masterConfig.profile[0].pidProfile.P8[ROLL] = 90; + masterConfig.profile[0].pidProfile.I8[ROLL] = 44; + masterConfig.profile[0].pidProfile.D8[ROLL] = 60; + masterConfig.profile[0].pidProfile.P8[PITCH] = 90; + masterConfig.profile[0].pidProfile.I8[PITCH] = 44; + masterConfig.profile[0].pidProfile.D8[PITCH] = 60; masterConfig.customMotorMixer[0] = (motorMixer_t){ 1.0f, -0.414178f, 1.0f, -1.0f }; // REAR_R masterConfig.customMotorMixer[1] = (motorMixer_t){ 1.0f, -0.414178f, -1.0f, 1.0f }; // FRONT_R From d10e6a8f87a5536168fd440b244759f2b9b628b1 Mon Sep 17 00:00:00 2001 From: Michael Jakob Date: Fri, 12 Aug 2016 05:35:00 +0200 Subject: [PATCH 5/8] Fix maxthrottle value for brushed targets --- src/main/config/config.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/config/config.c b/src/main/config/config.c index fd74196200..07605b3f37 100755 --- a/src/main/config/config.c +++ b/src/main/config/config.c @@ -311,9 +311,9 @@ void resetEscAndServoConfig(escAndServoConfig_t *escAndServoConfig) #ifdef BRUSHED_MOTORS escAndServoConfig->minthrottle = 1000; #else - escAndServoConfig->maxthrottle = 2000; escAndServoConfig->minthrottle = 1070; #endif + escAndServoConfig->maxthrottle = 2000; escAndServoConfig->mincommand = 1000; escAndServoConfig->servoCenterPulse = 1500; } From cdea3adb6e1d2130d0a72e2997a0730f6179b21a Mon Sep 17 00:00:00 2001 From: borisbstyle Date: Sat, 13 Aug 2016 00:47:19 +0200 Subject: [PATCH 6/8] Add new filters to MSP --- src/main/io/serial_msp.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/io/serial_msp.c b/src/main/io/serial_msp.c index f4646c3905..3844595c3b 100644 --- a/src/main/io/serial_msp.c +++ b/src/main/io/serial_msp.c @@ -1251,10 +1251,14 @@ static bool processOutCommand(uint8_t cmdMSP) serialize16(masterConfig.motor_pwm_rate); break; case MSP_FILTER_CONFIG : - headSerialReply(5); + headSerialReply(13); serialize8(masterConfig.gyro_soft_lpf_hz); serialize16(currentProfile->pidProfile.dterm_lpf_hz); serialize16(currentProfile->pidProfile.yaw_lpf_hz); + serialize16(masterConfig.gyro_soft_notch_hz); + serialize16(masterConfig.gyro_soft_notch_cutoff); + serialize16(currentProfile->pidProfile.dterm_notch_hz); + serialize16(currentProfile->pidProfile.dterm_notch_cutoff); break; case MSP_PID_ADVANCED: headSerialReply(17); @@ -1846,6 +1850,12 @@ static bool processInCommand(void) masterConfig.gyro_soft_lpf_hz = read8(); currentProfile->pidProfile.dterm_lpf_hz = read16(); currentProfile->pidProfile.yaw_lpf_hz = read16(); + if (currentPort->dataSize > 5) { + masterConfig.gyro_soft_notch_hz = read16(); + masterConfig.gyro_soft_notch_cutoff = read16(); + currentProfile->pidProfile.dterm_notch_hz = read16(); + currentProfile->pidProfile.dterm_notch_cutoff = read16(); + } break; case MSP_SET_PID_ADVANCED: currentProfile->pidProfile.rollPitchItermIgnoreRate = read16(); From a05f030c94230d51b24f86160adb2be9eb09144c Mon Sep 17 00:00:00 2001 From: blckmn Date: Sat, 13 Aug 2016 18:07:50 +1000 Subject: [PATCH 7/8] PPM fix for Revo --- src/main/drivers/pwm_rx.c | 1 - src/main/target/BLUEJAYF4/target.c | 14 ++++++------- src/main/target/REVO/target.c | 32 +++++++++++++++--------------- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/main/drivers/pwm_rx.c b/src/main/drivers/pwm_rx.c index 3c72d104dc..24fe3e59aa 100644 --- a/src/main/drivers/pwm_rx.c +++ b/src/main/drivers/pwm_rx.c @@ -180,7 +180,6 @@ static void ppmOverflowCallback(timerOvrHandlerRec_t* cbRec, captureCompare_t ca if (capture == PPM_TIMER_PERIOD - 1) { ppmDev.overflowed = true; } - } static void ppmEdgeCallback(timerCCHandlerRec_t* cbRec, captureCompare_t capture) diff --git a/src/main/target/BLUEJAYF4/target.c b/src/main/target/BLUEJAYF4/target.c index b85e50f539..553ebead4a 100644 --- a/src/main/target/BLUEJAYF4/target.c +++ b/src/main/target/BLUEJAYF4/target.c @@ -66,12 +66,12 @@ const uint16_t airPWM[] = { }; const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { - { TIM8, IO_TAG(PC7), TIM_Channel_2, TIM8_CC_IRQn, 0, IOCFG_IPD, GPIO_AF_TIM8 }, // PPM IN - { TIM5, IO_TAG(PA0), TIM_Channel_1, TIM5_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM5 }, // S1_OUT - { TIM5, IO_TAG(PA1), TIM_Channel_2, TIM5_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM5 }, // S2_OUT - { TIM2, IO_TAG(PA2), TIM_Channel_3, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM2 }, // S3_OUT - { TIM9, IO_TAG(PA3), TIM_Channel_2, TIM1_BRK_TIM9_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM9 }, // S4_OUT - { TIM3, IO_TAG(PB1), TIM_Channel_4, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM3 }, // S5_OUT - { TIM3, IO_TAG(PB0), TIM_Channel_3, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM3 }, // S6_OUT + { TIM8, IO_TAG(PC7), TIM_Channel_2, TIM8_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM8 }, // PPM IN + { TIM5, IO_TAG(PA0), TIM_Channel_1, TIM5_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM5 }, // S1_OUT + { TIM5, IO_TAG(PA1), TIM_Channel_2, TIM5_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM5 }, // S2_OUT + { TIM2, IO_TAG(PA2), TIM_Channel_3, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM2 }, // S3_OUT + { TIM9, IO_TAG(PA3), TIM_Channel_2, TIM1_BRK_TIM9_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM9 }, // S4_OUT + { TIM3, IO_TAG(PB1), TIM_Channel_4, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM3 }, // S5_OUT + { TIM3, IO_TAG(PB0), TIM_Channel_3, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM3 }, // S6_OUT }; diff --git a/src/main/target/REVO/target.c b/src/main/target/REVO/target.c index 67f7327285..e33f1a58c8 100644 --- a/src/main/target/REVO/target.c +++ b/src/main/target/REVO/target.c @@ -22,7 +22,7 @@ #include "drivers/pwm_mapping.h" const uint16_t multiPPM[] = { - PWM6 | (MAP_TO_PPM_INPUT << 8), // PPM input + PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), @@ -33,7 +33,7 @@ const uint16_t multiPPM[] = { PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed - PWM1 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed + PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed 0xFFFF }; @@ -54,7 +54,7 @@ const uint16_t multiPWM[] = { }; const uint16_t airPPM[] = { - PWM6 | (MAP_TO_PPM_INPUT << 8), // PPM input + PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), PWM9 | (MAP_TO_SERVO_OUTPUT << 8), @@ -65,7 +65,7 @@ const uint16_t airPPM[] = { PWM3 | (MAP_TO_SERVO_OUTPUT << 8), PWM4 | (MAP_TO_SERVO_OUTPUT << 8), PWM5 | (MAP_TO_SERVO_OUTPUT << 8), - PWM1 | (MAP_TO_SERVO_OUTPUT << 8), + PWM6 | (MAP_TO_SERVO_OUTPUT << 8), 0xFFFF }; @@ -86,16 +86,16 @@ const uint16_t airPWM[] = { }; const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { - { TIM12, IO_TAG(PB14), TIM_Channel_1, TIM8_BRK_TIM12_IRQn, 0, IOCFG_IPD, GPIO_AF_TIM12 }, // PPM (5th pin on FlexiIO port) - { TIM12, IO_TAG(PB15), TIM_Channel_2, TIM8_BRK_TIM12_IRQn, 0, IOCFG_IPD, GPIO_AF_TIM12 }, // S2_IN - GPIO_PartialRemap_TIM3 - { TIM8, IO_TAG(PC6), TIM_Channel_1, TIM8_CC_IRQn, 0, IOCFG_IPD, GPIO_AF_TIM8 }, // S3_IN - { TIM8, IO_TAG(PC7), TIM_Channel_2, TIM8_CC_IRQn, 0, IOCFG_IPD, GPIO_AF_TIM8 }, // S4_IN - { TIM8, IO_TAG(PC8), TIM_Channel_3, TIM8_CC_IRQn, 0, IOCFG_IPD, GPIO_AF_TIM8 }, // S5_IN - { TIM8, IO_TAG(PC9), TIM_Channel_4, TIM8_CC_IRQn, 0, IOCFG_IPD, GPIO_AF_TIM8 }, // S6_IN - { TIM3, IO_TAG(PB0), TIM_Channel_3, TIM3_IRQn, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM3 }, // S1_OUT - { TIM3, IO_TAG(PB1), TIM_Channel_4, TIM3_IRQn, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM3 }, // S2_OUT - { TIM9, IO_TAG(PA3), TIM_Channel_2, TIM1_BRK_TIM9_IRQn, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM9 }, // S3_OUT - { TIM2, IO_TAG(PA2), TIM_Channel_3, TIM2_IRQn, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM2 }, // S4_OUT - { TIM5, IO_TAG(PA1), TIM_Channel_2, TIM5_IRQn, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM5 }, // S5_OUT - GPIO_PartialRemap_TIM3 - { TIM5, IO_TAG(PA0), TIM_Channel_1, TIM5_IRQn, 1, IOCFG_AF_PP_PD, GPIO_AF_TIM5 }, // S6_OUT + { TIM12, IO_TAG(PB14), TIM_Channel_1, TIM8_BRK_TIM12_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM12 }, // PPM (5th pin on FlexiIO port) + { TIM12, IO_TAG(PB15), TIM_Channel_2, TIM8_BRK_TIM12_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM12 }, // S2_IN - GPIO_PartialRemap_TIM3 + { TIM8, IO_TAG(PC6), TIM_Channel_1, TIM8_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM8 }, // S3_IN + { TIM8, IO_TAG(PC7), TIM_Channel_2, TIM8_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM8 }, // S4_IN + { TIM8, IO_TAG(PC8), TIM_Channel_3, TIM8_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM8 }, // S5_IN + { TIM8, IO_TAG(PC9), TIM_Channel_4, TIM8_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM8 }, // S6_IN + { TIM3, IO_TAG(PB0), TIM_Channel_3, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM3 }, // S1_OUT + { TIM3, IO_TAG(PB1), TIM_Channel_4, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM3 }, // S2_OUT + { TIM9, IO_TAG(PA3), TIM_Channel_2, TIM1_BRK_TIM9_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM9 }, // S3_OUT + { TIM2, IO_TAG(PA2), TIM_Channel_3, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM2 }, // S4_OUT + { TIM5, IO_TAG(PA1), TIM_Channel_2, TIM5_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM5 }, // S5_OUT - GPIO_PartialRemap_TIM3 + { TIM5, IO_TAG(PA0), TIM_Channel_1, TIM5_IRQn, 1, IOCFG_AF_PP, GPIO_AF_TIM5 }, // S6_OUT }; From 2d1a1865ded958b626c8157488b60595958a32d3 Mon Sep 17 00:00:00 2001 From: mikeller Date: Sat, 13 Aug 2016 20:19:18 +1200 Subject: [PATCH 8/8] Readded rateprofile setting to profile dump, as it's part of the profile. --- src/main/io/serial_cli.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/io/serial_cli.c b/src/main/io/serial_cli.c index 4164f4e14a..6341954374 100644 --- a/src/main/io/serial_cli.c +++ b/src/main/io/serial_cli.c @@ -2516,7 +2516,9 @@ static void cliDumpProfile(uint8_t profileIndex, uint8_t dumpMask, master_t *def changeProfile(profileIndex); cliPrint("\r\n# profile\r\n"); cliProfile(""); + cliPrint("\r\n"); dumpValues(PROFILE_VALUE, dumpMask, defaultConfig); + cliRateProfile(""); } static void cliDumpRateProfile(uint8_t rateProfileIndex, uint8_t dumpMask, master_t *defaultConfig) @@ -2526,6 +2528,7 @@ static void cliDumpRateProfile(uint8_t rateProfileIndex, uint8_t dumpMask, maste changeControlRateProfile(rateProfileIndex); cliPrint("\r\n# rateprofile\r\n"); cliRateProfile(""); + cliPrint("\r\n"); dumpValues(PROFILE_RATE_VALUE, dumpMask, defaultConfig); }