soft_terrain.c 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "soft_terrain.h"
  2. #include "soft_device.h"
  3. #include "soft_obstacle.h"
  4. #include "soft_can.h"
  5. #include "string.h"
  6. uavr_terrain uavr56_info = {.get_radar_sensi = 50};
  7. uavr_terrain mimo_ter_info;
  8. /**
  9. * @file can_recv_mocib_terrain
  10. * @brief 莫之比防地解析
  11. * @param none
  12. * @details
  13. * @author Zhang Sir
  14. **/
  15. void can_recv_mocib_terrain(uint8_t *data)
  16. {
  17. uavr56_info.height = (data[0] << 8) + data[1];
  18. uavr56_info.Link.recv_time = HAL_GetTick();
  19. uavr56_info.Link.connect_status = COMP_NORMAL;
  20. }
  21. /**
  22. * @file can_recv_enzhao_terrain
  23. * @brief 恩曌防地解析
  24. * @param none
  25. * @details
  26. * @author Zhang Sir
  27. **/
  28. mimo_part_radar T_radar[5] = {0};
  29. void can_recv_enzhao_terrain(uint32_t CanID, uint8_t data[], uint8_t len)
  30. {
  31. switch (CanID)
  32. {
  33. case CAN_MIMO_T_ID: //单点雷达
  34. mimo_ter_info.crc = data[3] + data[4] + data[5] + data[6];
  35. if (data[7] == mimo_ter_info.crc)
  36. {
  37. mimo_ter_info.height = (256 * data[4]) + (data[3]); //cm
  38. // printf("%d %d\n", mimo_ter_info.height, m.muniu_hight); //输出到串口助手上 需要pringtf重定向
  39. }
  40. mimo_ter_info.Link.recv_time = HAL_GetTick();
  41. mimo_ter_info.Link.connect_status = COMP_NORMAL;
  42. Dev.Radar.facid_T = FAC_MIMO_RT;
  43. break;
  44. case CAN_MIMO_T_ID1:
  45. memcpy(&T_radar[0], data, 8);
  46. Dev.Part_Tradar_Link.recv_time = HAL_GetTick();
  47. Dev.Part_Tradar_Link.connect_status = COMP_NORMAL;
  48. Dev.Part_radarT.facid = FAC_MIMO_RT;
  49. break;
  50. case CAN_MIMO_T_ID2:
  51. memcpy(&T_radar[1], data, 8);
  52. break;
  53. case CAN_MIMO_T_ID3:
  54. memcpy(&T_radar[2], data, 8);
  55. break;
  56. case CAN_MIMO_T_ID4:
  57. memcpy(&T_radar[3], data, 8);
  58. break;
  59. case CAN_MIMO_T_ID5:
  60. memcpy(&T_radar[4], data, 8);
  61. break;
  62. default:
  63. break;
  64. }
  65. }