短的新大板V2630 测试程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

184 lines
5.7 KiB

/*
* 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);
void echo_back_Airborne_UART(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;
struct UARTHandler *echoHandler_Airborne_UART;
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 = &LTE_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;
echoHandler_Airborne_UART = &Airborne_UART_Handler;
echoHandler_Airborne_UART->UART_Decode = echo_back_Airborne_UART;
echoHandler_Airborne_UART->Wait_time = 10;
}
void echo_back_485_1(uint8_t *buffer, uint16_t length) {
if (buffer[0] == 1) {
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) {
if (buffer[0] == 2) {
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) {
if (buffer[0] == 3) {
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) {
if (buffer[0] == 4) {
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) {
if (buffer[0] == 5)
{
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_Airborne_UART(uint8_t *buffer, uint16_t length) {
memcpy(echoHandler_Airborne_UART->Tx_Buf, buffer, length);
echoHandler_Airborne_UART->TxCount = length;
echoHandler_Airborne_UART->UART_Tx(echoHandler_Airborne_UART);
}
void echo_back_LTE_7S0_Serial(uint8_t *buffer, uint16_t length) {
if (buffer[0] == 6) {
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) {
//if (buffer[0] == 7) {
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) {
if (canID == 0x01) {
memcpy(echo_CANFD_1->Tx_Buf, buffer, length);
echo_CANFD_1->AddCANSendList(echo_CANFD_1, 0x01, length,
echo_CANFD_1->Tx_Buf, 2, NULL); //
}
}
void echo_back_CANFD_2(uint32_t canID, uint8_t *buffer, uint32_t length) {
if (canID == 0x02) {
memcpy(echo_CANFD_2->Tx_Buf, buffer, length);
echo_CANFD_2->AddCANSendList(echo_CANFD_2, 0x02, length,
echo_CANFD_2->Tx_Buf, 2, NULL);
}
}