1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-16 21:05:26 +03:00

[Taranis X9E] Last minute changes taken into account. It remains a bug

in SWF and SWP definitions (they share the same pins in the spec)
This commit is contained in:
bsongis 2015-06-11 19:21:30 +02:00
parent 08f97e08c6
commit 95de75ba41
11 changed files with 306 additions and 262 deletions

View file

@ -264,6 +264,11 @@ void generalDefault()
#if defined(PCBTARANIS) #if defined(PCBTARANIS)
g_eeGeneral.potsConfig = 0x05; // S1 and S2 = pots with detent g_eeGeneral.potsConfig = 0x05; // S1 and S2 = pots with detent
#endif
#if defined(PCBTARANIS) && defined(REV9E)
g_eeGeneral.switchConfig = 0x00007fbf; // 6x3POS, 1x2POS, 1xTOGGLE
#elif defined(PCBTARANIS)
g_eeGeneral.switchConfig = 0x00007bff; // 6x3POS, 1x2POS, 1xTOGGLE g_eeGeneral.switchConfig = 0x00007bff; // 6x3POS, 1x2POS, 1xTOGGLE
#endif #endif

View file

@ -302,11 +302,11 @@ long Open9xSim::onTimeout(FXObject*, FXSelector, void*)
SWITCH_KEY(A, 0, 3); SWITCH_KEY(A, 0, 3);
SWITCH_KEY(B, 1, 3); SWITCH_KEY(B, 1, 3);
SWITCH_KEY(C, 2, 3); SWITCH_KEY(C, 2, 3);
SWITCH_KEY(D, 3, 3); SWITCH_KEY(D, 3, 2);
SWITCH_KEY(E, 4, 3); SWITCH_KEY(E, 4, 3);
SWITCH_KEY(F, 5, 3); SWITCH_KEY(F, 5, 3);
SWITCH_KEY(G, 6, 3); SWITCH_KEY(G, 6, 3);
SWITCH_KEY(H, 7, 3); SWITCH_KEY(H, 7, 2);
SWITCH_KEY(I, 8, 3); SWITCH_KEY(I, 8, 3);
SWITCH_KEY(J, 9, 3); SWITCH_KEY(J, 9, 3);
SWITCH_KEY(K, 10, 3); SWITCH_KEY(K, 10, 3);

View file

@ -234,7 +234,7 @@ int iic_write (
/*-------------------------------------------------*/ /*-------------------------------------------------*/
/* RTC functions */ /* RTC functions */
int g9x_rtc_gettime (RTC *rtc) int g9x_rtcGetTime (RTC *rtc)
{ {
BYTE buf[8]; BYTE buf[8];
@ -265,11 +265,11 @@ int g9x_rtcSetTime (const RTC *rtc)
return iic_write(0xD0, 0, 7, buf); return iic_write(0xD0, 0, 7, buf);
} }
void rtc_gettime(struct gtm * utm) void rtcGetTime(struct gtm * utm)
{ {
RTC rtc = {0,0,0,0,0,0,0}; RTC rtc = {0,0,0,0,0,0,0};
g9x_rtc_gettime(&rtc); g9x_rtcGetTime(&rtc);
utm->tm_year = rtc.year - 1900; utm->tm_year = rtc.year - 1900;
utm->tm_mon = rtc.month - 1; utm->tm_mon = rtc.month - 1;
@ -316,7 +316,7 @@ void rtcInit (void)
} }
struct gtm utm; struct gtm utm;
rtc_gettime(&utm); rtcGetTime(&utm);
g_rtcTime = gmktime(&utm); g_rtcTime = gmktime(&utm);
} }

View file

@ -196,11 +196,11 @@ void simuSetSwitch(uint8_t swtch, int8_t state)
SWITCH_3_CASE(0, SWITCHES_GPIO_REG_A_L, SWITCHES_GPIO_REG_A_H, SWITCHES_GPIO_PIN_A_L, SWITCHES_GPIO_PIN_A_H) SWITCH_3_CASE(0, SWITCHES_GPIO_REG_A_L, SWITCHES_GPIO_REG_A_H, SWITCHES_GPIO_PIN_A_L, SWITCHES_GPIO_PIN_A_H)
SWITCH_3_CASE(1, SWITCHES_GPIO_REG_B_L, SWITCHES_GPIO_REG_B_H, SWITCHES_GPIO_PIN_B_L, SWITCHES_GPIO_PIN_B_H) SWITCH_3_CASE(1, SWITCHES_GPIO_REG_B_L, SWITCHES_GPIO_REG_B_H, SWITCHES_GPIO_PIN_B_L, SWITCHES_GPIO_PIN_B_H)
SWITCH_3_CASE(2, SWITCHES_GPIO_REG_C_L, SWITCHES_GPIO_REG_C_H, SWITCHES_GPIO_PIN_C_L, SWITCHES_GPIO_PIN_C_H) SWITCH_3_CASE(2, SWITCHES_GPIO_REG_C_L, SWITCHES_GPIO_REG_C_H, SWITCHES_GPIO_PIN_C_L, SWITCHES_GPIO_PIN_C_H)
SWITCH_3_CASE(3, SWITCHES_GPIO_REG_D_L, SWITCHES_GPIO_REG_D_H, SWITCHES_GPIO_PIN_D_L, SWITCHES_GPIO_PIN_D_H) SWITCH_CASE(3, SWITCHES_GPIO_REG_D, SWITCHES_GPIO_PIN_D)
SWITCH_3_CASE(4, SWITCHES_GPIO_REG_E_L, SWITCHES_GPIO_REG_E_H, SWITCHES_GPIO_PIN_E_L, SWITCHES_GPIO_PIN_E_H) SWITCH_3_CASE(4, SWITCHES_GPIO_REG_E_L, SWITCHES_GPIO_REG_E_H, SWITCHES_GPIO_PIN_E_L, SWITCHES_GPIO_PIN_E_H)
SWITCH_3_CASE(5, SWITCHES_GPIO_REG_F_L, SWITCHES_GPIO_REG_F_H, SWITCHES_GPIO_PIN_F_L, SWITCHES_GPIO_PIN_F_H) SWITCH_3_CASE(5, SWITCHES_GPIO_REG_F_L, SWITCHES_GPIO_REG_F_H, SWITCHES_GPIO_PIN_F_L, SWITCHES_GPIO_PIN_F_H)
SWITCH_3_CASE(6, SWITCHES_GPIO_REG_G_L, SWITCHES_GPIO_REG_G_H, SWITCHES_GPIO_PIN_G_L, SWITCHES_GPIO_PIN_G_H) SWITCH_3_CASE(6, SWITCHES_GPIO_REG_G_L, SWITCHES_GPIO_REG_G_H, SWITCHES_GPIO_PIN_G_L, SWITCHES_GPIO_PIN_G_H)
SWITCH_3_CASE(7, SWITCHES_GPIO_REG_H_L, SWITCHES_GPIO_REG_H_H, SWITCHES_GPIO_PIN_H_L, SWITCHES_GPIO_PIN_H_H) SWITCH_CASE(7, SWITCHES_GPIO_REG_H, SWITCHES_GPIO_PIN_H)
SWITCH_3_CASE(8, SWITCHES_GPIO_REG_I_L, SWITCHES_GPIO_REG_I_H, SWITCHES_GPIO_PIN_I_L, SWITCHES_GPIO_PIN_I_H) SWITCH_3_CASE(8, SWITCHES_GPIO_REG_I_L, SWITCHES_GPIO_REG_I_H, SWITCHES_GPIO_PIN_I_L, SWITCHES_GPIO_PIN_I_H)
SWITCH_3_CASE(9, SWITCHES_GPIO_REG_J_L, SWITCHES_GPIO_REG_J_H, SWITCHES_GPIO_PIN_J_L, SWITCHES_GPIO_PIN_J_H) SWITCH_3_CASE(9, SWITCHES_GPIO_REG_J_L, SWITCHES_GPIO_REG_J_H, SWITCHES_GPIO_PIN_J_L, SWITCHES_GPIO_PIN_J_H)
SWITCH_3_CASE(10, SWITCHES_GPIO_REG_K_L, SWITCHES_GPIO_REG_K_H, SWITCHES_GPIO_PIN_K_L, SWITCHES_GPIO_PIN_K_H) SWITCH_3_CASE(10, SWITCHES_GPIO_REG_K_L, SWITCHES_GPIO_REG_K_H, SWITCHES_GPIO_PIN_K_L, SWITCHES_GPIO_PIN_K_H)

View file

@ -41,28 +41,11 @@
#define PIN_PORTB 0x0100 #define PIN_PORTB 0x0100
#define PIN_PORTC 0x0200 #define PIN_PORTC 0x0200
#define STICK_RV 0
#define STICK_RH 1
#define STICK_LH 2
#define STICK_LV 3
#define POT_L 6
#define POT_R 8
#define POT_XTRA 9
#define SLIDE_L 14
#define SLIDE_R 15
#define BATTERY 10
#if defined(REV9E)
#define SLIDER_L2 8 // ADC_GPIO_PIN_POT3 (SLIDER3) = ANC3_IN8
#define SLIDER_R2 7 // ADC_GPIO_PIN_POT4 (SLIDER4) = ADC3_IN7
#define POT_4 6 // ADC_GPIO_PIN_POT5 (POT4) = ADC3_IN6
#endif
// Sample time should exceed 1uS // Sample time should exceed 1uS
#define SAMPTIME 2 // sample time = 28 cycles #define SAMPTIME 2 // sample time = 28 cycles
#if defined(REV9E) #if defined(REV9E)
const int8_t ana_direction[NUMBER_ANALOG] = {1,-1,1,-1, -1,1,-1, -1,1, 1, -1,-1,1}; const int8_t ana_direction[NUMBER_ANALOG] = {1,1,-1,1, -1,-1,-1,1, -1,1-1,-1, 1};
#elif defined(REVPLUS) #elif defined(REVPLUS)
const int8_t ana_direction[NUMBER_ANALOG] = {1,-1,1,-1, -1,1,-1, -1,1, 1}; const int8_t ana_direction[NUMBER_ANALOG] = {1,-1,1,-1, -1,1,-1, -1,1, 1};
#elif defined(REV4a) #elif defined(REV4a)
@ -76,8 +59,8 @@
#define NUMBER_ANALOG_ADC3 3 #define NUMBER_ANALOG_ADC3 3
// mapping from Analog_values order to enum Analogs // mapping from Analog_values order to enum Analogs
const uint8_t ana_mapping[NUMBER_ANALOG] = { 0 /*STICK1*/, 1 /*STICK2*/, 2 /*STICK3*/, 3 /*STICK4*/, const uint8_t ana_mapping[NUMBER_ANALOG] = { 0 /*STICK1*/, 1 /*STICK2*/, 2 /*STICK3*/, 3 /*STICK4*/,
4 /*POT1*/, 5 /*POT2*/, 6 /*POT3*/, 12 /*POT4*/, 10 /*POT1*/, 4 /*POT2*/, 5 /*POT3*/, 6 /*POT4*/,
7 /*SLIDER1*/, 8 /*SLIDER2*/, 10 /*SLIDER3*/, 11 /*SLIDER4*/, 11 /*SLIDER1*/, 12 /*SLIDER2*/, 7 /*SLIDER3*/, 8 /*SLIDER4*/,
9 /*TX_VOLTAGE*/ }; 9 /*TX_VOLTAGE*/ };
#else #else
#define NUMBER_ANALOG_ADC1 10 #define NUMBER_ANALOG_ADC1 10
@ -91,24 +74,31 @@ void adcInit()
RCC->AHB1ENR |= ADC_AHB1Periph_GPIO; // Enable ports A&C clocks RCC->AHB1ENR |= ADC_AHB1Periph_GPIO; // Enable ports A&C clocks
RCC->AHB1ENR |= RCC_AHB1ENR_DMA2EN; // Enable DMA2 clock RCC->AHB1ENR |= RCC_AHB1ENR_DMA2EN; // Enable DMA2 clock
configure_pins(ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV |
ADC_GPIO_PIN_POT1, PIN_ANALOG | PIN_PORTA);
#if defined(REV9E) #if defined(REV9E)
configure_pins(ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_POT6, PIN_ANALOG|PIN_PORTB); configure_pins(ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_SLIDER3, PIN_ANALOG | PIN_PORTA);
configure_pins(ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_SLIDER4, PIN_ANALOG | PIN_PORTB);
configure_pins(ADC_GPIO_PIN_POT3 | ADC_GPIO_PIN_POT4 | ADC_GPIO_PIN_SLIDER1 | ADC_GPIO_PIN_SLIDER2 | ADC_GPIO_PIN_BATT, PIN_ANALOG | PIN_PORTC);
configure_pins(ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_SLIDER1 | ADC_GPIO_PIN_SLIDER2, PIN_ANALOG | PIN_PORTF);
#elif defined(REVPLUS) #elif defined(REVPLUS)
configure_pins(ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_POT3, PIN_ANALOG|PIN_PORTB); configure_pins(ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_POT1, PIN_ANALOG | PIN_PORTA);
#else configure_pins(ADC_GPIO_PIN_POT2 | ADC_GPIO_PIN_POT3, PIN_ANALOG | PIN_PORTB);
configure_pins(ADC_GPIO_PIN_POT2, PIN_ANALOG|PIN_PORTB);
#endif
configure_pins(ADC_GPIO_PIN_SLIDER1 | ADC_GPIO_PIN_SLIDER2 | ADC_GPIO_PIN_BATT, PIN_ANALOG | PIN_PORTC); configure_pins(ADC_GPIO_PIN_SLIDER1 | ADC_GPIO_PIN_SLIDER2 | ADC_GPIO_PIN_BATT, PIN_ANALOG | PIN_PORTC);
#else
configure_pins(ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV | ADC_GPIO_PIN_POT1, PIN_ANALOG | PIN_PORTA);
configure_pins(ADC_GPIO_PIN_POT2, PIN_ANALOG|PIN_PORTB);
configure_pins(ADC_GPIO_PIN_SLIDER1 | ADC_GPIO_PIN_SLIDER2 | ADC_GPIO_PIN_BATT, PIN_ANALOG | PIN_PORTC);
#endif
ADC1->CR1 = ADC_CR1_SCAN; ADC1->CR1 = ADC_CR1_SCAN;
ADC1->CR2 = ADC_CR2_ADON | ADC_CR2_DMA | ADC_CR2_DDS; ADC1->CR2 = ADC_CR2_ADON | ADC_CR2_DMA | ADC_CR2_DDS;
ADC1->SQR1 = (NUMBER_ANALOG_ADC1-1) << 20 ; // bits 23:20 = number of conversions ADC1->SQR1 = (NUMBER_ANALOG_ADC1-1) << 20 ; // bits 23:20 = number of conversions
ADC1->SQR2 = (POT_XTRA<<0) + (SLIDE_L<<5) + (SLIDE_R<<10) + (BATTERY<<15); // conversions 7 and more #if defined(REV9E)
ADC1->SQR3 = (STICK_LH<<0) + (STICK_LV<<5) + (STICK_RV<<10) + (STICK_RH<<15) + (POT_L<<20) + (POT_R<<25); // conversions 1 to 6 ADC1->SQR2 = (ADC_CHANNEL_POT4<<0) + (ADC_CHANNEL_SLIDER3<<5) + (ADC_CHANNEL_SLIDER4<<10) + (ADC_CHANNEL_BATT<<15); // conversions 7 and more
ADC1->SQR3 = (ADC_CHANNEL_STICK_LH<<0) + (ADC_CHANNEL_STICK_LV<<5) + (ADC_CHANNEL_STICK_RV<<10) + (ADC_CHANNEL_STICK_RH<<15) + (ADC_CHANNEL_POT2<<20) + (ADC_CHANNEL_POT3<<25); // conversions 1 to 6
#else
ADC1->SQR2 = (ADC_CHANNEL_POT3<<0) + (SLIDER1<<5) + (SLIDER2<<10) + (BATTERY<<15); // conversions 7 and more
ADC1->SQR3 = (ADC_CHANNEL_STICK_LH<<0) + (ADC_CHANNEL_STICK_LV<<5) + (ADC_CHANNEL_STICK_RV<<10) + (ADC_CHANNEL_STICK_RH<<15) + (ADC_CHANNEL_POT1<<20) + (ADC_CHANNEL_POT2<<25); // conversions 1 to 6
#endif
ADC1->SMPR1 = SAMPTIME + (SAMPTIME<<3) + (SAMPTIME<<6) + (SAMPTIME<<9) + (SAMPTIME<<12) + (SAMPTIME<<15) + (SAMPTIME<<18) + (SAMPTIME<<21) + (SAMPTIME<<24); ADC1->SMPR1 = SAMPTIME + (SAMPTIME<<3) + (SAMPTIME<<6) + (SAMPTIME<<9) + (SAMPTIME<<12) + (SAMPTIME<<15) + (SAMPTIME<<18) + (SAMPTIME<<21) + (SAMPTIME<<24);
ADC1->SMPR2 = SAMPTIME + (SAMPTIME<<3) + (SAMPTIME<<6) + (SAMPTIME<<9) + (SAMPTIME<<12) + (SAMPTIME<<15) + (SAMPTIME<<18) + (SAMPTIME<<21) + (SAMPTIME<<24) + (SAMPTIME<<27) ; ADC1->SMPR2 = SAMPTIME + (SAMPTIME<<3) + (SAMPTIME<<6) + (SAMPTIME<<9) + (SAMPTIME<<12) + (SAMPTIME<<15) + (SAMPTIME<<18) + (SAMPTIME<<21) + (SAMPTIME<<24) + (SAMPTIME<<27) ;
@ -122,13 +112,12 @@ void adcInit()
#if defined(REV9E) #if defined(REV9E)
RCC->APB2ENR |= RCC_APB2ENR_ADC3EN ; // Enable clock RCC->APB2ENR |= RCC_APB2ENR_ADC3EN ; // Enable clock
configure_pins( ADC_GPIO_PIN_POT3 | ADC_GPIO_PIN_POT4 | ADC_GPIO_PIN_POT5, PIN_ANALOG | PIN_PORTF ) ;
ADC3->CR1 = ADC_CR1_SCAN ; ADC3->CR1 = ADC_CR1_SCAN ;
ADC3->CR2 = ADC_CR2_ADON | ADC_CR2_DMA | ADC_CR2_DDS ; ADC3->CR2 = ADC_CR2_ADON | ADC_CR2_DMA | ADC_CR2_DDS ;
ADC3->SQR1 = (NUMBER_ANALOG_ADC3-1) << 20 ; // NUMBER_ANALOG Channels ADC3->SQR1 = (NUMBER_ANALOG_ADC3-1) << 20 ; // NUMBER_ANALOG Channels
ADC3->SQR2 = 0; ADC3->SQR2 = 0;
ADC3->SQR3 = (SLIDER_L2<<0) + (SLIDER_R2<<5) + (POT_4<<10) ; // conversions 1 to 3 ADC3->SQR3 = (ADC_CHANNEL_POT1<<0) + (ADC_CHANNEL_SLIDER1<<5) + (ADC_CHANNEL_SLIDER2<<10) ; // conversions 1 to 3
ADC3->SMPR1 = SAMPTIME + (SAMPTIME<<3) + (SAMPTIME<<6); ADC3->SMPR1 = SAMPTIME + (SAMPTIME<<3) + (SAMPTIME<<6);
ADC3->SMPR2 = 0; ADC3->SMPR2 = 0;

View file

@ -47,6 +47,7 @@ extern "C" {
#include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h" #include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
#include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h" #include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h"
#include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_gpio.h" #include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_gpio.h"
#include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h"
#include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_spi.h" #include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_spi.h"
#include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_i2c.h" #include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_i2c.h"
#include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rtc.h" #include "STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rtc.h"
@ -60,6 +61,7 @@ extern "C" {
#include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h" #include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h"
#include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_rcc.h" #include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_rcc.h"
#include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_gpio.h" #include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_gpio.h"
#include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_adc.h"
#include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_spi.h" #include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_spi.h"
#include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_i2c.h" #include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_i2c.h"
#include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_rtc.h" #include "STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/inc/stm32f2xx_rtc.h"

View file

@ -2,25 +2,22 @@
#define _HAL_ #define _HAL_
// Keys // Keys
#if defined(REV9E)
#define KEYS_RCC_AHB1Periph_GPIO (RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE|RCC_AHB1Periph_GPIOF|RCC_AHB1Periph_GPIOG)
#else
#define KEYS_RCC_AHB1Periph_GPIO (RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE)
#endif
#define KEYS_GPIO_REG_PLUS GPIOE->IDR
#define KEYS_GPIO_REG_MINUS GPIOE->IDR
#define KEYS_GPIO_REG_MENU GPIOD->IDR #define KEYS_GPIO_REG_MENU GPIOD->IDR
#define KEYS_GPIO_REG_EXIT GPIOD->IDR #define KEYS_GPIO_REG_EXIT GPIOD->IDR
#define KEYS_GPIO_REG_PAGE GPIOD->IDR #define KEYS_GPIO_REG_PAGE GPIOD->IDR
#if defined(REV9E) #if defined(REV9E)
#if defined(SIMU) #if defined(SIMU)
#define KEYS_GPIO_REG_PLUS GPIOE->IDR
#define KEYS_GPIO_PIN_PLUS GPIO_Pin_5 // This is for SIMU: reuse rotary encoder pins to map UP and DOWN keyboard keys #define KEYS_GPIO_PIN_PLUS GPIO_Pin_5 // This is for SIMU: reuse rotary encoder pins to map UP and DOWN keyboard keys
#define KEYS_GPIO_REG_MINUS GPIOE->IDR
#define KEYS_GPIO_PIN_MINUS GPIO_Pin_6 // This is for SIMU: reuse rotary encoder pins to map UP and DOWN keyboard keys #define KEYS_GPIO_PIN_MINUS GPIO_Pin_6 // This is for SIMU: reuse rotary encoder pins to map UP and DOWN keyboard keys
#endif #endif
#define KEYS_GPIO_REG_ENTER GPIOF->IDR #define KEYS_GPIO_REG_ENTER GPIOF->IDR
#define KEYS_GPIO_PIN_ENTER GPIO_Pin_0 // PF.00 #define KEYS_GPIO_PIN_ENTER GPIO_Pin_0 // PF.00
#else #else
#define KEYS_GPIO_REG_PLUS GPIOE->IDR
#define KEYS_GPIO_PIN_PLUS GPIO_Pin_10 // PE.10 #define KEYS_GPIO_PIN_PLUS GPIO_Pin_10 // PE.10
#define KEYS_GPIO_REG_MINUS GPIOE->IDR
#define KEYS_GPIO_PIN_MINUS GPIO_Pin_11 // PE.11 #define KEYS_GPIO_PIN_MINUS GPIO_Pin_11 // PE.11
#define KEYS_GPIO_REG_ENTER GPIOE->IDR #define KEYS_GPIO_REG_ENTER GPIOE->IDR
#define KEYS_GPIO_PIN_ENTER GPIO_Pin_12 // PE.12 #define KEYS_GPIO_PIN_ENTER GPIO_Pin_12 // PE.12
@ -30,14 +27,6 @@
#define KEYS_GPIO_PIN_EXIT GPIO_Pin_2 // PD.03 #define KEYS_GPIO_PIN_EXIT GPIO_Pin_2 // PD.03
// Trims // Trims
#define TRIMS_GPIO_REG_RVD GPIOC->IDR
#define TRIMS_GPIO_PIN_RVD GPIO_Pin_3 // PC.03
#define TRIMS_GPIO_REG_RVU GPIOC->IDR
#define TRIMS_GPIO_PIN_RVU GPIO_Pin_2 // PC.02
#define TRIMS_GPIO_REG_RHL GPIOC->IDR
#define TRIMS_GPIO_PIN_RHL GPIO_Pin_1 // PC.01
#define TRIMS_GPIO_REG_RHR GPIOC->IDR
#define TRIMS_GPIO_PIN_RHR GPIO_Pin_13 // PC.13
#define TRIMS_GPIO_REG_LHL GPIOE->IDR #define TRIMS_GPIO_REG_LHL GPIOE->IDR
#define TRIMS_GPIO_PIN_LHL GPIO_Pin_4 // PE.04 #define TRIMS_GPIO_PIN_LHL GPIO_Pin_4 // PE.04
#define TRIMS_GPIO_REG_LHR GPIOE->IDR #define TRIMS_GPIO_REG_LHR GPIOE->IDR
@ -47,33 +36,73 @@
#define TRIMS_GPIO_PIN_LVD GPIO_Pin_1 // PG.01 #define TRIMS_GPIO_PIN_LVD GPIO_Pin_1 // PG.01
#define TRIMS_GPIO_REG_LVU GPIOG->IDR #define TRIMS_GPIO_REG_LVU GPIOG->IDR
#define TRIMS_GPIO_PIN_LVU GPIO_Pin_0 // PG.00 #define TRIMS_GPIO_PIN_LVU GPIO_Pin_0 // PG.00
#define TRIMS_GPIO_REG_RHL GPIOC->IDR
#define TRIMS_GPIO_PIN_RHL GPIO_Pin_3 // PC.03
#define TRIMS_GPIO_REG_RVD GPIOC->IDR
#define TRIMS_GPIO_PIN_RVD GPIO_Pin_1 // PC.01
#define TRIMS_GPIO_REG_RHR GPIOC->IDR
#define TRIMS_GPIO_PIN_RHR GPIO_Pin_2 // PC.02
#define TRIMS_GPIO_REG_RVU GPIOC->IDR
#define TRIMS_GPIO_PIN_RVU GPIO_Pin_13 // PC.13
#else #else
#define TRIMS_GPIO_REG_LVD GPIOE->IDR #define TRIMS_GPIO_REG_LVD GPIOE->IDR
#define TRIMS_GPIO_PIN_LVD GPIO_Pin_6 // PE.06 #define TRIMS_GPIO_PIN_LVD GPIO_Pin_6 // PE.06
#define TRIMS_GPIO_REG_LVU GPIOE->IDR #define TRIMS_GPIO_REG_LVU GPIOE->IDR
#define TRIMS_GPIO_PIN_LVU GPIO_Pin_5 // PE.05 #define TRIMS_GPIO_PIN_LVU GPIO_Pin_5 // PE.05
#define TRIMS_GPIO_REG_RVD GPIOC->IDR
#define TRIMS_GPIO_PIN_RVD GPIO_Pin_3 // PC.03
#define TRIMS_GPIO_REG_RHL GPIOC->IDR
#define TRIMS_GPIO_PIN_RHL GPIO_Pin_1 // PC.01
#define TRIMS_GPIO_REG_RVU GPIOC->IDR
#define TRIMS_GPIO_PIN_RVU GPIO_Pin_2 // PC.02
#define TRIMS_GPIO_REG_RHR GPIOC->IDR
#define TRIMS_GPIO_PIN_RHR GPIO_Pin_13 // PC.13
#endif #endif
// Switches // Switches
#define SWITCHES_GPIO_REG_A_H GPIOB->IDR #if defined(REV9E)
#define SWITCHES_GPIO_PIN_A_H GPIO_Pin_5 // PB.05 #define SWITCHES_GPIO_REG_A_H GPIOE->IDR
#define SWITCHES_GPIO_REG_A_L GPIOE->IDR #define SWITCHES_GPIO_PIN_A_H GPIO_Pin_7 // PE.07
#define SWITCHES_GPIO_PIN_A_L GPIO_Pin_0 // PE.00 #define SWITCHES_GPIO_REG_A_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_A_L GPIO_Pin_13 // PE.13
#else
#define SWITCHES_GPIO_REG_A_H GPIOB->IDR
#define SWITCHES_GPIO_PIN_A_H GPIO_Pin_5 // PB.05
#define SWITCHES_GPIO_REG_A_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_A_L GPIO_Pin_0 // PE.00
#endif
#define SWITCHES_GPIO_REG_B_H GPIOE->IDR #if defined(REV9E)
#define SWITCHES_GPIO_PIN_B_H GPIO_Pin_1 // PE.01 #define SWITCHES_GPIO_REG_B_H GPIOD->IDR
#define SWITCHES_GPIO_REG_B_L GPIOE->IDR #define SWITCHES_GPIO_PIN_B_H GPIO_Pin_10 // PD.10
#define SWITCHES_GPIO_PIN_B_L GPIO_Pin_2 // PE.02 #define SWITCHES_GPIO_REG_B_L GPIOD->IDR
#define SWITCHES_GPIO_PIN_B_L GPIO_Pin_14 // PD.14
#else
#define SWITCHES_GPIO_REG_B_H GPIOE->IDR
#define SWITCHES_GPIO_PIN_B_H GPIO_Pin_1 // PE.01
#define SWITCHES_GPIO_REG_B_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_B_L GPIO_Pin_2 // PE.02
#endif
#define SWITCHES_GPIO_REG_C_H GPIOE->IDR #if defined(REV9E)
#define SWITCHES_GPIO_PIN_C_H GPIO_Pin_15 // PE.15 #define SWITCHES_GPIO_REG_C_H GPIOG->IDR
#define SWITCHES_GPIO_REG_C_L GPIOA->IDR #define SWITCHES_GPIO_PIN_C_H GPIO_Pin_11 // PG.11
#define SWITCHES_GPIO_PIN_C_L GPIO_Pin_5 // PA.05 #define SWITCHES_GPIO_REG_C_L GPIOG->IDR
#define SWITCHES_GPIO_PIN_C_L GPIO_Pin_10 // PG.10
#else
#define SWITCHES_GPIO_REG_C_H GPIOE->IDR
#define SWITCHES_GPIO_PIN_C_H GPIO_Pin_15 // PE.15
#define SWITCHES_GPIO_REG_C_L GPIOA->IDR
#define SWITCHES_GPIO_PIN_C_L GPIO_Pin_5 // PA.05
#endif
#if defined(REVPLUS) #if defined(REV9E)
#define SWITCHES_GPIO_REG_D_H (GPIOE->IDR) #define SWITCHES_GPIO_REG_D GPIOE->IDR
#define SWITCHES_GPIO_PIN_D GPIO_Pin_11 // PE.11
#elif defined(REVPLUS)
#define SWITCHES_GPIO_REG_D_H GPIOE->IDR
#define SWITCHES_GPIO_PIN_D_H GPIO_Pin_7 // PE.07 #define SWITCHES_GPIO_PIN_D_H GPIO_Pin_7 // PE.07
#define SWITCHES_GPIO_REG_D_L (GPIOE->IDR) #define SWITCHES_GPIO_REG_D_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_D_L GPIO_Pin_13 // PE.13 #define SWITCHES_GPIO_PIN_D_L GPIO_Pin_13 // PE.13
#else #else
#define SWITCHES_GPIO_REG_D_H GPIOE->IDR #define SWITCHES_GPIO_REG_D_H GPIOE->IDR
@ -82,31 +111,43 @@
#define SWITCHES_GPIO_PIN_D_L GPIO_Pin_1 // PB.01 #define SWITCHES_GPIO_PIN_D_L GPIO_Pin_1 // PB.01
#endif #endif
#define SWITCHES_GPIO_REG_E_L GPIOB->IDR #if defined(REV9E)
#define SWITCHES_GPIO_PIN_E_L GPIO_Pin_3 // PB.03 #define SWITCHES_GPIO_REG_E_H GPIOF->IDR
#define SWITCHES_GPIO_REG_E_H GPIOB->IDR #define SWITCHES_GPIO_PIN_E_H GPIO_Pin_3 // PF.03
#define SWITCHES_GPIO_PIN_E_H GPIO_Pin_4 // PB.04 #define SWITCHES_GPIO_REG_E_L GPIOF->IDR
#define SWITCHES_GPIO_PIN_E_L GPIO_Pin_4 // PF.04
#else
#define SWITCHES_GPIO_REG_E_L GPIOB->IDR
#define SWITCHES_GPIO_PIN_E_L GPIO_Pin_3 // PB.03
#define SWITCHES_GPIO_REG_E_H GPIOB->IDR
#define SWITCHES_GPIO_PIN_E_H GPIO_Pin_4 // PB.04
#endif
#if defined(REV9E) #if defined(REV9E)
#define SWITCHES_GPIO_REG_F_L GPIOF->IDR #define SWITCHES_GPIO_REG_F_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_F_L GPIO_Pin_15 // PF.15 #define SWITCHES_GPIO_PIN_F_L GPIO_Pin_1 // PE.01
#define SWITCHES_GPIO_REG_F_H GPIOE->IDR #define SWITCHES_GPIO_REG_F_H GPIOE->IDR
#define SWITCHES_GPIO_PIN_F_H GPIO_Pin_14 // PE.14 #define SWITCHES_GPIO_PIN_F_H GPIO_Pin_2 // PE.02
#else #else
#define SWITCHES_GPIO_REG_F GPIOE->IDR #define SWITCHES_GPIO_REG_F GPIOE->IDR
#define SWITCHES_GPIO_PIN_F GPIO_Pin_14 // PE.14 #define SWITCHES_GPIO_PIN_F GPIO_Pin_14 // PE.14
#endif #endif
#define SWITCHES_GPIO_REG_G_H GPIOE->IDR #if defined(REV9E)
#define SWITCHES_GPIO_PIN_G_H GPIO_Pin_9 // PE.09 #define SWITCHES_GPIO_REG_G_H GPIOF->IDR
#define SWITCHES_GPIO_REG_G_L GPIOE->IDR #define SWITCHES_GPIO_PIN_G_H GPIO_Pin_13 // PF.13
#define SWITCHES_GPIO_PIN_G_L GPIO_Pin_8 // PE.08 #define SWITCHES_GPIO_REG_G_L GPIOF->IDR
#define SWITCHES_GPIO_PIN_G_L GPIO_Pin_14 // PF.14
#else
#define SWITCHES_GPIO_REG_G_H GPIOE->IDR
#define SWITCHES_GPIO_PIN_G_H GPIO_Pin_9 // PE.09
#define SWITCHES_GPIO_REG_G_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_G_L GPIO_Pin_8 // PE.08
#endif
#if defined(REV9E) #if defined(REV9E)
#define SWITCHES_GPIO_REG_H_H GPIOD->IDR #define SWITCHES_GPIO_REG_H GPIOF->IDR
#define SWITCHES_GPIO_PIN_H_H GPIO_Pin_10 // PD.10 #define SWITCHES_GPIO_PIN_H GPIO_Pin_1 // PF.01
#define SWITCHES_GPIO_REG_H_L GPIOD->IDR
#define SWITCHES_GPIO_PIN_H_L GPIO_Pin_14 // PD.14
#elif defined(REVPLUS) #elif defined(REVPLUS)
#define SWITCHES_GPIO_REG_H GPIOD->IDR #define SWITCHES_GPIO_REG_H GPIOD->IDR
#define SWITCHES_GPIO_PIN_H GPIO_Pin_14 // PD.14 #define SWITCHES_GPIO_PIN_H GPIO_Pin_14 // PD.14
@ -117,45 +158,70 @@
#if defined(REV9E) #if defined(REV9E)
#define SWITCHES_GPIO_REG_I_H GPIOF->IDR #define SWITCHES_GPIO_REG_I_H GPIOF->IDR
#define SWITCHES_GPIO_PIN_I_H GPIO_Pin_1 // PF.01 #define SWITCHES_GPIO_PIN_I_H GPIO_Pin_15 // PF.15
#define SWITCHES_GPIO_REG_I_L GPIOF->IDR #define SWITCHES_GPIO_REG_I_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_I_L GPIO_Pin_2 // PF.02 #define SWITCHES_GPIO_PIN_I_L GPIO_Pin_14 // PE.14
#define SWITCHES_GPIO_REG_J_H GPIOF->IDR #define SWITCHES_GPIO_REG_J_H GPIOG->IDR
#define SWITCHES_GPIO_PIN_J_H GPIO_Pin_3 // PF.03 #define SWITCHES_GPIO_PIN_J_H GPIO_Pin_7 // PG.07
#define SWITCHES_GPIO_REG_J_L GPIOF->IDR #define SWITCHES_GPIO_REG_J_L GPIOG->IDR
#define SWITCHES_GPIO_PIN_J_L GPIO_Pin_4 // PF.04 #define SWITCHES_GPIO_PIN_J_L GPIO_Pin_8 // PG.08
#define SWITCHES_GPIO_REG_K_H GPIOF->IDR #define SWITCHES_GPIO_REG_K_H GPIOG->IDR
#define SWITCHES_GPIO_PIN_K_H GPIO_Pin_5 // PF.05 #define SWITCHES_GPIO_PIN_K_H GPIO_Pin_13 // PG.13
#define SWITCHES_GPIO_REG_K_L GPIOF->IDR #define SWITCHES_GPIO_REG_K_L GPIOG->IDR
#define SWITCHES_GPIO_PIN_K_L GPIO_Pin_6 // PF.06 #define SWITCHES_GPIO_PIN_K_L GPIO_Pin_12 // PG.12
#define SWITCHES_GPIO_REG_L_H GPIOF->IDR #define SWITCHES_GPIO_REG_L_H GPIOE->IDR
#define SWITCHES_GPIO_PIN_L_H GPIO_Pin_7 // PF.07 #define SWITCHES_GPIO_PIN_L_H GPIO_Pin_9 // PE.09
#define SWITCHES_GPIO_REG_L_L GPIOE->IDR #define SWITCHES_GPIO_REG_L_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_L_L GPIO_Pin_10 // PE.10 #define SWITCHES_GPIO_PIN_L_L GPIO_Pin_8 // PE.08
#define SWITCHES_GPIO_REG_M_H GPIOF->IDR #define SWITCHES_GPIO_REG_M_H GPIOE->IDR
#define SWITCHES_GPIO_PIN_M_H GPIO_Pin_11 // PF.11 #define SWITCHES_GPIO_PIN_M_H GPIO_Pin_15 // PE.15
#define SWITCHES_GPIO_REG_M_L GPIOF->IDR #define SWITCHES_GPIO_REG_M_L GPIOA->IDR
#define SWITCHES_GPIO_PIN_M_L GPIO_Pin_12 // PF.12 #define SWITCHES_GPIO_PIN_M_L GPIO_Pin_12 // PA.04
#define SWITCHES_GPIO_REG_N_H GPIOF->IDR #define SWITCHES_GPIO_REG_N_H GPIOB->IDR
#define SWITCHES_GPIO_PIN_N_H GPIO_Pin_13 // PF.13 #define SWITCHES_GPIO_PIN_N_H GPIO_Pin_3 // PB.03
#define SWITCHES_GPIO_REG_N_L GPIOF->IDR #define SWITCHES_GPIO_REG_N_L GPIOB->IDR
#define SWITCHES_GPIO_PIN_N_L GPIO_Pin_14 // PF.14 #define SWITCHES_GPIO_PIN_N_L GPIO_Pin_4 // PB.04
#define SWITCHES_GPIO_REG_O_H GPIOG->IDR #define SWITCHES_GPIO_REG_O_H GPIOF->IDR
#define SWITCHES_GPIO_PIN_O_H GPIO_Pin_13 // PG.13 #define SWITCHES_GPIO_PIN_O_H GPIO_Pin_11 // PF.11
#define SWITCHES_GPIO_REG_O_L GPIOG->IDR #define SWITCHES_GPIO_REG_O_L GPIOF->IDR
#define SWITCHES_GPIO_PIN_O_L GPIO_Pin_12 // PG.12 #define SWITCHES_GPIO_PIN_O_L GPIO_Pin_12 // PF.12
#define SWITCHES_GPIO_REG_P_H GPIOG->IDR #define SWITCHES_GPIO_REG_P_H GPIOE->IDR
#define SWITCHES_GPIO_PIN_P_H GPIO_Pin_11 // PG.11 #define SWITCHES_GPIO_PIN_P_H GPIO_Pin_1 // PE.01
#define SWITCHES_GPIO_REG_P_L GPIOG->IDR #define SWITCHES_GPIO_REG_P_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_P_L GPIO_Pin_10 // PG.10 #define SWITCHES_GPIO_PIN_P_L GPIO_Pin_2 // PE.02
#define SWITCHES_GPIO_REG_Q_H GPIOE->IDR #define SWITCHES_GPIO_REG_Q_H GPIOF->IDR
#define SWITCHES_GPIO_PIN_Q_H GPIO_Pin_11 // PE.11 #define SWITCHES_GPIO_PIN_Q_H GPIO_Pin_5 // PF.05
#define SWITCHES_GPIO_REG_Q_L GPIOE->IDR #define SWITCHES_GPIO_REG_Q_L GPIOF->IDR
#define SWITCHES_GPIO_PIN_Q_L GPIO_Pin_12 // PE.12 #define SWITCHES_GPIO_PIN_Q_L GPIO_Pin_6 // PF.06
#define SWITCHES_GPIO_REG_R_H GPIOG->IDR #define SWITCHES_GPIO_REG_R_H GPIOB->IDR
#define SWITCHES_GPIO_PIN_R_H GPIO_Pin_7 // PG.07 #define SWITCHES_GPIO_PIN_R_H GPIO_Pin_5 // PB.05
#define SWITCHES_GPIO_REG_R_L GPIOG->IDR #define SWITCHES_GPIO_REG_R_L GPIOE->IDR
#define SWITCHES_GPIO_PIN_R_L GPIO_Pin_8 // PG.08 #define SWITCHES_GPIO_PIN_R_L GPIO_Pin_0 // PE.00
#endif
#if defined(REV9E)
#define KEYS_RCC_AHB1Periph_GPIO (RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE|RCC_AHB1Periph_GPIOF|RCC_AHB1Periph_GPIOG)
#define KEYS_GPIOA_PINS (SWITCHES_GPIO_PIN_M_L)
#define KEYS_GPIOB_PINS (SWITCHES_GPIO_PIN_N_H | SWITCHES_GPIO_PIN_N_L | SWITCHES_GPIO_PIN_R_H)
#define KEYS_GPIOC_PINS (TRIMS_GPIO_PIN_RVD | TRIMS_GPIO_PIN_RVU | TRIMS_GPIO_PIN_RHL | TRIMS_GPIO_PIN_RHR)
#define KEYS_GPIOD_PINS (KEYS_GPIO_PIN_MENU | KEYS_GPIO_PIN_EXIT | KEYS_GPIO_PIN_PAGE | SWITCHES_GPIO_PIN_B_H | SWITCHES_GPIO_PIN_B_L)
#define KEYS_GPIOE_PINS (TRIMS_GPIO_PIN_LHR | TRIMS_GPIO_PIN_LHL | SWITCHES_GPIO_PIN_A_H | SWITCHES_GPIO_REG_A_L | SWITCHES_GPIO_PIN_D | SWITCHES_GPIO_PIN_F_L | SWITCHES_GPIO_PIN_F_H | SWITCHES_GPIO_PIN_I_L | SWITCHES_GPIO_PIN_L_H | SWITCHES_GPIO_PIN_L_L | SWITCHES_GPIO_PIN_M_H | SWITCHES_GPIO_PIN_P_H | SWITCHES_GPIO_PIN_P_L | SWITCHES_GPIO_PIN_R_L)
#define KEYS_GPIOF_PINS (KEYS_GPIO_PIN_ENTER | SWITCHES_GPIO_PIN_E_H | SWITCHES_GPIO_PIN_E_L | SWITCHES_GPIO_PIN_G_H | SWITCHES_GPIO_PIN_G_L | SWITCHES_GPIO_PIN_H | SWITCHES_GPIO_PIN_I_H | SWITCHES_GPIO_PIN_O_H | SWITCHES_GPIO_PIN_O_L | SWITCHES_GPIO_PIN_Q_H | SWITCHES_GPIO_PIN_Q_L)
#define KEYS_GPIOG_PINS (TRIMS_GPIO_PIN_LVD | TRIMS_GPIO_PIN_LVU | SWITCHES_GPIO_PIN_C_H | SWITCHES_GPIO_PIN_C_L | SWITCHES_GPIO_PIN_J_H | SWITCHES_GPIO_PIN_J_L | SWITCHES_GPIO_PIN_K_H | SWITCHES_GPIO_PIN_K_L)
#elif defined(REVPLUS)
#define KEYS_RCC_AHB1Periph_GPIO (RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE)
#define KEYS_GPIOA_PINS (SWITCHES_GPIO_PIN_C_L)
#define KEYS_GPIOB_PINS (SWITCHES_GPIO_PIN_E_L | SWITCHES_GPIO_PIN_E_H | SWITCHES_GPIO_PIN_A_H)
#define KEYS_GPIOC_PINS (TRIMS_GPIO_PIN_RVD | TRIMS_GPIO_PIN_RVU | TRIMS_GPIO_PIN_RHL | TRIMS_GPIO_PIN_RHR)
#define KEYS_GPIOD_PINS (KEYS_GPIO_PIN_MENU | KEYS_GPIO_PIN_EXIT | KEYS_GPIO_PIN_PAGE | SWITCHES_GPIO_PIN_H)
#define KEYS_GPIOE_PINS (KEYS_GPIO_PIN_PLUS | KEYS_GPIO_PIN_ENTER | KEYS_GPIO_PIN_MINUS | TRIMS_GPIO_PIN_LHR | TRIMS_GPIO_PIN_LHL | TRIMS_GPIO_PIN_LVD | TRIMS_GPIO_PIN_LVU | SWITCHES_GPIO_PIN_F | SWITCHES_GPIO_PIN_A_L | SWITCHES_GPIO_PIN_B_H | SWITCHES_GPIO_PIN_B_L | SWITCHES_GPIO_PIN_C_H | SWITCHES_GPIO_PIN_D_H | SWITCHES_GPIO_PIN_D_L | SWITCHES_GPIO_PIN_G_H | SWITCHES_GPIO_PIN_G_L)
#else
#define KEYS_RCC_AHB1Periph_GPIO (RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE)
#define KEYS_GPIOA_PINS (SWITCHES_GPIO_PIN_C_L)
#define KEYS_GPIOB_PINS (SWITCHES_GPIO_PIN_E_L | SWITCHES_GPIO_PIN_E_H | SWITCHES_GPIO_PIN_A_H | SWITCHES_GPIO_PIN_D_L)
#define KEYS_GPIOC_PINS (TRIMS_GPIO_PIN_RVD | TRIMS_GPIO_PIN_RVU | TRIMS_GPIO_PIN_RHL | TRIMS_GPIO_PIN_RHR)
#define KEYS_GPIOD_PINS (KEYS_GPIO_PIN_MENU | KEYS_GPIO_PIN_EXIT | KEYS_GPIO_PIN_PAGE)
#define KEYS_GPIOE_PINS (KEYS_GPIO_PIN_PLUS | KEYS_GPIO_PIN_ENTER | KEYS_GPIO_PIN_MINUS | TRIMS_GPIO_PIN_LHR | TRIMS_GPIO_PIN_LHL | TRIMS_GPIO_PIN_LVD | TRIMS_GPIO_PIN_LVU | SWITCHES_GPIO_PIN_F | SWITCHES_GPIO_PIN_A_L | SWITCHES_GPIO_PIN_B_H | SWITCHES_GPIO_PIN_B_L | SWITCHES_GPIO_PIN_C_H | SWITCHES_GPIO_PIN_D_H | SWITCHES_GPIO_PIN_G_H | SWITCHES_GPIO_PIN_G_L | SWITCHES_GPIO_PIN_H)
#endif #endif
// ADC // ADC
@ -168,19 +234,54 @@
#define ADC_GPIO_PIN_STICK_RH GPIO_Pin_1 // PA.01 #define ADC_GPIO_PIN_STICK_RH GPIO_Pin_1 // PA.01
#define ADC_GPIO_PIN_STICK_LH GPIO_Pin_2 // PA.02 #define ADC_GPIO_PIN_STICK_LH GPIO_Pin_2 // PA.02
#define ADC_GPIO_PIN_STICK_LV GPIO_Pin_3 // PA.03 #define ADC_GPIO_PIN_STICK_LV GPIO_Pin_3 // PA.03
#define ADC_GPIO_PIN_SLIDER1 GPIO_Pin_4 // PC.04 #define ADC_CHANNEL_STICK_RV ADC_Channel_0 // ADC1_IN0
#define ADC_GPIO_PIN_SLIDER2 GPIO_Pin_5 // PC.05 #define ADC_CHANNEL_STICK_RH ADC_Channel_1 // ADC1_IN1
#define ADC_GPIO_PIN_POT1 GPIO_Pin_6 // PA.06 #define ADC_CHANNEL_STICK_LH ADC_Channel_2 // ADC1_IN2
#define ADC_GPIO_PIN_POT2 GPIO_Pin_0 // PB.00 #define ADC_CHANNEL_STICK_LV ADC_Channel_3 // ADC1_IN3
#if defined(REV9E) #if defined(REV9E)
#define ADC_GPIO_PIN_POT3 GPIO_Pin_10 // PF.10 #define ADC_GPIO_PIN_POT1 GPIO_Pin_8 // PF.08
#define ADC_GPIO_PIN_POT4 GPIO_Pin_9 // PF.09 #define ADC_GPIO_PIN_POT2 GPIO_Pin_0 // PB.00
#define ADC_GPIO_PIN_POT5 GPIO_Pin_8 // PF.08 #define ADC_GPIO_PIN_POT3 GPIO_Pin_4 // PC.04
#define ADC_GPIO_PIN_POT6 GPIO_Pin_1 // PB.01 #define ADC_GPIO_PIN_POT4 GPIO_Pin_5 // PC.05
#define ADC_GPIO_PIN_SLIDER1 GPIO_Pin_10 // PF.10
#define ADC_GPIO_PIN_SLIDER2 GPIO_Pin_9 // PF.09
#define ADC_GPIO_PIN_SLIDER3 GPIO_Pin_6 // PA.06
#define ADC_GPIO_PIN_SLIDER4 GPIO_Pin_1 // PB.01
#define ADC_GPIO_PIN_BATT GPIO_Pin_0 // PC.00
#define ADC_CHANNEL_POT1 ADC_Channel_6 // ADC3_IN6
#define ADC_CHANNEL_POT2 ADC_Channel_8 // ADC1_IN8
#define ADC_CHANNEL_POT3 ADC_Channel_14 // ADC1_IN14
#define ADC_CHANNEL_POT4 ADC_Channel_15 // ADC1_IN15
#define ADC_CHANNEL_SLIDER1 ADC_Channel_8 // ADC3_IN8
#define ADC_CHANNEL_SLIDER2 ADC_Channel_7 // ADC3_IN7
#define ADC_CHANNEL_SLIDER3 ADC_Channel_6 // ADC1_IN6
#define ADC_CHANNEL_SLIDER4 ADC_Channel_7 // ADC1_IN9
#define ADC_CHANNEL_BATT ADC_Channel_10 // ADC1_IN10
#elif defined(REVPLUS) #elif defined(REVPLUS)
#define ADC_GPIO_PIN_POT1 GPIO_Pin_6 // PA.06
#define ADC_GPIO_PIN_POT2 GPIO_Pin_0 // PB.00
#define ADC_GPIO_PIN_POT3 GPIO_Pin_1 // PB.01 #define ADC_GPIO_PIN_POT3 GPIO_Pin_1 // PB.01
#define ADC_GPIO_PIN_SLIDER1 GPIO_Pin_4 // PC.04
#define ADC_GPIO_PIN_SLIDER2 GPIO_Pin_5 // PC.05
#define ADC_GPIO_PIN_BATT GPIO_Pin_0 // PC.00
#define ADC_CHANNEL_POT1 ADC_Channel_6
#define ADC_CHANNEL_POT2 ADC_Channel_8
#define ADC_CHANNEL_POT3 ADC_Channel_9
#define ADC_CHANNEL_SLIDER1 ADC_Channel_14
#define ADC_CHANNEL_SLIDER2 ADC_Channel_15
#define ADC_CHANNEL_BATT ADC_Channel_10
#else
#define ADC_GPIO_PIN_POT1 GPIO_Pin_6 // PA.06
#define ADC_GPIO_PIN_POT2 GPIO_Pin_0 // PB.00
#define ADC_GPIO_PIN_SLIDER1 GPIO_Pin_4 // PC.04
#define ADC_GPIO_PIN_SLIDER2 GPIO_Pin_5 // PC.05
#define ADC_GPIO_PIN_BATT GPIO_Pin_0 // PC.00
#define ADC_CHANNEL_POT1 ADC_Channel_6
#define ADC_CHANNEL_POT2 ADC_Channel_8
#define ADC_CHANNEL_SLIDER1 ADC_Channel_14
#define ADC_CHANNEL_SLIDER2 ADC_Channel_15
#define ADC_CHANNEL_BATT ADC_Channel_10
#endif #endif
#define ADC_GPIO_PIN_BATT GPIO_Pin_0 // PC.00
// Power_OFF Delay and LED // Power_OFF Delay and LED
#define PWR_RCC_AHB1Periph_GPIO (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD) #define PWR_RCC_AHB1Periph_GPIO (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD)

View file

@ -36,80 +36,53 @@
#include "../../opentx.h" #include "../../opentx.h"
// TODO FrSky code included PIN_BIND and PIN_POWER
uint32_t readKeys() uint32_t readKeys()
{ {
register uint32_t result = 0; uint32_t result = 0;
register uint32_t d = ~GPIOD->IDR;
if (~KEYS_GPIO_REG_ENTER & KEYS_GPIO_PIN_ENTER)
result |= 1 << KEY_ENTER;
if (~KEYS_GPIO_REG_MENU & KEYS_GPIO_PIN_MENU)
result |= 1 << KEY_MENU;
if (~KEYS_GPIO_REG_PAGE & KEYS_GPIO_PIN_PAGE)
result |= 1 << KEY_PAGE;
if (~KEYS_GPIO_REG_EXIT & KEYS_GPIO_PIN_EXIT)
result |= 1 << KEY_EXIT;
#if !defined(REV9E) || defined(SIMU) #if !defined(REV9E) || defined(SIMU)
register uint32_t e = ~GPIOE->IDR; if (~KEYS_GPIO_REG_PLUS & KEYS_GPIO_PIN_PLUS)
(void)e; result |= 1 << KEY_PLUS;
if (~KEYS_GPIO_REG_MINUS & KEYS_GPIO_PIN_MINUS)
result |= 1 << KEY_MINUS;
#endif #endif
#if defined(REV9E) // TRACE("readKeys(): result=0x%02x", result);
if (!(GPIOF->IDR & KEYS_GPIO_PIN_ENTER))
#else
if (e & KEYS_GPIO_PIN_ENTER)
#endif
result |= 0x02 << KEY_ENTER;
#if !defined(REV9E) || defined(SIMU)
if (e & KEYS_GPIO_PIN_PLUS)
result |= 0x02 << KEY_PLUS;
if (e & KEYS_GPIO_PIN_MINUS)
result |= 0x02 << KEY_MINUS;
#endif
if (d & KEYS_GPIO_PIN_MENU)
result |= 0x02 << KEY_MENU;
if (d & KEYS_GPIO_PIN_PAGE)
result |= 0x02 << KEY_PAGE;
if (d & KEYS_GPIO_PIN_EXIT)
result |= 0x02 << KEY_EXIT;
// TRACE("readKeys(): %x %x => %x", d, e, result);
return result; return result;
} }
uint32_t readTrims() uint32_t readTrims()
{ {
register uint32_t c = GPIOC->IDR; uint32_t result = 0;
register uint32_t e = GPIOE->IDR;
#if defined(REV9E)
register uint32_t g = GPIOG->IDR;
#endif
register uint32_t result = 0;
if (~e & TRIMS_GPIO_PIN_LHL) if (~TRIMS_GPIO_REG_LHL & TRIMS_GPIO_PIN_LHL)
result |= 0x01; // LH_L result |= 0x01;
if (~e & TRIMS_GPIO_PIN_LHR) if (~TRIMS_GPIO_REG_LHR & TRIMS_GPIO_PIN_LHR)
result |= 0x02; // LH_R result |= 0x02;
if (~TRIMS_GPIO_REG_LVD & TRIMS_GPIO_PIN_LVD)
result |= 0x04;
if (~TRIMS_GPIO_REG_LVU & TRIMS_GPIO_PIN_LVU)
result |= 0x08;
if (~TRIMS_GPIO_REG_RVD & TRIMS_GPIO_PIN_RVD)
result |= 0x10;
if (~TRIMS_GPIO_REG_RVU & TRIMS_GPIO_PIN_RVU)
result |= 0x20;
if (~TRIMS_GPIO_REG_RHL & TRIMS_GPIO_PIN_RHL)
result |= 0x40;
if (~TRIMS_GPIO_REG_RHR & TRIMS_GPIO_PIN_RHR)
result |= 0x80;
#if defined(REV9E) // TRACE("readTrims(): result=0x%02x", result);
if (~g & TRIMS_GPIO_PIN_LVD)
result |= 0x04; // LV_DN
if (~g & TRIMS_GPIO_PIN_LVU)
result |= 0x08; // LV_UP
#else
if (~e & TRIMS_GPIO_PIN_LVD)
result |= 0x04; // LV_DN
if (~e & TRIMS_GPIO_PIN_LVU)
result |= 0x08; // LV_UP
#endif
if (~c & TRIMS_GPIO_PIN_RVD)
result |= 0x10; // RV_DN
if (~c & TRIMS_GPIO_PIN_RVU)
result |= 0x20; // RV_UP
if (~c & TRIMS_GPIO_PIN_RHL)
result |= 0x40; // RH_L
if (~c & TRIMS_GPIO_PIN_RHR)
result |= 0x80; // RH_R
// TRACE("readTrims(): %x %x => %x", c, e, result);
return result; return result;
} }
@ -131,13 +104,10 @@ extern rotenc_t x9de_rotenc;
/* TODO common to ARM */ /* TODO common to ARM */
void readKeysAndTrims() void readKeysAndTrims()
{ {
register uint32_t i; uint8_t enuk = 0;
uint8_t enuk = KEY_MENU;
uint32_t in = readKeys(); uint32_t in = readKeys();
for (i = 1; i <= TRM_BASE; i++) { for (uint8_t i = 1; i != uint8_t(1 << TRM_BASE); i <<= 1) {
keys[enuk].input(in & (1 << i)); keys[enuk++].input(in & i);
++enuk;
} }
#if defined(REV9E) && !defined(SIMU) #if defined(REV9E) && !defined(SIMU)
@ -156,15 +126,21 @@ void readKeysAndTrims()
#endif #endif
in = readTrims(); in = readTrims();
for (uint8_t i = 1; i != uint8_t(1 << 8); i <<= 1) {
for (i = 1; i < 256; i <<= 1) { keys[enuk++].input(in & i);
keys[enuk].input(in & i);
++enuk;
} }
} }
#if !defined(BOOT) #if !defined(BOOT)
#define ADD_2POS_CASE(x) \
case SW_S ## x ## 0: \
xxx = SWITCHES_GPIO_REG_ ## x & SWITCHES_GPIO_PIN_ ## x ; \
break; \
case SW_S ## x ## 2: \
xxx = ~SWITCHES_GPIO_REG_ ## x & SWITCHES_GPIO_PIN_ ## x ; \
break
#if defined(REV9E) #if defined(REV9E)
#define ADD_3POS_CASE(x, i) \ #define ADD_3POS_CASE(x, i) \
case SW_S ## x ## 0: \ case SW_S ## x ## 0: \
@ -178,13 +154,6 @@ void readKeysAndTrims()
break break
#define ADD_3POS_INVERTED_CASE(x, i) ADD_3POS_CASE(x, i) #define ADD_3POS_INVERTED_CASE(x, i) ADD_3POS_CASE(x, i)
#else #else
#define ADD_2POS_CASE(x) \
case SW_S ## x ## 0: \
xxx = SWITCHES_GPIO_REG_ ## x & SWITCHES_GPIO_PIN_ ## x ; \
break; \
case SW_S ## x ## 2: \
xxx = ~SWITCHES_GPIO_REG_ ## x & SWITCHES_GPIO_PIN_ ## x ; \
break
#define ADD_3POS_CASE(x, i) \ #define ADD_3POS_CASE(x, i) \
case SW_S ## x ## 0: \ case SW_S ## x ## 0: \
xxx = (SWITCHES_GPIO_REG_ ## x ## _H & SWITCHES_GPIO_PIN_ ## x ## _H); \ xxx = (SWITCHES_GPIO_REG_ ## x ## _H & SWITCHES_GPIO_PIN_ ## x ## _H); \
@ -229,7 +198,11 @@ bool switchState(EnumKeys enuk)
ADD_3POS_CASE(A, 0); ADD_3POS_CASE(A, 0);
ADD_3POS_CASE(B, 1); ADD_3POS_CASE(B, 1);
ADD_3POS_CASE(C, 2); ADD_3POS_CASE(C, 2);
#if defined(REV9E)
ADD_2POS_CASE(D);
#else
ADD_3POS_CASE(D, 3); ADD_3POS_CASE(D, 3);
#endif
ADD_3POS_INVERTED_CASE(E, 4); ADD_3POS_INVERTED_CASE(E, 4);
#if defined(REV9E) #if defined(REV9E)
ADD_3POS_CASE(F, 5); ADD_3POS_CASE(F, 5);
@ -237,12 +210,7 @@ bool switchState(EnumKeys enuk)
ADD_2POS_CASE(F); ADD_2POS_CASE(F);
#endif #endif
ADD_3POS_CASE(G, 6); ADD_3POS_CASE(G, 6);
#if defined(REV9E)
ADD_3POS_CASE(H, 7);
#else
ADD_2POS_CASE(H); ADD_2POS_CASE(H);
#endif
#if defined(REV9E) #if defined(REV9E)
ADD_3POS_CASE(I, 8); ADD_3POS_CASE(I, 8);
ADD_3POS_CASE(J, 9); ADD_3POS_CASE(J, 9);
@ -272,52 +240,33 @@ void keysInit()
RCC_AHB1PeriphClockCmd(KEYS_RCC_AHB1Periph_GPIO, ENABLE); RCC_AHB1PeriphClockCmd(KEYS_RCC_AHB1Periph_GPIO, ENABLE);
#if defined(REV9E) GPIO_InitStructure.GPIO_Pin = KEYS_GPIOA_PINS;
GPIO_InitStructure.GPIO_Pin = TRIMS_GPIO_PIN_LHR | TRIMS_GPIO_PIN_LHL
| SWITCHES_GPIO_PIN_F_H | SWITCHES_GPIO_PIN_A_L | SWITCHES_GPIO_PIN_B_H | SWITCHES_GPIO_PIN_B_L | SWITCHES_GPIO_PIN_C_H | SWITCHES_GPIO_PIN_D_H | SWITCHES_GPIO_PIN_D_L | SWITCHES_GPIO_PIN_G_H | SWITCHES_GPIO_PIN_G_L | SWITCHES_GPIO_PIN_L_L | SWITCHES_GPIO_PIN_Q_H | SWITCHES_GPIO_PIN_Q_L;
#elif defined(REVPLUS)
GPIO_InitStructure.GPIO_Pin = KEYS_GPIO_PIN_PLUS | KEYS_GPIO_PIN_ENTER | KEYS_GPIO_PIN_MINUS | TRIMS_GPIO_PIN_LHR | TRIMS_GPIO_PIN_LHL
| TRIMS_GPIO_PIN_LVD | TRIMS_GPIO_PIN_LVU
| SWITCHES_GPIO_PIN_F | SWITCHES_GPIO_PIN_A_L | SWITCHES_GPIO_PIN_B_H | SWITCHES_GPIO_PIN_B_L | SWITCHES_GPIO_PIN_C_H | SWITCHES_GPIO_PIN_D_H | SWITCHES_GPIO_PIN_D_L | SWITCHES_GPIO_PIN_G_H | SWITCHES_GPIO_PIN_G_L;
#else
GPIO_InitStructure.GPIO_Pin = KEYS_GPIO_PIN_PLUS | KEYS_GPIO_PIN_ENTER | KEYS_GPIO_PIN_MINUS | TRIMS_GPIO_PIN_LHR | TRIMS_GPIO_PIN_LHL
| TRIMS_GPIO_PIN_LVD | TRIMS_GPIO_PIN_LVU
| SWITCHES_GPIO_PIN_F | SWITCHES_GPIO_PIN_A_L | SWITCHES_GPIO_PIN_B_H | SWITCHES_GPIO_PIN_B_L | SWITCHES_GPIO_PIN_C_H | SWITCHES_GPIO_PIN_D_H | SWITCHES_GPIO_PIN_G_H | SWITCHES_GPIO_PIN_G_L | SWITCHES_GPIO_PIN_H;
#endif
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;
GPIO_Init(GPIOE, &GPIO_InitStructure); GPIO_Init(GPIOA, &GPIO_InitStructure);
#if defined(REV9E) GPIO_InitStructure.GPIO_Pin = KEYS_GPIOD_PINS;
GPIO_InitStructure.GPIO_Pin = KEYS_GPIO_PIN_ENTER | SWITCHES_GPIO_PIN_F_L | SWITCHES_GPIO_PIN_I_H | SWITCHES_GPIO_PIN_I_L | SWITCHES_GPIO_PIN_J_H | SWITCHES_GPIO_PIN_J_L | SWITCHES_GPIO_PIN_K_H | SWITCHES_GPIO_PIN_K_L | SWITCHES_GPIO_PIN_L_H | SWITCHES_GPIO_PIN_M_H | SWITCHES_GPIO_PIN_M_L | SWITCHES_GPIO_PIN_N_H | SWITCHES_GPIO_PIN_N_L;
GPIO_Init(GPIOF, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = TRIMS_GPIO_PIN_LVD | TRIMS_GPIO_PIN_LVU | SWITCHES_GPIO_PIN_O_H | SWITCHES_GPIO_PIN_O_L | SWITCHES_GPIO_PIN_P_H | SWITCHES_GPIO_PIN_P_L | SWITCHES_GPIO_PIN_R_H | SWITCHES_GPIO_PIN_R_L;
GPIO_Init(GPIOG, &GPIO_InitStructure);
#endif
#if defined(REV9E)
GPIO_InitStructure.GPIO_Pin = KEYS_GPIO_PIN_MENU | KEYS_GPIO_PIN_EXIT | KEYS_GPIO_PIN_PAGE | SWITCHES_GPIO_PIN_H_H | SWITCHES_GPIO_PIN_H_L;
#elif defined(REVPLUS)
GPIO_InitStructure.GPIO_Pin = KEYS_GPIO_PIN_MENU | KEYS_GPIO_PIN_EXIT | KEYS_GPIO_PIN_PAGE | SWITCHES_GPIO_PIN_H;
#else
GPIO_InitStructure.GPIO_Pin = KEYS_GPIO_PIN_MENU | KEYS_GPIO_PIN_EXIT | KEYS_GPIO_PIN_PAGE;
#endif
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = TRIMS_GPIO_PIN_RVD | TRIMS_GPIO_PIN_RVU | TRIMS_GPIO_PIN_RHL | TRIMS_GPIO_PIN_RHR;
GPIO_Init(GPIOC, &GPIO_InitStructure);
#if defined(REVPLUS)
GPIO_InitStructure.GPIO_Pin = SWITCHES_GPIO_PIN_E_L | SWITCHES_GPIO_PIN_E_H | SWITCHES_GPIO_PIN_A_H;
#else
GPIO_InitStructure.GPIO_Pin = SWITCHES_GPIO_PIN_E_L | SWITCHES_GPIO_PIN_E_H | SWITCHES_GPIO_PIN_A_H | SWITCHES_GPIO_PIN_D_L;
#endif
GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = SWITCHES_GPIO_PIN_C_L; GPIO_InitStructure.GPIO_Pin = KEYS_GPIOC_PINS;
GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = KEYS_GPIOD_PINS;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = KEYS_GPIOE_PINS;
GPIO_Init(GPIOE, &GPIO_InitStructure);
#if defined(KEYS_GPIOF_PINS)
GPIO_InitStructure.GPIO_Pin = KEYS_GPIOF_PINS;
GPIO_Init(GPIOF, &GPIO_InitStructure);
#endif
#if defined(KEYS_GPIOG_PINS)
GPIO_InitStructure.GPIO_Pin = KEYS_GPIOG_PINS;
GPIO_Init(GPIOG, &GPIO_InitStructure);
#endif
} }
#endif #endif

View file

@ -55,7 +55,7 @@ void rtcSetTime(struct gtm * t)
RTC_SetDate(RTC_Format_BIN, &RTC_DateStruct); RTC_SetDate(RTC_Format_BIN, &RTC_DateStruct);
} }
void rtc_gettime(struct gtm * t) void rtcGetTime(struct gtm * t)
{ {
RTC_TimeTypeDef RTC_TimeStruct; RTC_TimeTypeDef RTC_TimeStruct;
RTC_DateTypeDef RTC_DateStruct; RTC_DateTypeDef RTC_DateStruct;
@ -90,6 +90,6 @@ void rtcInit()
RTC_Init(&RTC_InitStruct); RTC_Init(&RTC_InitStruct);
struct gtm utm; struct gtm utm;
rtc_gettime(&utm); rtcGetTime(&utm);
g_rtcTime = gmktime(&utm); g_rtcTime = gmktime(&utm);
} }

View file

@ -62,9 +62,7 @@ void telemetryPortInit(uint32_t baudrate)
GPIO_InitStructure.GPIO_Pin = TELEMETRY_GPIO_PIN_DIR; GPIO_InitStructure.GPIO_Pin = TELEMETRY_GPIO_PIN_DIR;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(TELEMETRY_GPIO_DIR, &GPIO_InitStructure); GPIO_Init(TELEMETRY_GPIO_DIR, &GPIO_InitStructure);
GPIO_ResetBits(TELEMETRY_GPIO_DIR, TELEMETRY_GPIO_PIN_DIR); GPIO_ResetBits(TELEMETRY_GPIO_DIR, TELEMETRY_GPIO_PIN_DIR);

View file

@ -456,7 +456,7 @@
#define TR_TRIMS_VSRCRAW TR("TrmR""TrmE""TrmT""TrmA", "\313Rud""\313Ele""\313Thr""\313Ail") #define TR_TRIMS_VSRCRAW TR("TrmR""TrmE""TrmT""TrmA", "\313Rud""\313Ele""\313Thr""\313Ail")
#if defined(PCBTARANIS) && defined(REV9E) #if defined(PCBTARANIS) && defined(REV9E)
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\310S4\0""\311LS\0""\311RS\0""\311LS2""\311RS2" #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311LS\0""\311RS\0""\311S1\0""\311S2\0"
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0"
#elif defined(PCBTARANIS) #elif defined(PCBTARANIS)
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0"