[Taranis] Trainer driver fixed, thanks Mike!

This commit is contained in:
bernet.andre@gmail.com
2013-03-24 17:43:10 +00:00
parent 4a1f897ad5
commit 9358ed084e
4 changed files with 7 additions and 12 deletions
+2 -9
View File
@@ -100,8 +100,8 @@ void configure_pins( uint32_t pins, uint16_t config )
pgpio->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << ((uint16_t)pos * 2));
pgpio->PUPDR |= ((config & PIN_PULL_MASK) >> 2) << (pos * 2) ;
pgpio->AFR[pos >> 3] &= ~(0x000F << (pos & 7)) ;
pgpio->AFR[pos >> 3] |= ((config & PIN_PERI_MASK) >> 4) << (pos & 7) ;
pgpio->AFR[pos >> 3] &= ~(0x000F << ((pos & 7)*4)) ;
pgpio->AFR[pos >> 3] |= ((config & PIN_PERI_MASK) >> 4) << ((pos & 7)*4) ;
}
}
}
@@ -213,18 +213,11 @@ void boardInit()
// TODO init_ppm() ;
init_trainer_ppm() ;
init_trainer_capture() ;
init5msTimer();
__enable_irq() ;
eepromInit();
sportInit();
usbInit();
}
#endif
+1
View File
@@ -119,6 +119,7 @@ void disable_pxx();
// Trainer driver
void init_trainer_ppm();
void stop_trainer_ppm();
void init_trainer_capture();
// Keys driver
+1
View File
@@ -167,6 +167,7 @@
// TODO merge these constants
#define PIN_PER_1 0x0010
#define PIN_PER_2 0x0020
#define PIN_PORTA 0x0000
#define PIN_PER_3 0x0030
#define PIN_PER_5 0x0050
+3 -3
View File
@@ -143,9 +143,9 @@ extern "C" void TIM8_UP_TIM13_IRQHandler()
// Trainer capture, PC8, Timer 3 channel 3
void init_trainer_capture()
{
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN ; // Enable portC clock
configure_pins( 0x0100, PIN_PERIPHERAL | PIN_PORTC | PIN_TR_PPM_IN ) ;
RCC->APB1ENR |= RCC_APB1ENR_TIM3EN ; // Enable clock
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN ; // Enable portC clock
configure_pins (PIN_TR_PPM_IN, PIN_PERIPHERAL | PIN_PORTC | PIN_PER_2) ;
RCC->APB1ENR |= RCC_APB1ENR_TIM3EN ; // Enable clock
TIM3->ARR = 0xFFFF ;
TIM3->PSC = (PERI1_FREQUENCY * TIMER_MULT_APB1) / 2000000 - 1 ; // 0.5uS