Mercurial > public > ostc4
comparison Small_CPU/Src/uartProtocol_O2.c @ 916:4832981f9af8 Evo_2_23
External sensor UART: Switch to DMA TX transfers:
The previous version used polling tx function to transfer data. Because of the short command length of the protocols supported this was no big issue. New protocolls (like GNSS) have longer command sequence which have an impact to the program flow. That's why the implementation has been changed to DMA transmission.
author | Ideenmodellierer |
---|---|
date | Mon, 28 Oct 2024 20:34:58 +0100 |
parents | f8a112c5e71d |
children | eb4109d7d1e9 |
comparison
equal
deleted
inserted
replaced
915:ff318ae65dd0 | 916:4832981f9af8 |
---|---|
105 externalInterface_SetSensorData(0xFF,(uint8_t*)&tmpSensorDataDiveO2); | 105 externalInterface_SetSensorData(0xFF,(uint8_t*)&tmpSensorDataDiveO2); |
106 | 106 |
107 localComState = UART_O2_CHECK; | 107 localComState = UART_O2_CHECK; |
108 lastComState = UART_O2_CHECK; | 108 lastComState = UART_O2_CHECK; |
109 uartO2_SetupCmd(localComState,cmdString,&cmdLength); | 109 uartO2_SetupCmd(localComState,cmdString,&cmdLength); |
110 | 110 UART_SendCmdString(cmdString); |
111 rxState = O2RX_CONFIRM; | 111 rxState = O2RX_CONFIRM; |
112 respondErrorDetected = 0; | 112 respondErrorDetected = 0; |
113 digO2Connected = 0; | 113 digO2Connected = 0; |
114 | |
115 UART_StartDMA_Receiption(); | |
116 } | 114 } |
117 else | 115 else |
118 { | 116 { |
119 if(localComState == UART_O2_ERROR) | 117 if(localComState == UART_O2_ERROR) |
120 { | 118 { |