diff --git a/flight/CopterControl/System/pios_board.c b/flight/CopterControl/System/pios_board.c index 3e8cfbb10..45164052f 100644 --- a/flight/CopterControl/System/pios_board.c +++ b/flight/CopterControl/System/pios_board.c @@ -356,7 +356,7 @@ const struct pios_spektrum_cfg pios_spektrum_cfg = { .TIM_Prescaler = (PIOS_MASTER_CLOCK / 1000000) - 1, /* For 1 uS accuracy */ .TIM_ClockDivision = TIM_CKD_DIV1, .TIM_CounterMode = TIM_CounterMode_Up, - .TIM_Period = ((1000000 / 60) - 1), //60hz + .TIM_Period = ((1000000 / 120) - 1), //11ms-10*16b/115200bps atleast one interrupt between frames .TIM_RepetitionCounter = 0x0000, }, .gpio_init = { //used for bind feature diff --git a/flight/OpenPilot/System/pios_board.c b/flight/OpenPilot/System/pios_board.c index 89b3bb64f..ccbf8fced 100644 --- a/flight/OpenPilot/System/pios_board.c +++ b/flight/OpenPilot/System/pios_board.c @@ -512,7 +512,7 @@ const struct pios_spektrum_cfg pios_spektrum_cfg = { .TIM_Prescaler = (PIOS_MASTER_CLOCK / 1000000) - 1, /* For 1 uS accuracy */ .TIM_ClockDivision = TIM_CKD_DIV1, .TIM_CounterMode = TIM_CounterMode_Up, - .TIM_Period = ((1000000 / 60) - 1), //60hz + .TIM_Period = ((1000000 / 120) - 1), //11ms-10*16b/115200bps, atleast one interrupt between frames .TIM_RepetitionCounter = 0x0000, }, .gpio_init = { //used for bind feature diff --git a/flight/PiOS/STM32F10x/pios_spektrum.c b/flight/PiOS/STM32F10x/pios_spektrum.c index 3aa7cbf6c..e4c1133d6 100644 --- a/flight/PiOS/STM32F10x/pios_spektrum.c +++ b/flight/PiOS/STM32F10x/pios_spektrum.c @@ -299,7 +299,7 @@ void PIOS_SPEKTRUM_irq_handler() { frame_error=0; sync_of++; /* watchdog activated */ - if (sync_of > 6) { + if (sync_of > 12) { /* signal lost */ sync_of = 0; for (int i = 0; i < 12; i++)