Skip to content

Commit 35d6ff9

Browse files
committed
pios_hal: Allow USART DMA for OpenLog, S.Bus, SRXL, IBus and Crossfire.
1 parent 56c7daf commit 35d6ff9

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

flight/PiOS/Common/pios_hal.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,7 @@ void PIOS_HAL_ConfigurePort(HwSharedPortTypesOptions port_type,
813813

814814
case HWSHARED_PORTTYPES_OPENLOG:
815815
#if defined(PIOS_INCLUDE_OPENLOG)
816+
usart_port_params.flags = PIOS_USART_ALLOW_TRANSMIT_DMA;
816817
PIOS_HAL_ConfigureCom(usart_port_cfg, &usart_port_params, 0, PIOS_COM_OPENLOG_TX_BUF_LEN, com_driver, &port_driver_id);
817818
target = &pios_com_openlog_logging_id;
818819
#endif /* PIOS_INCLUDE_OPENLOG */
@@ -874,6 +875,7 @@ void PIOS_HAL_ConfigurePort(HwSharedPortTypesOptions port_type,
874875
usart_port_params.init.USART_StopBits = USART_StopBits_2;
875876
usart_port_params.init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
876877
usart_port_params.init.USART_Mode = USART_Mode_Rx;
878+
usart_port_params.flags = PIOS_USART_ALLOW_RECEIVE_DMA;
877879

878880
if (port_type == HWSHARED_PORTTYPES_SBUS)
879881
usart_port_params.rx_invert = true;
@@ -919,6 +921,7 @@ void PIOS_HAL_ConfigurePort(HwSharedPortTypesOptions port_type,
919921
usart_port_params.init.USART_StopBits = USART_StopBits_1;
920922
usart_port_params.init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
921923
usart_port_params.init.USART_Mode = USART_Mode_Rx;
924+
usart_port_params.flags = PIOS_USART_ALLOW_RECEIVE_DMA;
922925

923926
PIOS_HAL_ConfigureSRXL(usart_port_cfg, &usart_port_params, com_driver);
924927
}
@@ -934,6 +937,7 @@ void PIOS_HAL_ConfigurePort(HwSharedPortTypesOptions port_type,
934937
usart_port_params.init.USART_StopBits = USART_StopBits_1;
935938
usart_port_params.init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
936939
usart_port_params.init.USART_Mode = USART_Mode_Rx;
940+
usart_port_params.flags = PIOS_USART_ALLOW_RECEIVE_DMA;
937941

938942
PIOS_HAL_ConfigureIBus(usart_port_cfg, &usart_port_params, com_driver);
939943
}
@@ -949,6 +953,7 @@ void PIOS_HAL_ConfigurePort(HwSharedPortTypesOptions port_type,
949953
usart_port_params.init.USART_StopBits = USART_StopBits_1;
950954
usart_port_params.init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
951955
usart_port_params.init.USART_Mode = USART_Mode_Rx|USART_Mode_Tx;
956+
usart_port_params.flags = PIOS_USART_ALLOW_RECEIVE_DMA | PIOS_USART_ALLOW_TRANSMIT_DMA;
952957

953958
PIOS_HAL_ConfigureTbsCrossfire(usart_port_cfg, &usart_port_params, com_driver);
954959
PIOS_Modules_Enable(PIOS_MODULE_UAVOCROSSFIRETELEMETRY);

0 commit comments

Comments
 (0)