/* * echo.c * * Created on: Dec 24, 2024 * Author: akeguo */ #include "echo.h" #include "BHBF_ROBOT.h" #include "BSP/bsp_include.h" void echo_back_485_1(uint8_t *buffer, uint16_t length); void echo_back_485_2(uint8_t *buffer, uint16_t length); void echo_back_485_3(uint8_t *buffer, uint16_t length); void echo_back_485_4(uint8_t *buffer, uint16_t length); void echo_back_InterCall_DEBUG(uint8_t *buffer, uint16_t length); void echo_back_SBUS(uint8_t *buffer, uint16_t length); void echo_back_LTE_7S0_Serial(uint8_t *buffer, uint16_t length); void echo_back_LPUART1(uint8_t *buffer, uint16_t length); struct UARTHandler *echoHandler_485_1; struct UARTHandler *echoHandler_485_2; struct UARTHandler *echoHandler_485_3; struct UARTHandler *echoHandler_485_4; struct UARTHandler *echoHandler_InterCall_DEBUG; struct UARTHandler *echoHandler_E28_SBUS_UART; struct UARTHandler *echoHandler_LTE_7S0_Serial_UART; struct UARTHandler *echoHandler_LPUART1; FDCANHandler *echo_CANFD_2; FDCANHandler *echo_CANFD_1; void echo_back_CANFD_1(uint32_t canID, uint8_t *buffer, uint32_t length); void echo_back_CANFD_2(uint32_t canID, uint8_t *buffer, uint32_t length); void echo_intialize() { echoHandler_485_1 = &RS_485_1_UART_Handler; echoHandler_485_2 = &RS_485_2_UART_Handler; echoHandler_485_3 = &RS_485_3_UART_Handler; echoHandler_485_4 = &RS_485_4_UART_Handler; echoHandler_InterCall_DEBUG = &InterCall_DEBUG_UART_Handler; echoHandler_E28_SBUS_UART = &E28_SBUS_UART_Handler; echoHandler_LTE_7S0_Serial_UART = <E_7S0_Serial_UART_Handler; echoHandler_485_1->UART_Decode = echo_back_485_1; echoHandler_485_1->Wait_time = 10; echoHandler_485_2->UART_Decode = echo_back_485_2; echoHandler_485_2->Wait_time = 10; echoHandler_485_3->UART_Decode = echo_back_485_3; echoHandler_485_3->Wait_time = 10; echoHandler_485_4->UART_Decode = echo_back_485_4; echoHandler_485_4->Wait_time = 10; echoHandler_InterCall_DEBUG->UART_Decode = echo_back_InterCall_DEBUG; echoHandler_InterCall_DEBUG->Wait_time = 10; echoHandler_E28_SBUS_UART->UART_Decode = echo_back_SBUS; echoHandler_E28_SBUS_UART->Wait_time = 10; echoHandler_LTE_7S0_Serial_UART->UART_Decode = echo_back_LTE_7S0_Serial; echoHandler_LTE_7S0_Serial_UART->Wait_time = 10; echo_CANFD_1=&FD_CAN_1_Handler; echo_CANFD_2=&FD_CAN_2_Handler; echo_CANFD_1->CAN_Decode = echo_back_CANFD_1; echo_CANFD_2->CAN_Decode = echo_back_CANFD_2; echoHandler_LPUART1=&LPUART1_UART_Handler; echoHandler_LPUART1->UART_Decode = echo_back_LPUART1; echoHandler_LPUART1->Wait_time = 10; } void echo_back_485_1(uint8_t *buffer, uint16_t length) { memcpy(echoHandler_485_1->Tx_Buf, buffer, length); echoHandler_485_1->TxCount = length; echoHandler_485_1->UART_Tx(echoHandler_485_1); } void echo_back_485_2(uint8_t *buffer, uint16_t length) { // memcpy(echoHandler_485_2->Tx_Buf, buffer, length); // echoHandler_485_2->TxCount = length; // echoHandler_485_2->UART_Tx(echoHandler_485_2); memcpy(echoHandler_485_1->Tx_Buf, buffer, length); echoHandler_485_1->TxCount = length; echoHandler_485_1->UART_Tx(echoHandler_485_1); } void echo_back_485_3(uint8_t *buffer, uint16_t length) { memcpy(echoHandler_485_3->Tx_Buf, buffer, length); echoHandler_485_3->TxCount = length; echoHandler_485_3->UART_Tx(echoHandler_485_3); } void echo_back_485_4(uint8_t *buffer, uint16_t length) { memcpy(echoHandler_485_4->Tx_Buf, buffer, length); echoHandler_485_4->TxCount = length; echoHandler_485_4->UART_Tx(echoHandler_485_4); } void echo_back_InterCall_DEBUG(uint8_t *buffer, uint16_t length) { memcpy(echoHandler_InterCall_DEBUG->Tx_Buf, buffer, length); echoHandler_InterCall_DEBUG->TxCount = length; echoHandler_InterCall_DEBUG->UART_Tx(echoHandler_InterCall_DEBUG); } void echo_back_SBUS(uint8_t *buffer, uint16_t length) { // memcpy(echoHandler_E28_SBUS_UART->Tx_Buf, buffer, length); // echoHandler_E28_SBUS_UART->TxCount = length; // echoHandler_E28_SBUS_UART->UART_Tx(echoHandler_E28_SBUS_UART); memcpy(echoHandler_485_1->Tx_Buf, buffer, length); echoHandler_485_1->TxCount = length; echoHandler_485_1->UART_Tx(echoHandler_485_1); } void echo_back_LTE_7S0_Serial(uint8_t *buffer, uint16_t length) { memcpy(echoHandler_LTE_7S0_Serial_UART->Tx_Buf, buffer, length); echoHandler_LTE_7S0_Serial_UART->TxCount = length; echoHandler_LTE_7S0_Serial_UART->UART_Tx(echoHandler_LTE_7S0_Serial_UART); } void echo_back_LPUART1(uint8_t *buffer, uint16_t length) { memcpy(echoHandler_LPUART1->Tx_Buf, buffer, length); echoHandler_LPUART1->TxCount = length; echoHandler_LPUART1->UART_Tx(echoHandler_LPUART1); } void echo_back_CANFD_1(uint32_t canID, uint8_t *buffer, uint32_t length) { memcpy(echo_CANFD_1->Tx_Buf,buffer,length); echo_CANFD_1->Tx_Buf[0] = canID*2; echo_CANFD_1->AddCANSendList(echo_CANFD_1, canID*2, length, echo_CANFD_1->Tx_Buf, 2, NULL); } void echo_back_CANFD_2(uint32_t canID, uint8_t *buffer, uint32_t length) { memcpy(echo_CANFD_2->Tx_Buf,buffer,length); echo_CANFD_2->Tx_Buf[0] = canID*2; echo_CANFD_2->AddCANSendList(echo_CANFD_2, canID*2, length, echo_CANFD_2->Tx_Buf, 2, NULL); // }