This commit is contained in:
Mysteo
2023-08-01 19:45:40 +03:00
parent 6aa7f836d3
commit 222f758a2b
5 changed files with 96 additions and 105 deletions

View File

@@ -25,8 +25,6 @@ extern "C" void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t S
{
std::string_view stringView{(const char *) bridgePnt->dataFromUart2, Size};
bridgePnt->uart2Buf->enqueue(stringView);
HAL_UART_Abort(bridgePnt->getHuart2());
HAL_UARTEx_ReceiveToIdle_IT(bridgePnt->getHuart2(),(uint8_t*)bridgePnt->dataFromUart2, BUF_SIZE );
}
}
@@ -94,25 +92,9 @@ UART_HandleTypeDef* UartBridge::getHuart2() {
void UartBridge::init(void) {
uartInit(&uart1Handle);
uartInit(&uart2Handle);
HAL_UARTEx_ReceiveToIdle_IT(&uart1Handle,(uint8_t*)dataFromUart1, BUF_SIZE );
HAL_UARTEx_ReceiveToIdle_IT(&uart2Handle,(uint8_t*)dataFromUart2, BUF_SIZE );
__HAL_UART_CLEAR_FEFLAG(&uart1Handle);
__HAL_UART_CLEAR_OREFLAG(&uart1Handle);
__HAL_UART_CLEAR_NEFLAG(&uart1Handle);
__HAL_UART_CLEAR_PEFLAG(&uart1Handle);
__HAL_UART_CLEAR_FEFLAG(&uart2Handle);
__HAL_UART_CLEAR_OREFLAG(&uart2Handle);
__HAL_UART_CLEAR_NEFLAG(&uart2Handle);
__HAL_UART_CLEAR_PEFLAG(&uart2Handle);
__HAL_UART_DISABLE_IT(&uart1Handle, UART_IT_ORE);
__HAL_UART_DISABLE_IT(&uart1Handle, UART_IT_PE);
__HAL_UART_DISABLE_IT(&uart1Handle, UART_IT_FE);
__HAL_UART_DISABLE_IT(&uart1Handle, UART_IT_NE);
__HAL_UART_DISABLE_IT(&uart2Handle, UART_IT_ORE);
__HAL_UART_DISABLE_IT(&uart2Handle, UART_IT_PE);
__HAL_UART_DISABLE_IT(&uart2Handle, UART_IT_FE);
__HAL_UART_DISABLE_IT(&uart2Handle, UART_IT_NE);
}

View File

@@ -103,7 +103,6 @@ void vl6180_init (void)
/* Enable Dmax calculation only if value is displayed (to save computation power) */
//VL6180_DMaxSetState(theVL6180Dev, DMaxDispTime>0);
VL6180_ClearAllInterrupt(theVL6180Dev);
VL6180_RangeStartContinuousMode(theVL6180Dev);
allowIT = 1;
}
@@ -275,4 +274,14 @@ void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
}
}
}
/* USER CODE END 4 */
/* USER CODE END 4 */
uint8_t vl6180_single_shot ()
{
VL6180_RangeStartSingleShot(theVL6180Dev);
}
int32_t vl6180_is_ready ()
{
return VL6180_RangeWaitDeviceReady(theVL6180Dev, 3);
}

View File

@@ -10,4 +10,6 @@
#endif //MYPROJECT_VL6180_APP_H
void vl6180_init (void);
__weak void proximityMessureCompleted (void);
uint8_t getRange (VL6180_RangeData_t* range);
uint8_t getRange (VL6180_RangeData_t* range);
uint8_t vl6180_single_shot ();
int32_t vl6180_is_ready ();