HAL_ChibiOS: separate out F1 CR1 calculations
and modify pin speeds for iomcu uarts
This commit is contained in:
parent
107ccb3eef
commit
fcc259ae31
@ -26,8 +26,8 @@ UART_ORDER EMPTY
|
||||
define HAL_USE_UART TRUE
|
||||
|
||||
# UART connected to FMU, uses DMA
|
||||
PA2 USART2_TX USART2
|
||||
PA3 USART2_RX USART2
|
||||
PA2 USART2_TX USART2 SPEED_HIGH
|
||||
PA3 USART2_RX USART2 SPEED_HIGH
|
||||
|
||||
define STM32_UART_USE_USART1 FALSE
|
||||
define STM32_UART_USE_USART2 TRUE
|
||||
@ -36,7 +36,7 @@ define STM32_UART_USE_USART3 FALSE
|
||||
# UART for SBUS out, and RC in, no DMA
|
||||
define HAL_USE_SERIAL TRUE
|
||||
PB4 SBUS_OUT_EN OUTPUT LOW GPIO(1)
|
||||
PB10 USART3_TX USART3
|
||||
PB10 USART3_TX USART3 SPEED_HIGH LOW
|
||||
PB11 USART3_RX USART3
|
||||
|
||||
define STM32_SERIAL_USE_USART1 TRUE
|
||||
@ -70,8 +70,8 @@ PB15 AMBER_LED OUTPUT LOW
|
||||
|
||||
# UART for DSM input
|
||||
# TX side is for IO debug, and is unused
|
||||
PA9 USART1_TX USART1
|
||||
PA10 USART1_RX USART1 PULLUP
|
||||
PA9 USART1_TX USART1 SPEED_HIGH
|
||||
PA10 USART1_RX USART1 SPEED_HIGH
|
||||
|
||||
PC13 SPEKTRUM_PWR_EN OUTPUT LOW
|
||||
define HAL_GPIO_PIN_SPEKTRUM_OUT PAL_LINE(GPIOA,10U)
|
||||
|
@ -334,9 +334,42 @@ class generic_pin(object):
|
||||
return None
|
||||
return self.get_AFIO()
|
||||
|
||||
def get_CR_F1(self):
|
||||
'''return CR FLAGS for STM32F1xx'''
|
||||
#Check Speed
|
||||
if self.sig_dir != "INPUT" or self.af is not None:
|
||||
speed_values = ['SPEED_LOW', 'SPEED_MEDIUM', 'SPEED_HIGH']
|
||||
v = 'SPEED_MEDIUM'
|
||||
for e in self.extra:
|
||||
if e in speed_values:
|
||||
v = e
|
||||
speed_str = "PIN_%s(%uU) |" % (v, self.pin)
|
||||
else:
|
||||
speed_str = ""
|
||||
if self.af is not None:
|
||||
if self.label.endswith('_RX'):
|
||||
# uart RX is configured as a input, and can be pullup, pulldown or float
|
||||
if 'PULLUP' in self.extra or 'PULLDOWN' in self.extra:
|
||||
v = 'PUD'
|
||||
else:
|
||||
v = "NOPULL"
|
||||
else:
|
||||
v = "AF_PP"
|
||||
elif self.sig_dir == 'OUTPUT':
|
||||
v = "OUTPUT_PP"
|
||||
elif self.type.startswith('ADC'):
|
||||
v = "ANALOG"
|
||||
else:
|
||||
v = "PUD"
|
||||
if 'FLOATING' in self.extra:
|
||||
v = "NOPULL"
|
||||
mode_str = "PIN_MODE_%s(%uU)" % (v, self.pin)
|
||||
return "%s %s" % (speed_str, mode_str)
|
||||
|
||||
def get_CR(self):
|
||||
'''return CR FLAGS'''
|
||||
#Check Speed
|
||||
if mcu_series == "STM32F100":
|
||||
return self.get_CR_F1()
|
||||
if self.sig_dir != "INPUT":
|
||||
speed_values = ['SPEED_LOW', 'SPEED_MEDIUM', 'SPEED_HIGH']
|
||||
v = 'SPEED_MEDIUM'
|
||||
|
Loading…
Reference in New Issue
Block a user