Browse Source

fix(driver_radar_conti_ars408):finish radar config and add producer/consumer model. but this module is not finished

孙嘉城 3 years ago
parent
commit
2146a7acb7
67 changed files with 7303 additions and 4100 deletions
  1. 39 31
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-binutil.c
  2. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-binutil.h
  3. 2 2
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-config.h
  4. 31 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-fmon.c
  5. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-fmon.h
  6. 338 188
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0.c
  7. 335 159
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0.h
  8. 34 26
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-binutil.c
  9. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-binutil.h
  10. 2 2
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-config.h
  11. 31 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-fmon.c
  12. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-fmon.h
  13. 366 216
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1.c
  14. 372 200
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1.h
  15. 34 26
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-binutil.c
  16. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-binutil.h
  17. 2 2
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-config.h
  18. 31 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-fmon.c
  19. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-fmon.h
  20. 366 216
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2.c
  21. 372 200
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2.h
  22. 34 26
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-binutil.c
  23. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-binutil.h
  24. 2 2
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-config.h
  25. 31 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-fmon.c
  26. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-fmon.h
  27. 366 216
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3.c
  28. 372 200
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3.h
  29. 34 26
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-binutil.c
  30. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-binutil.h
  31. 2 2
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-config.h
  32. 31 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-fmon.c
  33. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-fmon.h
  34. 366 216
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4.c
  35. 372 200
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4.h
  36. 34 26
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-binutil.c
  37. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-binutil.h
  38. 2 2
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-config.h
  39. 31 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-fmon.c
  40. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-fmon.h
  41. 366 216
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5.c
  42. 372 200
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5.h
  43. 34 26
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-binutil.c
  44. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-binutil.h
  45. 2 2
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-config.h
  46. 31 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-fmon.c
  47. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-fmon.h
  48. 366 216
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6.c
  49. 372 200
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6.h
  50. 34 26
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-binutil.c
  51. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-binutil.h
  52. 2 2
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-config.h
  53. 31 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-fmon.c
  54. 23 21
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-fmon.h
  55. 366 216
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7.c
  56. 372 200
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7.h
  57. 1 1
      src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/dbccodeconf.h
  58. 8 8
      src/driver/driver_radar_continental_ARS408_SRR308/CollDetRegion_Cfg.yaml
  59. 12 5
      src/driver/driver_radar_continental_ARS408_SRR308/CollDet_Cfg.yaml
  60. 15 15
      src/driver/driver_radar_continental_ARS408_SRR308/Filter_Cfg.yaml
  61. 8 9
      src/driver/driver_radar_continental_ARS408_SRR308/PolygonFilter_Cfg.yaml
  62. 46 0
      src/driver/driver_radar_continental_ARS408_SRR308/Radar_Cfg.yaml
  63. 167 0
      src/driver/driver_radar_continental_ARS408_SRR308/decode_cfg.cpp
  64. 44 0
      src/driver/driver_radar_continental_ARS408_SRR308/decode_cfg.h
  65. 74 3
      src/driver/driver_radar_continental_ARS408_SRR308/driver_radar_continental_ARS408_SRR308.pro
  66. 10 29
      src/driver/driver_radar_continental_ARS408_SRR308/driver_radar_continental_ARS408_SRR308.xml
  67. 170 38
      src/driver/driver_radar_continental_ARS408_SRR308/main.cpp

+ 39 - 31
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-binutil.c

@@ -9,82 +9,90 @@ ars408_can_database_ch0_rx_t ars408_can_database_ch0_rx;
 uint32_t ars408_can_database_ch0_Receive(ars408_can_database_ch0_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_)
 uint32_t ars408_can_database_ch0_Receive(ars408_can_database_ch0_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_)
 {
 {
  uint32_t recid = 0;
  uint32_t recid = 0;
- if ((_id >= 0x8U) && (_id < 0x402U)) {
+ if ((_id >= 0x8U) && (_id < 0x401U)) {
   if ((_id >= 0x8U) && (_id < 0x204U)) {
   if ((_id >= 0x8U) && (_id < 0x204U)) {
    if ((_id >= 0x8U) && (_id < 0x201U)) {
    if ((_id >= 0x8U) && (_id < 0x201U)) {
     if (_id == 0x8U) {
     if (_id == 0x8U) {
-     recid = Unpack_CollDetRelayCtrl_ARS408_can_database_ch0(&(_m->CollDetRelayCtrl), _d, dlc_);
+     recid = Unpack_CollDetRelayCtrl_ch0_ARS408_can_database_ch0(&(_m->CollDetRelayCtrl_ch0), _d, dlc_);
     } else if (_id == 0x200U) {
     } else if (_id == 0x200U) {
-     recid = Unpack_RadarConfiguration_ARS408_can_database_ch0(&(_m->RadarConfiguration), _d, dlc_);
+     recid = Unpack_RadarConfiguration_ch0_ARS408_can_database_ch0(&(_m->RadarConfiguration_ch0), _d, dlc_);
     }
     }
    } else {
    } else {
     if (_id == 0x201U) {
     if (_id == 0x201U) {
-     recid = Unpack_RadarState_ARS408_can_database_ch0(&(_m->RadarState), _d, dlc_);
+     recid = Unpack_RadarState_ch0_ARS408_can_database_ch0(&(_m->RadarState_ch0), _d, dlc_);
     } else {
     } else {
      if (_id == 0x202U) {
      if (_id == 0x202U) {
-      recid = Unpack_FilterCfg_ARS408_can_database_ch0(&(_m->FilterCfg), _d, dlc_);
+      recid = Unpack_FilterCfg_ch0_ARS408_can_database_ch0(&(_m->FilterCfg_ch0), _d, dlc_);
      } else if (_id == 0x203U) {
      } else if (_id == 0x203U) {
-      recid = Unpack_FilterState_Header_ARS408_can_database_ch0(&(_m->FilterState_Header), _d, dlc_);
+      recid = Unpack_FilterState_Header_ch0_ARS408_can_database_ch0(&(_m->FilterState_Header_ch0), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
-   if ((_id >= 0x204U) && (_id < 0x301U)) {
+   if ((_id >= 0x204U) && (_id < 0x300U)) {
     if (_id == 0x204U) {
     if (_id == 0x204U) {
-     recid = Unpack_FilterState_Cfg_ARS408_can_database_ch0(&(_m->FilterState_Cfg), _d, dlc_);
-    } else if (_id == 0x300U) {
-     recid = Unpack_SpeedInformation_ARS408_can_database_ch0(&(_m->SpeedInformation), _d, dlc_);
+     recid = Unpack_FilterState_Cfg_ch0_ARS408_can_database_ch0(&(_m->FilterState_Cfg_ch0), _d, dlc_);
+    } else {
+     if (_id == 0x205U) {
+      recid = Unpack_PolygonFilter_Cfg_ch0_ARS408_can_database_ch0(&(_m->PolygonFilter_Cfg_ch0), _d, dlc_);
+     } else if (_id == 0x206U) {
+      recid = Unpack_PolygonFilter_State_ch0_ARS408_can_database_ch0(&(_m->PolygonFilter_State_ch0), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
-    if (_id == 0x301U) {
-     recid = Unpack_YawRateInformation_ARS408_can_database_ch0(&(_m->YawRateInformation), _d, dlc_);
+    if (_id == 0x300U) {
+     recid = Unpack_SpeedInformation_ch0_ARS408_can_database_ch0(&(_m->SpeedInformation_ch0), _d, dlc_);
     } else {
     } else {
-     if (_id == 0x400U) {
-      recid = Unpack_CollDetCfg_ARS408_can_database_ch0(&(_m->CollDetCfg), _d, dlc_);
-     } else if (_id == 0x401U) {
-      recid = Unpack_CollDetRegionCfg_ARS408_can_database_ch0(&(_m->CollDetRegionCfg), _d, dlc_);
+     if (_id == 0x301U) {
+      recid = Unpack_YawRateInformation_ch0_ARS408_can_database_ch0(&(_m->YawRateInformation_ch0), _d, dlc_);
+     } else if (_id == 0x400U) {
+      recid = Unpack_CollDetCfg_ch0_ARS408_can_database_ch0(&(_m->CollDetCfg_ch0), _d, dlc_);
      }
      }
     }
     }
    }
    }
   }
   }
  } else {
  } else {
-  if ((_id >= 0x402U) && (_id < 0x60CU)) {
-   if ((_id >= 0x402U) && (_id < 0x600U)) {
-    if (_id == 0x402U) {
-     recid = Unpack_CollDetRegionState_ARS408_can_database_ch0(&(_m->CollDetRegionState), _d, dlc_);
-    } else if (_id == 0x408U) {
-     recid = Unpack_CollDetState_ARS408_can_database_ch0(&(_m->CollDetState), _d, dlc_);
+  if ((_id >= 0x401U) && (_id < 0x60CU)) {
+   if ((_id >= 0x401U) && (_id < 0x600U)) {
+    if (_id == 0x401U) {
+     recid = Unpack_CollDetRegionCfg_ch0_ARS408_can_database_ch0(&(_m->CollDetRegionCfg_ch0), _d, dlc_);
+    } else {
+     if (_id == 0x402U) {
+      recid = Unpack_CollDetRegionState_ch0_ARS408_can_database_ch0(&(_m->CollDetRegionState_ch0), _d, dlc_);
+     } else if (_id == 0x408U) {
+      recid = Unpack_CollDetState_ch0_ARS408_can_database_ch0(&(_m->CollDetState_ch0), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
     if (_id == 0x600U) {
     if (_id == 0x600U) {
-     recid = Unpack_Cluster_0_Status_ARS408_can_database_ch0(&(_m->Cluster_0_Status), _d, dlc_);
+     recid = Unpack_Cluster_0_Status_ch0_ARS408_can_database_ch0(&(_m->Cluster_0_Status_ch0), _d, dlc_);
     } else {
     } else {
      if (_id == 0x60AU) {
      if (_id == 0x60AU) {
-      recid = Unpack_Obj_0_Status_ARS408_can_database_ch0(&(_m->Obj_0_Status), _d, dlc_);
+      recid = Unpack_Obj_0_Status_ch0_ARS408_can_database_ch0(&(_m->Obj_0_Status_ch0), _d, dlc_);
      } else if (_id == 0x60BU) {
      } else if (_id == 0x60BU) {
-      recid = Unpack_Obj_1_General_ARS408_can_database_ch0(&(_m->Obj_1_General), _d, dlc_);
+      recid = Unpack_Obj_1_General_ch0_ARS408_can_database_ch0(&(_m->Obj_1_General_ch0), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
    if ((_id >= 0x60CU) && (_id < 0x700U)) {
    if ((_id >= 0x60CU) && (_id < 0x700U)) {
     if (_id == 0x60CU) {
     if (_id == 0x60CU) {
-     recid = Unpack_Obj_2_Quality_ARS408_can_database_ch0(&(_m->Obj_2_Quality), _d, dlc_);
+     recid = Unpack_Obj_2_Quality_ch0_ARS408_can_database_ch0(&(_m->Obj_2_Quality_ch0), _d, dlc_);
     } else {
     } else {
      if (_id == 0x60DU) {
      if (_id == 0x60DU) {
-      recid = Unpack_Obj_3_Extended_ARS408_can_database_ch0(&(_m->Obj_3_Extended), _d, dlc_);
+      recid = Unpack_Obj_3_Extended_ch0_ARS408_can_database_ch0(&(_m->Obj_3_Extended_ch0), _d, dlc_);
      } else if (_id == 0x60EU) {
      } else if (_id == 0x60EU) {
-      recid = Unpack_Obj_4_Warning_ARS408_can_database_ch0(&(_m->Obj_4_Warning), _d, dlc_);
+      recid = Unpack_Obj_4_Warning_ch0_ARS408_can_database_ch0(&(_m->Obj_4_Warning_ch0), _d, dlc_);
      }
      }
     }
     }
    } else {
    } else {
     if (_id == 0x700U) {
     if (_id == 0x700U) {
-     recid = Unpack_VersionID_ARS408_can_database_ch0(&(_m->VersionID), _d, dlc_);
+     recid = Unpack_VersionID_ch0_ARS408_can_database_ch0(&(_m->VersionID_ch0), _d, dlc_);
     } else {
     } else {
      if (_id == 0x701U) {
      if (_id == 0x701U) {
-      recid = Unpack_Cluster_1_General_ARS408_can_database_ch0(&(_m->Cluster_1_General), _d, dlc_);
+      recid = Unpack_Cluster_1_General_ch0_ARS408_can_database_ch0(&(_m->Cluster_1_General_ch0), _d, dlc_);
      } else if (_id == 0x702U) {
      } else if (_id == 0x702U) {
-      recid = Unpack_Cluster_2_Quality_ARS408_can_database_ch0(&(_m->Cluster_2_Quality), _d, dlc_);
+      recid = Unpack_Cluster_2_Quality_ch0_ARS408_can_database_ch0(&(_m->Cluster_2_Quality_ch0), _d, dlc_);
      }
      }
     }
     }
    }
    }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-binutil.h

@@ -15,27 +15,29 @@ extern "C" {
 
 
 typedef struct
 typedef struct
 {
 {
-  CollDetRelayCtrl_t CollDetRelayCtrl;
-  RadarConfiguration_t RadarConfiguration;
-  RadarState_t RadarState;
-  FilterCfg_t FilterCfg;
-  FilterState_Header_t FilterState_Header;
-  FilterState_Cfg_t FilterState_Cfg;
-  SpeedInformation_t SpeedInformation;
-  YawRateInformation_t YawRateInformation;
-  CollDetCfg_t CollDetCfg;
-  CollDetRegionCfg_t CollDetRegionCfg;
-  CollDetRegionState_t CollDetRegionState;
-  CollDetState_t CollDetState;
-  Cluster_0_Status_t Cluster_0_Status;
-  Obj_0_Status_t Obj_0_Status;
-  Obj_1_General_t Obj_1_General;
-  Obj_2_Quality_t Obj_2_Quality;
-  Obj_3_Extended_t Obj_3_Extended;
-  Obj_4_Warning_t Obj_4_Warning;
-  VersionID_t VersionID;
-  Cluster_1_General_t Cluster_1_General;
-  Cluster_2_Quality_t Cluster_2_Quality;
+  CollDetRelayCtrl_ch0_t CollDetRelayCtrl_ch0;
+  RadarConfiguration_ch0_t RadarConfiguration_ch0;
+  RadarState_ch0_t RadarState_ch0;
+  FilterCfg_ch0_t FilterCfg_ch0;
+  FilterState_Header_ch0_t FilterState_Header_ch0;
+  FilterState_Cfg_ch0_t FilterState_Cfg_ch0;
+  PolygonFilter_Cfg_ch0_t PolygonFilter_Cfg_ch0;
+  PolygonFilter_State_ch0_t PolygonFilter_State_ch0;
+  SpeedInformation_ch0_t SpeedInformation_ch0;
+  YawRateInformation_ch0_t YawRateInformation_ch0;
+  CollDetCfg_ch0_t CollDetCfg_ch0;
+  CollDetRegionCfg_ch0_t CollDetRegionCfg_ch0;
+  CollDetRegionState_ch0_t CollDetRegionState_ch0;
+  CollDetState_ch0_t CollDetState_ch0;
+  Cluster_0_Status_ch0_t Cluster_0_Status_ch0;
+  Obj_0_Status_ch0_t Obj_0_Status_ch0;
+  Obj_1_General_ch0_t Obj_1_General_ch0;
+  Obj_2_Quality_ch0_t Obj_2_Quality_ch0;
+  Obj_3_Extended_ch0_t Obj_3_Extended_ch0;
+  Obj_4_Warning_ch0_t Obj_4_Warning_ch0;
+  VersionID_ch0_t VersionID_ch0;
+  Cluster_1_General_ch0_t Cluster_1_General_ch0;
+  Cluster_2_Quality_ch0_t Cluster_2_Quality_ch0;
 } ars408_can_database_ch0_rx_t;
 } ars408_can_database_ch0_rx_t;
 
 
 // There is no any TX mapped massage.
 // There is no any TX mapped massage.

+ 2 - 2
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-config.h

@@ -47,7 +47,7 @@
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   User have to use '_phys' signal to read physical value. */
   User have to use '_phys' signal to read physical value. */
 
 
-/* #define ARS408_CAN_DATABASE_CH0_USE_SIGFLOAT */
+ #define ARS408_CAN_DATABASE_CH0_USE_SIGFLOAT
 
 
 
 
 /* ------------------------------------------------------------------------- *
 /* ------------------------------------------------------------------------- *
@@ -103,7 +103,7 @@
   and loaded to payload
   and loaded to payload
 
 
   In unpack function checksum signal is checked with calculated.
   In unpack function checksum signal is checked with calculated.
-  (result may be tested in dedicated Fmon_*** function).
+  (result may be tested in dedicated Fmon_*** function). */
 
 
 /* #define ARS408_CAN_DATABASE_CH0_AUTO_CSM */
 /* #define ARS408_CAN_DATABASE_CH0_AUTO_CSM */
 
 

+ 31 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-fmon.c

@@ -7,107 +7,117 @@ Put the monitor function content here, keep in mind -
 next generation will completely clear all manually added code (!)
 next generation will completely clear all manually added code (!)
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarConfiguration_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_RadarConfiguration_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarState_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_RadarState_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterCfg_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_FilterCfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Header_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_FilterState_Header_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Cfg_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_FilterState_Cfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_SpeedInformation_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_YawRateInformation_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_State_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetCfg_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionCfg_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_YawRateInformation_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionState_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetState_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_CollDetRegionCfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_0_Status_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_CollDetRegionState_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_0_Status_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_CollDetState_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_1_General_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_Cluster_0_Status_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_2_Quality_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_Obj_0_Status_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_3_Extended_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_Obj_1_General_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_4_Warning_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_Obj_2_Quality_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_VersionID_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_Obj_3_Extended_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_1_General_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_Obj_4_Warning_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_2_Quality_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_VersionID_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_1_General_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_2_Quality_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0-fmon.h

@@ -20,27 +20,29 @@ It is the user responsibility to defined these functions in the
 separated .c file. If it won't be done the linkage error will happen
 separated .c file. If it won't be done the linkage error will happen
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_RadarConfiguration_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_RadarState_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_FilterCfg_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_FilterState_Header_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_FilterState_Cfg_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_SpeedInformation_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_YawRateInformation_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_CollDetCfg_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_CollDetRegionCfg_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_CollDetRegionState_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_CollDetState_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_Cluster_0_Status_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_Obj_0_Status_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_Obj_1_General_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_Obj_2_Quality_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_Obj_3_Extended_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_Obj_4_Warning_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_VersionID_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_Cluster_1_General_ars408_can_database_ch0(FrameMonitor_t* _mon);
-void FMon_Cluster_2_Quality_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_CollDetRelayCtrl_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_RadarConfiguration_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_RadarState_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_FilterCfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_FilterState_Header_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_FilterState_Cfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_Cfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_State_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_SpeedInformation_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_YawRateInformation_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_CollDetCfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_CollDetRegionCfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_CollDetRegionState_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_CollDetState_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_Cluster_0_Status_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_Obj_0_Status_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_Obj_1_General_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_Obj_2_Quality_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_Obj_3_Extended_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_Obj_4_Warning_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_VersionID_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_Cluster_1_General_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
+void FMon_Cluster_2_Quality_ch0_ars408_can_database_ch0(FrameMonitor_t* _mon);
 
 
 #endif // ARS408_CAN_DATABASE_CH0_USE_DIAG_MONITORS
 #endif // ARS408_CAN_DATABASE_CH0_USE_DIAG_MONITORS
 
 

File diff suppressed because it is too large
+ 338 - 188
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0.c


File diff suppressed because it is too large
+ 335 - 159
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch0.h


+ 34 - 26
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-binutil.c

@@ -13,36 +13,40 @@ uint32_t ars408_can_database_ch1_Receive(ars408_can_database_ch1_rx_t* _m, const
   if ((_id >= 0x8U) && (_id < 0x214U)) {
   if ((_id >= 0x8U) && (_id < 0x214U)) {
    if ((_id >= 0x8U) && (_id < 0x211U)) {
    if ((_id >= 0x8U) && (_id < 0x211U)) {
     if (_id == 0x8U) {
     if (_id == 0x8U) {
-     recid = Unpack_CollDetRelayCtrl_ARS408_can_database_ch1(&(_m->CollDetRelayCtrl), _d, dlc_);
+     recid = Unpack_CollDetRelayCtrl_ch1_ARS408_can_database_ch1(&(_m->CollDetRelayCtrl_ch1), _d, dlc_);
     } else if (_id == 0x210U) {
     } else if (_id == 0x210U) {
-     recid = Unpack_RadarConfiguration_ARS408_can_database_ch1(&(_m->RadarConfiguration), _d, dlc_);
+     recid = Unpack_RadarConfiguration_ch1_ARS408_can_database_ch1(&(_m->RadarConfiguration_ch1), _d, dlc_);
     }
     }
    } else {
    } else {
     if (_id == 0x211U) {
     if (_id == 0x211U) {
-     recid = Unpack_RadarState_ARS408_can_database_ch1(&(_m->RadarState), _d, dlc_);
+     recid = Unpack_RadarState_ch1_ARS408_can_database_ch1(&(_m->RadarState_ch1), _d, dlc_);
     } else {
     } else {
      if (_id == 0x212U) {
      if (_id == 0x212U) {
-      recid = Unpack_FilterCfg_ARS408_can_database_ch1(&(_m->FilterCfg), _d, dlc_);
+      recid = Unpack_FilterCfg_ch1_ARS408_can_database_ch1(&(_m->FilterCfg_ch1), _d, dlc_);
      } else if (_id == 0x213U) {
      } else if (_id == 0x213U) {
-      recid = Unpack_FilterState_Header_ARS408_can_database_ch1(&(_m->FilterState_Header), _d, dlc_);
+      recid = Unpack_FilterState_Header_ch1_ARS408_can_database_ch1(&(_m->FilterState_Header_ch1), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
-   if ((_id >= 0x214U) && (_id < 0x311U)) {
+   if ((_id >= 0x214U) && (_id < 0x310U)) {
     if (_id == 0x214U) {
     if (_id == 0x214U) {
-     recid = Unpack_FilterState_Cfg_ARS408_can_database_ch1(&(_m->FilterState_Cfg), _d, dlc_);
-    } else if (_id == 0x310U) {
-     recid = Unpack_SpeedInformation_ARS408_can_database_ch1(&(_m->SpeedInformation), _d, dlc_);
+     recid = Unpack_FilterState_Cfg_ch1_ARS408_can_database_ch1(&(_m->FilterState_Cfg_ch1), _d, dlc_);
+    } else {
+     if (_id == 0x215U) {
+      recid = Unpack_PolygonFilter_Cfg_ch1_ARS408_can_database_ch1(&(_m->PolygonFilter_Cfg_ch1), _d, dlc_);
+     } else if (_id == 0x216U) {
+      recid = Unpack_PolygonFilter_State_ch1_ARS408_can_database_ch1(&(_m->PolygonFilter_State_ch1), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
-    if (_id == 0x311U) {
-     recid = Unpack_YawRateInformation_ARS408_can_database_ch1(&(_m->YawRateInformation), _d, dlc_);
+    if (_id == 0x310U) {
+     recid = Unpack_SpeedInformation_ch1_ARS408_can_database_ch1(&(_m->SpeedInformation_ch1), _d, dlc_);
     } else {
     } else {
-     if (_id == 0x408U) {
-      recid = Unpack_CollDetState_ARS408_can_database_ch1(&(_m->CollDetState), _d, dlc_);
+     if (_id == 0x311U) {
+      recid = Unpack_YawRateInformation_ch1_ARS408_can_database_ch1(&(_m->YawRateInformation_ch1), _d, dlc_);
      } else if (_id == 0x410U) {
      } else if (_id == 0x410U) {
-      recid = Unpack_CollDetCfg_ARS408_can_database_ch1(&(_m->CollDetCfg), _d, dlc_);
+      recid = Unpack_CollDetCfg_ch1_ARS408_can_database_ch1(&(_m->CollDetCfg_ch1), _d, dlc_);
      }
      }
     }
     }
    }
    }
@@ -51,40 +55,44 @@ uint32_t ars408_can_database_ch1_Receive(ars408_can_database_ch1_rx_t* _m, const
   if ((_id >= 0x411U) && (_id < 0x61CU)) {
   if ((_id >= 0x411U) && (_id < 0x61CU)) {
    if ((_id >= 0x411U) && (_id < 0x610U)) {
    if ((_id >= 0x411U) && (_id < 0x610U)) {
     if (_id == 0x411U) {
     if (_id == 0x411U) {
-     recid = Unpack_CollDetRegionCfg_ARS408_can_database_ch1(&(_m->CollDetRegionCfg), _d, dlc_);
-    } else if (_id == 0x412U) {
-     recid = Unpack_CollDetRegionState_ARS408_can_database_ch1(&(_m->CollDetRegionState), _d, dlc_);
+     recid = Unpack_CollDetRegionCfg_ch1_ARS408_can_database_ch1(&(_m->CollDetRegionCfg_ch1), _d, dlc_);
+    } else {
+     if (_id == 0x412U) {
+      recid = Unpack_CollDetRegionState_ch1_ARS408_can_database_ch1(&(_m->CollDetRegionState_ch1), _d, dlc_);
+     } else if (_id == 0x418U) {
+      recid = Unpack_CollDetState_ch1_ARS408_can_database_ch1(&(_m->CollDetState_ch1), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
     if (_id == 0x610U) {
     if (_id == 0x610U) {
-     recid = Unpack_Cluster_0_Status_ARS408_can_database_ch1(&(_m->Cluster_0_Status), _d, dlc_);
+     recid = Unpack_Cluster_0_Status_ch1_ARS408_can_database_ch1(&(_m->Cluster_0_Status_ch1), _d, dlc_);
     } else {
     } else {
      if (_id == 0x61AU) {
      if (_id == 0x61AU) {
-      recid = Unpack_Obj_0_Status_ARS408_can_database_ch1(&(_m->Obj_0_Status), _d, dlc_);
+      recid = Unpack_Obj_0_Status_ch1_ARS408_can_database_ch1(&(_m->Obj_0_Status_ch1), _d, dlc_);
      } else if (_id == 0x61BU) {
      } else if (_id == 0x61BU) {
-      recid = Unpack_Obj_1_General_ARS408_can_database_ch1(&(_m->Obj_1_General), _d, dlc_);
+      recid = Unpack_Obj_1_General_ch1_ARS408_can_database_ch1(&(_m->Obj_1_General_ch1), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
    if ((_id >= 0x61CU) && (_id < 0x710U)) {
    if ((_id >= 0x61CU) && (_id < 0x710U)) {
     if (_id == 0x61CU) {
     if (_id == 0x61CU) {
-     recid = Unpack_Obj_2_Quality_ARS408_can_database_ch1(&(_m->Obj_2_Quality), _d, dlc_);
+     recid = Unpack_Obj_2_Quality_ch1_ARS408_can_database_ch1(&(_m->Obj_2_Quality_ch1), _d, dlc_);
     } else {
     } else {
      if (_id == 0x61DU) {
      if (_id == 0x61DU) {
-      recid = Unpack_Obj_3_Extended_ARS408_can_database_ch1(&(_m->Obj_3_Extended), _d, dlc_);
+      recid = Unpack_Obj_3_Extended_ch1_ARS408_can_database_ch1(&(_m->Obj_3_Extended_ch1), _d, dlc_);
      } else if (_id == 0x61EU) {
      } else if (_id == 0x61EU) {
-      recid = Unpack_Obj_4_Warning_ARS408_can_database_ch1(&(_m->Obj_4_Warning), _d, dlc_);
+      recid = Unpack_Obj_4_Warning_ch1_ARS408_can_database_ch1(&(_m->Obj_4_Warning_ch1), _d, dlc_);
      }
      }
     }
     }
    } else {
    } else {
     if (_id == 0x710U) {
     if (_id == 0x710U) {
-     recid = Unpack_VersionID_ARS408_can_database_ch1(&(_m->VersionID), _d, dlc_);
+     recid = Unpack_VersionID_ch1_ARS408_can_database_ch1(&(_m->VersionID_ch1), _d, dlc_);
     } else {
     } else {
      if (_id == 0x711U) {
      if (_id == 0x711U) {
-      recid = Unpack_Cluster_1_General_ARS408_can_database_ch1(&(_m->Cluster_1_General), _d, dlc_);
+      recid = Unpack_Cluster_1_General_ch1_ARS408_can_database_ch1(&(_m->Cluster_1_General_ch1), _d, dlc_);
      } else if (_id == 0x712U) {
      } else if (_id == 0x712U) {
-      recid = Unpack_Cluster_2_Quality_ARS408_can_database_ch1(&(_m->Cluster_2_Quality), _d, dlc_);
+      recid = Unpack_Cluster_2_Quality_ch1_ARS408_can_database_ch1(&(_m->Cluster_2_Quality_ch1), _d, dlc_);
      }
      }
     }
     }
    }
    }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-binutil.h

@@ -15,27 +15,29 @@ extern "C" {
 
 
 typedef struct
 typedef struct
 {
 {
-  CollDetRelayCtrl_t CollDetRelayCtrl;
-  RadarConfiguration_t RadarConfiguration;
-  RadarState_t RadarState;
-  FilterCfg_t FilterCfg;
-  FilterState_Header_t FilterState_Header;
-  FilterState_Cfg_t FilterState_Cfg;
-  SpeedInformation_t SpeedInformation;
-  YawRateInformation_t YawRateInformation;
-  CollDetState_t CollDetState;
-  CollDetCfg_t CollDetCfg;
-  CollDetRegionCfg_t CollDetRegionCfg;
-  CollDetRegionState_t CollDetRegionState;
-  Cluster_0_Status_t Cluster_0_Status;
-  Obj_0_Status_t Obj_0_Status;
-  Obj_1_General_t Obj_1_General;
-  Obj_2_Quality_t Obj_2_Quality;
-  Obj_3_Extended_t Obj_3_Extended;
-  Obj_4_Warning_t Obj_4_Warning;
-  VersionID_t VersionID;
-  Cluster_1_General_t Cluster_1_General;
-  Cluster_2_Quality_t Cluster_2_Quality;
+  CollDetRelayCtrl_ch1_t CollDetRelayCtrl_ch1;
+  RadarConfiguration_ch1_t RadarConfiguration_ch1;
+  RadarState_ch1_t RadarState_ch1;
+  FilterCfg_ch1_t FilterCfg_ch1;
+  FilterState_Header_ch1_t FilterState_Header_ch1;
+  FilterState_Cfg_ch1_t FilterState_Cfg_ch1;
+  PolygonFilter_Cfg_ch1_t PolygonFilter_Cfg_ch1;
+  PolygonFilter_State_ch1_t PolygonFilter_State_ch1;
+  SpeedInformation_ch1_t SpeedInformation_ch1;
+  YawRateInformation_ch1_t YawRateInformation_ch1;
+  CollDetCfg_ch1_t CollDetCfg_ch1;
+  CollDetRegionCfg_ch1_t CollDetRegionCfg_ch1;
+  CollDetRegionState_ch1_t CollDetRegionState_ch1;
+  CollDetState_ch1_t CollDetState_ch1;
+  Cluster_0_Status_ch1_t Cluster_0_Status_ch1;
+  Obj_0_Status_ch1_t Obj_0_Status_ch1;
+  Obj_1_General_ch1_t Obj_1_General_ch1;
+  Obj_2_Quality_ch1_t Obj_2_Quality_ch1;
+  Obj_3_Extended_ch1_t Obj_3_Extended_ch1;
+  Obj_4_Warning_ch1_t Obj_4_Warning_ch1;
+  VersionID_ch1_t VersionID_ch1;
+  Cluster_1_General_ch1_t Cluster_1_General_ch1;
+  Cluster_2_Quality_ch1_t Cluster_2_Quality_ch1;
 } ars408_can_database_ch1_rx_t;
 } ars408_can_database_ch1_rx_t;
 
 
 // There is no any TX mapped massage.
 // There is no any TX mapped massage.

+ 2 - 2
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-config.h

@@ -47,7 +47,7 @@
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   User have to use '_phys' signal to read physical value. */
   User have to use '_phys' signal to read physical value. */
 
 
-/* #define ARS408_CAN_DATABASE_CH1_USE_SIGFLOAT */
+ #define ARS408_CAN_DATABASE_CH1_USE_SIGFLOAT
 
 
 
 
 /* ------------------------------------------------------------------------- *
 /* ------------------------------------------------------------------------- *
@@ -103,7 +103,7 @@
   and loaded to payload
   and loaded to payload
 
 
   In unpack function checksum signal is checked with calculated.
   In unpack function checksum signal is checked with calculated.
-  (result may be tested in dedicated Fmon_*** function).
+  (result may be tested in dedicated Fmon_*** function). */
 
 
 /* #define ARS408_CAN_DATABASE_CH1_AUTO_CSM */
 /* #define ARS408_CAN_DATABASE_CH1_AUTO_CSM */
 
 

+ 31 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-fmon.c

@@ -7,107 +7,117 @@ Put the monitor function content here, keep in mind -
 next generation will completely clear all manually added code (!)
 next generation will completely clear all manually added code (!)
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarConfiguration_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_RadarConfiguration_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarState_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_RadarState_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterCfg_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_FilterCfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Header_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_FilterState_Header_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Cfg_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_FilterState_Cfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_SpeedInformation_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_YawRateInformation_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_State_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetState_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetCfg_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_YawRateInformation_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionCfg_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionState_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_CollDetRegionCfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_0_Status_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_CollDetRegionState_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_0_Status_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_CollDetState_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_1_General_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_Cluster_0_Status_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_2_Quality_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_Obj_0_Status_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_3_Extended_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_Obj_1_General_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_4_Warning_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_Obj_2_Quality_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_VersionID_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_Obj_3_Extended_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_1_General_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_Obj_4_Warning_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_2_Quality_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_VersionID_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_1_General_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_2_Quality_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1-fmon.h

@@ -20,27 +20,29 @@ It is the user responsibility to defined these functions in the
 separated .c file. If it won't be done the linkage error will happen
 separated .c file. If it won't be done the linkage error will happen
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_RadarConfiguration_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_RadarState_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_FilterCfg_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_FilterState_Header_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_FilterState_Cfg_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_SpeedInformation_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_YawRateInformation_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_CollDetState_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_CollDetCfg_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_CollDetRegionCfg_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_CollDetRegionState_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_Cluster_0_Status_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_Obj_0_Status_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_Obj_1_General_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_Obj_2_Quality_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_Obj_3_Extended_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_Obj_4_Warning_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_VersionID_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_Cluster_1_General_ars408_can_database_ch1(FrameMonitor_t* _mon);
-void FMon_Cluster_2_Quality_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_CollDetRelayCtrl_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_RadarConfiguration_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_RadarState_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_FilterCfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_FilterState_Header_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_FilterState_Cfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_Cfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_State_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_SpeedInformation_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_YawRateInformation_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_CollDetCfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_CollDetRegionCfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_CollDetRegionState_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_CollDetState_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_Cluster_0_Status_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_Obj_0_Status_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_Obj_1_General_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_Obj_2_Quality_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_Obj_3_Extended_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_Obj_4_Warning_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_VersionID_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_Cluster_1_General_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
+void FMon_Cluster_2_Quality_ch1_ars408_can_database_ch1(FrameMonitor_t* _mon);
 
 
 #endif // ARS408_CAN_DATABASE_CH1_USE_DIAG_MONITORS
 #endif // ARS408_CAN_DATABASE_CH1_USE_DIAG_MONITORS
 
 

File diff suppressed because it is too large
+ 366 - 216
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1.c


File diff suppressed because it is too large
+ 372 - 200
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch1.h


+ 34 - 26
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-binutil.c

@@ -13,36 +13,40 @@ uint32_t ars408_can_database_ch2_Receive(ars408_can_database_ch2_rx_t* _m, const
   if ((_id >= 0x8U) && (_id < 0x224U)) {
   if ((_id >= 0x8U) && (_id < 0x224U)) {
    if ((_id >= 0x8U) && (_id < 0x221U)) {
    if ((_id >= 0x8U) && (_id < 0x221U)) {
     if (_id == 0x8U) {
     if (_id == 0x8U) {
-     recid = Unpack_CollDetRelayCtrl_ARS408_can_database_ch2(&(_m->CollDetRelayCtrl), _d, dlc_);
+     recid = Unpack_CollDetRelayCtrl_ch2_ARS408_can_database_ch2(&(_m->CollDetRelayCtrl_ch2), _d, dlc_);
     } else if (_id == 0x220U) {
     } else if (_id == 0x220U) {
-     recid = Unpack_RadarConfiguration_ARS408_can_database_ch2(&(_m->RadarConfiguration), _d, dlc_);
+     recid = Unpack_RadarConfiguration_ch2_ARS408_can_database_ch2(&(_m->RadarConfiguration_ch2), _d, dlc_);
     }
     }
    } else {
    } else {
     if (_id == 0x221U) {
     if (_id == 0x221U) {
-     recid = Unpack_RadarState_ARS408_can_database_ch2(&(_m->RadarState), _d, dlc_);
+     recid = Unpack_RadarState_ch2_ARS408_can_database_ch2(&(_m->RadarState_ch2), _d, dlc_);
     } else {
     } else {
      if (_id == 0x222U) {
      if (_id == 0x222U) {
-      recid = Unpack_FilterCfg_ARS408_can_database_ch2(&(_m->FilterCfg), _d, dlc_);
+      recid = Unpack_FilterCfg_ch2_ARS408_can_database_ch2(&(_m->FilterCfg_ch2), _d, dlc_);
      } else if (_id == 0x223U) {
      } else if (_id == 0x223U) {
-      recid = Unpack_FilterState_Header_ARS408_can_database_ch2(&(_m->FilterState_Header), _d, dlc_);
+      recid = Unpack_FilterState_Header_ch2_ARS408_can_database_ch2(&(_m->FilterState_Header_ch2), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
-   if ((_id >= 0x224U) && (_id < 0x321U)) {
+   if ((_id >= 0x224U) && (_id < 0x320U)) {
     if (_id == 0x224U) {
     if (_id == 0x224U) {
-     recid = Unpack_FilterState_Cfg_ARS408_can_database_ch2(&(_m->FilterState_Cfg), _d, dlc_);
-    } else if (_id == 0x320U) {
-     recid = Unpack_SpeedInformation_ARS408_can_database_ch2(&(_m->SpeedInformation), _d, dlc_);
+     recid = Unpack_FilterState_Cfg_ch2_ARS408_can_database_ch2(&(_m->FilterState_Cfg_ch2), _d, dlc_);
+    } else {
+     if (_id == 0x225U) {
+      recid = Unpack_PolygonFilter_Cfg_ch2_ARS408_can_database_ch2(&(_m->PolygonFilter_Cfg_ch2), _d, dlc_);
+     } else if (_id == 0x226U) {
+      recid = Unpack_PolygonFilter_State_ch2_ARS408_can_database_ch2(&(_m->PolygonFilter_State_ch2), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
-    if (_id == 0x321U) {
-     recid = Unpack_YawRateInformation_ARS408_can_database_ch2(&(_m->YawRateInformation), _d, dlc_);
+    if (_id == 0x320U) {
+     recid = Unpack_SpeedInformation_ch2_ARS408_can_database_ch2(&(_m->SpeedInformation_ch2), _d, dlc_);
     } else {
     } else {
-     if (_id == 0x408U) {
-      recid = Unpack_CollDetState_ARS408_can_database_ch2(&(_m->CollDetState), _d, dlc_);
+     if (_id == 0x321U) {
+      recid = Unpack_YawRateInformation_ch2_ARS408_can_database_ch2(&(_m->YawRateInformation_ch2), _d, dlc_);
      } else if (_id == 0x420U) {
      } else if (_id == 0x420U) {
-      recid = Unpack_CollDetCfg_ARS408_can_database_ch2(&(_m->CollDetCfg), _d, dlc_);
+      recid = Unpack_CollDetCfg_ch2_ARS408_can_database_ch2(&(_m->CollDetCfg_ch2), _d, dlc_);
      }
      }
     }
     }
    }
    }
@@ -51,40 +55,44 @@ uint32_t ars408_can_database_ch2_Receive(ars408_can_database_ch2_rx_t* _m, const
   if ((_id >= 0x421U) && (_id < 0x62CU)) {
   if ((_id >= 0x421U) && (_id < 0x62CU)) {
    if ((_id >= 0x421U) && (_id < 0x620U)) {
    if ((_id >= 0x421U) && (_id < 0x620U)) {
     if (_id == 0x421U) {
     if (_id == 0x421U) {
-     recid = Unpack_CollDetRegionCfg_ARS408_can_database_ch2(&(_m->CollDetRegionCfg), _d, dlc_);
-    } else if (_id == 0x422U) {
-     recid = Unpack_CollDetRegionState_ARS408_can_database_ch2(&(_m->CollDetRegionState), _d, dlc_);
+     recid = Unpack_CollDetRegionCfg_ch2_ARS408_can_database_ch2(&(_m->CollDetRegionCfg_ch2), _d, dlc_);
+    } else {
+     if (_id == 0x422U) {
+      recid = Unpack_CollDetRegionState_ch2_ARS408_can_database_ch2(&(_m->CollDetRegionState_ch2), _d, dlc_);
+     } else if (_id == 0x428U) {
+      recid = Unpack_CollDetState_ch2_ARS408_can_database_ch2(&(_m->CollDetState_ch2), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
     if (_id == 0x620U) {
     if (_id == 0x620U) {
-     recid = Unpack_Cluster_0_Status_ARS408_can_database_ch2(&(_m->Cluster_0_Status), _d, dlc_);
+     recid = Unpack_Cluster_0_Status_ch2_ARS408_can_database_ch2(&(_m->Cluster_0_Status_ch2), _d, dlc_);
     } else {
     } else {
      if (_id == 0x62AU) {
      if (_id == 0x62AU) {
-      recid = Unpack_Obj_0_Status_ARS408_can_database_ch2(&(_m->Obj_0_Status), _d, dlc_);
+      recid = Unpack_Obj_0_Status_ch2_ARS408_can_database_ch2(&(_m->Obj_0_Status_ch2), _d, dlc_);
      } else if (_id == 0x62BU) {
      } else if (_id == 0x62BU) {
-      recid = Unpack_Obj_1_General_ARS408_can_database_ch2(&(_m->Obj_1_General), _d, dlc_);
+      recid = Unpack_Obj_1_General_ch2_ARS408_can_database_ch2(&(_m->Obj_1_General_ch2), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
    if ((_id >= 0x62CU) && (_id < 0x720U)) {
    if ((_id >= 0x62CU) && (_id < 0x720U)) {
     if (_id == 0x62CU) {
     if (_id == 0x62CU) {
-     recid = Unpack_Obj_2_Quality_ARS408_can_database_ch2(&(_m->Obj_2_Quality), _d, dlc_);
+     recid = Unpack_Obj_2_Quality_ch2_ARS408_can_database_ch2(&(_m->Obj_2_Quality_ch2), _d, dlc_);
     } else {
     } else {
      if (_id == 0x62DU) {
      if (_id == 0x62DU) {
-      recid = Unpack_Obj_3_Extended_ARS408_can_database_ch2(&(_m->Obj_3_Extended), _d, dlc_);
+      recid = Unpack_Obj_3_Extended_ch2_ARS408_can_database_ch2(&(_m->Obj_3_Extended_ch2), _d, dlc_);
      } else if (_id == 0x62EU) {
      } else if (_id == 0x62EU) {
-      recid = Unpack_Obj_4_Warning_ARS408_can_database_ch2(&(_m->Obj_4_Warning), _d, dlc_);
+      recid = Unpack_Obj_4_Warning_ch2_ARS408_can_database_ch2(&(_m->Obj_4_Warning_ch2), _d, dlc_);
      }
      }
     }
     }
    } else {
    } else {
     if (_id == 0x720U) {
     if (_id == 0x720U) {
-     recid = Unpack_VersionID_ARS408_can_database_ch2(&(_m->VersionID), _d, dlc_);
+     recid = Unpack_VersionID_ch2_ARS408_can_database_ch2(&(_m->VersionID_ch2), _d, dlc_);
     } else {
     } else {
      if (_id == 0x721U) {
      if (_id == 0x721U) {
-      recid = Unpack_Cluster_1_General_ARS408_can_database_ch2(&(_m->Cluster_1_General), _d, dlc_);
+      recid = Unpack_Cluster_1_General_ch2_ARS408_can_database_ch2(&(_m->Cluster_1_General_ch2), _d, dlc_);
      } else if (_id == 0x722U) {
      } else if (_id == 0x722U) {
-      recid = Unpack_Cluster_2_Quality_ARS408_can_database_ch2(&(_m->Cluster_2_Quality), _d, dlc_);
+      recid = Unpack_Cluster_2_Quality_ch2_ARS408_can_database_ch2(&(_m->Cluster_2_Quality_ch2), _d, dlc_);
      }
      }
     }
     }
    }
    }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-binutil.h

@@ -15,27 +15,29 @@ extern "C" {
 
 
 typedef struct
 typedef struct
 {
 {
-  CollDetRelayCtrl_t CollDetRelayCtrl;
-  RadarConfiguration_t RadarConfiguration;
-  RadarState_t RadarState;
-  FilterCfg_t FilterCfg;
-  FilterState_Header_t FilterState_Header;
-  FilterState_Cfg_t FilterState_Cfg;
-  SpeedInformation_t SpeedInformation;
-  YawRateInformation_t YawRateInformation;
-  CollDetState_t CollDetState;
-  CollDetCfg_t CollDetCfg;
-  CollDetRegionCfg_t CollDetRegionCfg;
-  CollDetRegionState_t CollDetRegionState;
-  Cluster_0_Status_t Cluster_0_Status;
-  Obj_0_Status_t Obj_0_Status;
-  Obj_1_General_t Obj_1_General;
-  Obj_2_Quality_t Obj_2_Quality;
-  Obj_3_Extended_t Obj_3_Extended;
-  Obj_4_Warning_t Obj_4_Warning;
-  VersionID_t VersionID;
-  Cluster_1_General_t Cluster_1_General;
-  Cluster_2_Quality_t Cluster_2_Quality;
+  CollDetRelayCtrl_ch2_t CollDetRelayCtrl_ch2;
+  RadarConfiguration_ch2_t RadarConfiguration_ch2;
+  RadarState_ch2_t RadarState_ch2;
+  FilterCfg_ch2_t FilterCfg_ch2;
+  FilterState_Header_ch2_t FilterState_Header_ch2;
+  FilterState_Cfg_ch2_t FilterState_Cfg_ch2;
+  PolygonFilter_Cfg_ch2_t PolygonFilter_Cfg_ch2;
+  PolygonFilter_State_ch2_t PolygonFilter_State_ch2;
+  SpeedInformation_ch2_t SpeedInformation_ch2;
+  YawRateInformation_ch2_t YawRateInformation_ch2;
+  CollDetCfg_ch2_t CollDetCfg_ch2;
+  CollDetRegionCfg_ch2_t CollDetRegionCfg_ch2;
+  CollDetRegionState_ch2_t CollDetRegionState_ch2;
+  CollDetState_ch2_t CollDetState_ch2;
+  Cluster_0_Status_ch2_t Cluster_0_Status_ch2;
+  Obj_0_Status_ch2_t Obj_0_Status_ch2;
+  Obj_1_General_ch2_t Obj_1_General_ch2;
+  Obj_2_Quality_ch2_t Obj_2_Quality_ch2;
+  Obj_3_Extended_ch2_t Obj_3_Extended_ch2;
+  Obj_4_Warning_ch2_t Obj_4_Warning_ch2;
+  VersionID_ch2_t VersionID_ch2;
+  Cluster_1_General_ch2_t Cluster_1_General_ch2;
+  Cluster_2_Quality_ch2_t Cluster_2_Quality_ch2;
 } ars408_can_database_ch2_rx_t;
 } ars408_can_database_ch2_rx_t;
 
 
 // There is no any TX mapped massage.
 // There is no any TX mapped massage.

+ 2 - 2
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-config.h

@@ -47,7 +47,7 @@
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   User have to use '_phys' signal to read physical value. */
   User have to use '_phys' signal to read physical value. */
 
 
-/* #define ARS408_CAN_DATABASE_CH2_USE_SIGFLOAT */
+ #define ARS408_CAN_DATABASE_CH2_USE_SIGFLOAT
 
 
 
 
 /* ------------------------------------------------------------------------- *
 /* ------------------------------------------------------------------------- *
@@ -103,7 +103,7 @@
   and loaded to payload
   and loaded to payload
 
 
   In unpack function checksum signal is checked with calculated.
   In unpack function checksum signal is checked with calculated.
-  (result may be tested in dedicated Fmon_*** function).
+  (result may be tested in dedicated Fmon_*** function). */
 
 
 /* #define ARS408_CAN_DATABASE_CH2_AUTO_CSM */
 /* #define ARS408_CAN_DATABASE_CH2_AUTO_CSM */
 
 

+ 31 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-fmon.c

@@ -7,107 +7,117 @@ Put the monitor function content here, keep in mind -
 next generation will completely clear all manually added code (!)
 next generation will completely clear all manually added code (!)
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarConfiguration_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_RadarConfiguration_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarState_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_RadarState_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterCfg_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_FilterCfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Header_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_FilterState_Header_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Cfg_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_FilterState_Cfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_SpeedInformation_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_YawRateInformation_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_State_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetState_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetCfg_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_YawRateInformation_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionCfg_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionState_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_CollDetRegionCfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_0_Status_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_CollDetRegionState_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_0_Status_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_CollDetState_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_1_General_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_Cluster_0_Status_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_2_Quality_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_Obj_0_Status_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_3_Extended_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_Obj_1_General_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_4_Warning_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_Obj_2_Quality_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_VersionID_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_Obj_3_Extended_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_1_General_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_Obj_4_Warning_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_2_Quality_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_VersionID_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_1_General_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_2_Quality_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2-fmon.h

@@ -20,27 +20,29 @@ It is the user responsibility to defined these functions in the
 separated .c file. If it won't be done the linkage error will happen
 separated .c file. If it won't be done the linkage error will happen
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_RadarConfiguration_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_RadarState_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_FilterCfg_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_FilterState_Header_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_FilterState_Cfg_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_SpeedInformation_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_YawRateInformation_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_CollDetState_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_CollDetCfg_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_CollDetRegionCfg_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_CollDetRegionState_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_Cluster_0_Status_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_Obj_0_Status_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_Obj_1_General_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_Obj_2_Quality_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_Obj_3_Extended_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_Obj_4_Warning_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_VersionID_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_Cluster_1_General_ars408_can_database_ch2(FrameMonitor_t* _mon);
-void FMon_Cluster_2_Quality_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_CollDetRelayCtrl_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_RadarConfiguration_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_RadarState_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_FilterCfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_FilterState_Header_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_FilterState_Cfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_Cfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_State_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_SpeedInformation_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_YawRateInformation_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_CollDetCfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_CollDetRegionCfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_CollDetRegionState_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_CollDetState_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_Cluster_0_Status_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_Obj_0_Status_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_Obj_1_General_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_Obj_2_Quality_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_Obj_3_Extended_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_Obj_4_Warning_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_VersionID_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_Cluster_1_General_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
+void FMon_Cluster_2_Quality_ch2_ars408_can_database_ch2(FrameMonitor_t* _mon);
 
 
 #endif // ARS408_CAN_DATABASE_CH2_USE_DIAG_MONITORS
 #endif // ARS408_CAN_DATABASE_CH2_USE_DIAG_MONITORS
 
 

File diff suppressed because it is too large
+ 366 - 216
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2.c


File diff suppressed because it is too large
+ 372 - 200
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch2.h


+ 34 - 26
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-binutil.c

@@ -13,36 +13,40 @@ uint32_t ars408_can_database_ch3_Receive(ars408_can_database_ch3_rx_t* _m, const
   if ((_id >= 0x8U) && (_id < 0x234U)) {
   if ((_id >= 0x8U) && (_id < 0x234U)) {
    if ((_id >= 0x8U) && (_id < 0x231U)) {
    if ((_id >= 0x8U) && (_id < 0x231U)) {
     if (_id == 0x8U) {
     if (_id == 0x8U) {
-     recid = Unpack_CollDetRelayCtrl_ARS408_can_database_ch3(&(_m->CollDetRelayCtrl), _d, dlc_);
+     recid = Unpack_CollDetRelayCtrl_ch3_ARS408_can_database_ch3(&(_m->CollDetRelayCtrl_ch3), _d, dlc_);
     } else if (_id == 0x230U) {
     } else if (_id == 0x230U) {
-     recid = Unpack_RadarConfiguration_ARS408_can_database_ch3(&(_m->RadarConfiguration), _d, dlc_);
+     recid = Unpack_RadarConfiguration_ch3_ARS408_can_database_ch3(&(_m->RadarConfiguration_ch3), _d, dlc_);
     }
     }
    } else {
    } else {
     if (_id == 0x231U) {
     if (_id == 0x231U) {
-     recid = Unpack_RadarState_ARS408_can_database_ch3(&(_m->RadarState), _d, dlc_);
+     recid = Unpack_RadarState_ch3_ARS408_can_database_ch3(&(_m->RadarState_ch3), _d, dlc_);
     } else {
     } else {
      if (_id == 0x232U) {
      if (_id == 0x232U) {
-      recid = Unpack_FilterCfg_ARS408_can_database_ch3(&(_m->FilterCfg), _d, dlc_);
+      recid = Unpack_FilterCfg_ch3_ARS408_can_database_ch3(&(_m->FilterCfg_ch3), _d, dlc_);
      } else if (_id == 0x233U) {
      } else if (_id == 0x233U) {
-      recid = Unpack_FilterState_Header_ARS408_can_database_ch3(&(_m->FilterState_Header), _d, dlc_);
+      recid = Unpack_FilterState_Header_ch3_ARS408_can_database_ch3(&(_m->FilterState_Header_ch3), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
-   if ((_id >= 0x234U) && (_id < 0x331U)) {
+   if ((_id >= 0x234U) && (_id < 0x330U)) {
     if (_id == 0x234U) {
     if (_id == 0x234U) {
-     recid = Unpack_FilterState_Cfg_ARS408_can_database_ch3(&(_m->FilterState_Cfg), _d, dlc_);
-    } else if (_id == 0x330U) {
-     recid = Unpack_SpeedInformation_ARS408_can_database_ch3(&(_m->SpeedInformation), _d, dlc_);
+     recid = Unpack_FilterState_Cfg_ch3_ARS408_can_database_ch3(&(_m->FilterState_Cfg_ch3), _d, dlc_);
+    } else {
+     if (_id == 0x235U) {
+      recid = Unpack_PolygonFilter_Cfg_ch3_ARS408_can_database_ch3(&(_m->PolygonFilter_Cfg_ch3), _d, dlc_);
+     } else if (_id == 0x236U) {
+      recid = Unpack_PolygonFilter_State_ch3_ARS408_can_database_ch3(&(_m->PolygonFilter_State_ch3), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
-    if (_id == 0x331U) {
-     recid = Unpack_YawRateInformation_ARS408_can_database_ch3(&(_m->YawRateInformation), _d, dlc_);
+    if (_id == 0x330U) {
+     recid = Unpack_SpeedInformation_ch3_ARS408_can_database_ch3(&(_m->SpeedInformation_ch3), _d, dlc_);
     } else {
     } else {
-     if (_id == 0x408U) {
-      recid = Unpack_CollDetState_ARS408_can_database_ch3(&(_m->CollDetState), _d, dlc_);
+     if (_id == 0x331U) {
+      recid = Unpack_YawRateInformation_ch3_ARS408_can_database_ch3(&(_m->YawRateInformation_ch3), _d, dlc_);
      } else if (_id == 0x430U) {
      } else if (_id == 0x430U) {
-      recid = Unpack_CollDetCfg_ARS408_can_database_ch3(&(_m->CollDetCfg), _d, dlc_);
+      recid = Unpack_CollDetCfg_ch3_ARS408_can_database_ch3(&(_m->CollDetCfg_ch3), _d, dlc_);
      }
      }
     }
     }
    }
    }
@@ -51,40 +55,44 @@ uint32_t ars408_can_database_ch3_Receive(ars408_can_database_ch3_rx_t* _m, const
   if ((_id >= 0x431U) && (_id < 0x63CU)) {
   if ((_id >= 0x431U) && (_id < 0x63CU)) {
    if ((_id >= 0x431U) && (_id < 0x630U)) {
    if ((_id >= 0x431U) && (_id < 0x630U)) {
     if (_id == 0x431U) {
     if (_id == 0x431U) {
-     recid = Unpack_CollDetRegionCfg_ARS408_can_database_ch3(&(_m->CollDetRegionCfg), _d, dlc_);
-    } else if (_id == 0x432U) {
-     recid = Unpack_CollDetRegionState_ARS408_can_database_ch3(&(_m->CollDetRegionState), _d, dlc_);
+     recid = Unpack_CollDetRegionCfg_ch3_ARS408_can_database_ch3(&(_m->CollDetRegionCfg_ch3), _d, dlc_);
+    } else {
+     if (_id == 0x432U) {
+      recid = Unpack_CollDetRegionState_ch3_ARS408_can_database_ch3(&(_m->CollDetRegionState_ch3), _d, dlc_);
+     } else if (_id == 0x438U) {
+      recid = Unpack_CollDetState_ch3_ARS408_can_database_ch3(&(_m->CollDetState_ch3), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
     if (_id == 0x630U) {
     if (_id == 0x630U) {
-     recid = Unpack_Cluster_0_Status_ARS408_can_database_ch3(&(_m->Cluster_0_Status), _d, dlc_);
+     recid = Unpack_Cluster_0_Status_ch3_ARS408_can_database_ch3(&(_m->Cluster_0_Status_ch3), _d, dlc_);
     } else {
     } else {
      if (_id == 0x63AU) {
      if (_id == 0x63AU) {
-      recid = Unpack_Obj_0_Status_ARS408_can_database_ch3(&(_m->Obj_0_Status), _d, dlc_);
+      recid = Unpack_Obj_0_Status_ch3_ARS408_can_database_ch3(&(_m->Obj_0_Status_ch3), _d, dlc_);
      } else if (_id == 0x63BU) {
      } else if (_id == 0x63BU) {
-      recid = Unpack_Obj_1_General_ARS408_can_database_ch3(&(_m->Obj_1_General), _d, dlc_);
+      recid = Unpack_Obj_1_General_ch3_ARS408_can_database_ch3(&(_m->Obj_1_General_ch3), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
    if ((_id >= 0x63CU) && (_id < 0x730U)) {
    if ((_id >= 0x63CU) && (_id < 0x730U)) {
     if (_id == 0x63CU) {
     if (_id == 0x63CU) {
-     recid = Unpack_Obj_2_Quality_ARS408_can_database_ch3(&(_m->Obj_2_Quality), _d, dlc_);
+     recid = Unpack_Obj_2_Quality_ch3_ARS408_can_database_ch3(&(_m->Obj_2_Quality_ch3), _d, dlc_);
     } else {
     } else {
      if (_id == 0x63DU) {
      if (_id == 0x63DU) {
-      recid = Unpack_Obj_3_Extended_ARS408_can_database_ch3(&(_m->Obj_3_Extended), _d, dlc_);
+      recid = Unpack_Obj_3_Extended_ch3_ARS408_can_database_ch3(&(_m->Obj_3_Extended_ch3), _d, dlc_);
      } else if (_id == 0x63EU) {
      } else if (_id == 0x63EU) {
-      recid = Unpack_Obj_4_Warning_ARS408_can_database_ch3(&(_m->Obj_4_Warning), _d, dlc_);
+      recid = Unpack_Obj_4_Warning_ch3_ARS408_can_database_ch3(&(_m->Obj_4_Warning_ch3), _d, dlc_);
      }
      }
     }
     }
    } else {
    } else {
     if (_id == 0x730U) {
     if (_id == 0x730U) {
-     recid = Unpack_VersionID_ARS408_can_database_ch3(&(_m->VersionID), _d, dlc_);
+     recid = Unpack_VersionID_ch3_ARS408_can_database_ch3(&(_m->VersionID_ch3), _d, dlc_);
     } else {
     } else {
      if (_id == 0x731U) {
      if (_id == 0x731U) {
-      recid = Unpack_Cluster_1_General_ARS408_can_database_ch3(&(_m->Cluster_1_General), _d, dlc_);
+      recid = Unpack_Cluster_1_General_ch3_ARS408_can_database_ch3(&(_m->Cluster_1_General_ch3), _d, dlc_);
      } else if (_id == 0x732U) {
      } else if (_id == 0x732U) {
-      recid = Unpack_Cluster_2_Quality_ARS408_can_database_ch3(&(_m->Cluster_2_Quality), _d, dlc_);
+      recid = Unpack_Cluster_2_Quality_ch3_ARS408_can_database_ch3(&(_m->Cluster_2_Quality_ch3), _d, dlc_);
      }
      }
     }
     }
    }
    }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-binutil.h

@@ -15,27 +15,29 @@ extern "C" {
 
 
 typedef struct
 typedef struct
 {
 {
-  CollDetRelayCtrl_t CollDetRelayCtrl;
-  RadarConfiguration_t RadarConfiguration;
-  RadarState_t RadarState;
-  FilterCfg_t FilterCfg;
-  FilterState_Header_t FilterState_Header;
-  FilterState_Cfg_t FilterState_Cfg;
-  SpeedInformation_t SpeedInformation;
-  YawRateInformation_t YawRateInformation;
-  CollDetState_t CollDetState;
-  CollDetCfg_t CollDetCfg;
-  CollDetRegionCfg_t CollDetRegionCfg;
-  CollDetRegionState_t CollDetRegionState;
-  Cluster_0_Status_t Cluster_0_Status;
-  Obj_0_Status_t Obj_0_Status;
-  Obj_1_General_t Obj_1_General;
-  Obj_2_Quality_t Obj_2_Quality;
-  Obj_3_Extended_t Obj_3_Extended;
-  Obj_4_Warning_t Obj_4_Warning;
-  VersionID_t VersionID;
-  Cluster_1_General_t Cluster_1_General;
-  Cluster_2_Quality_t Cluster_2_Quality;
+  CollDetRelayCtrl_ch3_t CollDetRelayCtrl_ch3;
+  RadarConfiguration_ch3_t RadarConfiguration_ch3;
+  RadarState_ch3_t RadarState_ch3;
+  FilterCfg_ch3_t FilterCfg_ch3;
+  FilterState_Header_ch3_t FilterState_Header_ch3;
+  FilterState_Cfg_ch3_t FilterState_Cfg_ch3;
+  PolygonFilter_Cfg_ch3_t PolygonFilter_Cfg_ch3;
+  PolygonFilter_State_ch3_t PolygonFilter_State_ch3;
+  SpeedInformation_ch3_t SpeedInformation_ch3;
+  YawRateInformation_ch3_t YawRateInformation_ch3;
+  CollDetCfg_ch3_t CollDetCfg_ch3;
+  CollDetRegionCfg_ch3_t CollDetRegionCfg_ch3;
+  CollDetRegionState_ch3_t CollDetRegionState_ch3;
+  CollDetState_ch3_t CollDetState_ch3;
+  Cluster_0_Status_ch3_t Cluster_0_Status_ch3;
+  Obj_0_Status_ch3_t Obj_0_Status_ch3;
+  Obj_1_General_ch3_t Obj_1_General_ch3;
+  Obj_2_Quality_ch3_t Obj_2_Quality_ch3;
+  Obj_3_Extended_ch3_t Obj_3_Extended_ch3;
+  Obj_4_Warning_ch3_t Obj_4_Warning_ch3;
+  VersionID_ch3_t VersionID_ch3;
+  Cluster_1_General_ch3_t Cluster_1_General_ch3;
+  Cluster_2_Quality_ch3_t Cluster_2_Quality_ch3;
 } ars408_can_database_ch3_rx_t;
 } ars408_can_database_ch3_rx_t;
 
 
 // There is no any TX mapped massage.
 // There is no any TX mapped massage.

+ 2 - 2
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-config.h

@@ -47,7 +47,7 @@
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   User have to use '_phys' signal to read physical value. */
   User have to use '_phys' signal to read physical value. */
 
 
-/* #define ARS408_CAN_DATABASE_CH3_USE_SIGFLOAT */
+ #define ARS408_CAN_DATABASE_CH3_USE_SIGFLOAT
 
 
 
 
 /* ------------------------------------------------------------------------- *
 /* ------------------------------------------------------------------------- *
@@ -103,7 +103,7 @@
   and loaded to payload
   and loaded to payload
 
 
   In unpack function checksum signal is checked with calculated.
   In unpack function checksum signal is checked with calculated.
-  (result may be tested in dedicated Fmon_*** function).
+  (result may be tested in dedicated Fmon_*** function). */
 
 
 /* #define ARS408_CAN_DATABASE_CH3_AUTO_CSM */
 /* #define ARS408_CAN_DATABASE_CH3_AUTO_CSM */
 
 

+ 31 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-fmon.c

@@ -7,107 +7,117 @@ Put the monitor function content here, keep in mind -
 next generation will completely clear all manually added code (!)
 next generation will completely clear all manually added code (!)
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarConfiguration_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_RadarConfiguration_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarState_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_RadarState_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterCfg_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_FilterCfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Header_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_FilterState_Header_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Cfg_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_FilterState_Cfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_SpeedInformation_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_YawRateInformation_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_State_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetState_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetCfg_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_YawRateInformation_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionCfg_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionState_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_CollDetRegionCfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_0_Status_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_CollDetRegionState_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_0_Status_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_CollDetState_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_1_General_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_Cluster_0_Status_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_2_Quality_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_Obj_0_Status_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_3_Extended_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_Obj_1_General_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_4_Warning_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_Obj_2_Quality_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_VersionID_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_Obj_3_Extended_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_1_General_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_Obj_4_Warning_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_2_Quality_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_VersionID_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_1_General_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_2_Quality_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3-fmon.h

@@ -20,27 +20,29 @@ It is the user responsibility to defined these functions in the
 separated .c file. If it won't be done the linkage error will happen
 separated .c file. If it won't be done the linkage error will happen
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_RadarConfiguration_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_RadarState_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_FilterCfg_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_FilterState_Header_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_FilterState_Cfg_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_SpeedInformation_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_YawRateInformation_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_CollDetState_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_CollDetCfg_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_CollDetRegionCfg_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_CollDetRegionState_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_Cluster_0_Status_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_Obj_0_Status_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_Obj_1_General_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_Obj_2_Quality_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_Obj_3_Extended_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_Obj_4_Warning_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_VersionID_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_Cluster_1_General_ars408_can_database_ch3(FrameMonitor_t* _mon);
-void FMon_Cluster_2_Quality_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_CollDetRelayCtrl_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_RadarConfiguration_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_RadarState_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_FilterCfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_FilterState_Header_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_FilterState_Cfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_Cfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_State_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_SpeedInformation_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_YawRateInformation_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_CollDetCfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_CollDetRegionCfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_CollDetRegionState_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_CollDetState_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_Cluster_0_Status_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_Obj_0_Status_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_Obj_1_General_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_Obj_2_Quality_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_Obj_3_Extended_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_Obj_4_Warning_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_VersionID_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_Cluster_1_General_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
+void FMon_Cluster_2_Quality_ch3_ars408_can_database_ch3(FrameMonitor_t* _mon);
 
 
 #endif // ARS408_CAN_DATABASE_CH3_USE_DIAG_MONITORS
 #endif // ARS408_CAN_DATABASE_CH3_USE_DIAG_MONITORS
 
 

File diff suppressed because it is too large
+ 366 - 216
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3.c


File diff suppressed because it is too large
+ 372 - 200
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch3.h


+ 34 - 26
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-binutil.c

@@ -13,36 +13,40 @@ uint32_t ars408_can_database_ch4_Receive(ars408_can_database_ch4_rx_t* _m, const
   if ((_id >= 0x8U) && (_id < 0x244U)) {
   if ((_id >= 0x8U) && (_id < 0x244U)) {
    if ((_id >= 0x8U) && (_id < 0x241U)) {
    if ((_id >= 0x8U) && (_id < 0x241U)) {
     if (_id == 0x8U) {
     if (_id == 0x8U) {
-     recid = Unpack_CollDetRelayCtrl_ARS408_can_database_ch4(&(_m->CollDetRelayCtrl), _d, dlc_);
+     recid = Unpack_CollDetRelayCtrl_ch4_ARS408_can_database_ch4(&(_m->CollDetRelayCtrl_ch4), _d, dlc_);
     } else if (_id == 0x240U) {
     } else if (_id == 0x240U) {
-     recid = Unpack_RadarConfiguration_ARS408_can_database_ch4(&(_m->RadarConfiguration), _d, dlc_);
+     recid = Unpack_RadarConfiguration_ch4_ARS408_can_database_ch4(&(_m->RadarConfiguration_ch4), _d, dlc_);
     }
     }
    } else {
    } else {
     if (_id == 0x241U) {
     if (_id == 0x241U) {
-     recid = Unpack_RadarState_ARS408_can_database_ch4(&(_m->RadarState), _d, dlc_);
+     recid = Unpack_RadarState_ch4_ARS408_can_database_ch4(&(_m->RadarState_ch4), _d, dlc_);
     } else {
     } else {
      if (_id == 0x242U) {
      if (_id == 0x242U) {
-      recid = Unpack_FilterCfg_ARS408_can_database_ch4(&(_m->FilterCfg), _d, dlc_);
+      recid = Unpack_FilterCfg_ch4_ARS408_can_database_ch4(&(_m->FilterCfg_ch4), _d, dlc_);
      } else if (_id == 0x243U) {
      } else if (_id == 0x243U) {
-      recid = Unpack_FilterState_Header_ARS408_can_database_ch4(&(_m->FilterState_Header), _d, dlc_);
+      recid = Unpack_FilterState_Header_ch4_ARS408_can_database_ch4(&(_m->FilterState_Header_ch4), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
-   if ((_id >= 0x244U) && (_id < 0x341U)) {
+   if ((_id >= 0x244U) && (_id < 0x340U)) {
     if (_id == 0x244U) {
     if (_id == 0x244U) {
-     recid = Unpack_FilterState_Cfg_ARS408_can_database_ch4(&(_m->FilterState_Cfg), _d, dlc_);
-    } else if (_id == 0x340U) {
-     recid = Unpack_SpeedInformation_ARS408_can_database_ch4(&(_m->SpeedInformation), _d, dlc_);
+     recid = Unpack_FilterState_Cfg_ch4_ARS408_can_database_ch4(&(_m->FilterState_Cfg_ch4), _d, dlc_);
+    } else {
+     if (_id == 0x245U) {
+      recid = Unpack_PolygonFilter_Cfg_ch4_ARS408_can_database_ch4(&(_m->PolygonFilter_Cfg_ch4), _d, dlc_);
+     } else if (_id == 0x246U) {
+      recid = Unpack_PolygonFilter_State_ch4_ARS408_can_database_ch4(&(_m->PolygonFilter_State_ch4), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
-    if (_id == 0x341U) {
-     recid = Unpack_YawRateInformation_ARS408_can_database_ch4(&(_m->YawRateInformation), _d, dlc_);
+    if (_id == 0x340U) {
+     recid = Unpack_SpeedInformation_ch4_ARS408_can_database_ch4(&(_m->SpeedInformation_ch4), _d, dlc_);
     } else {
     } else {
-     if (_id == 0x408U) {
-      recid = Unpack_CollDetState_ARS408_can_database_ch4(&(_m->CollDetState), _d, dlc_);
+     if (_id == 0x341U) {
+      recid = Unpack_YawRateInformation_ch4_ARS408_can_database_ch4(&(_m->YawRateInformation_ch4), _d, dlc_);
      } else if (_id == 0x440U) {
      } else if (_id == 0x440U) {
-      recid = Unpack_CollDetCfg_ARS408_can_database_ch4(&(_m->CollDetCfg), _d, dlc_);
+      recid = Unpack_CollDetCfg_ch4_ARS408_can_database_ch4(&(_m->CollDetCfg_ch4), _d, dlc_);
      }
      }
     }
     }
    }
    }
@@ -51,40 +55,44 @@ uint32_t ars408_can_database_ch4_Receive(ars408_can_database_ch4_rx_t* _m, const
   if ((_id >= 0x441U) && (_id < 0x64CU)) {
   if ((_id >= 0x441U) && (_id < 0x64CU)) {
    if ((_id >= 0x441U) && (_id < 0x640U)) {
    if ((_id >= 0x441U) && (_id < 0x640U)) {
     if (_id == 0x441U) {
     if (_id == 0x441U) {
-     recid = Unpack_CollDetRegionCfg_ARS408_can_database_ch4(&(_m->CollDetRegionCfg), _d, dlc_);
-    } else if (_id == 0x442U) {
-     recid = Unpack_CollDetRegionState_ARS408_can_database_ch4(&(_m->CollDetRegionState), _d, dlc_);
+     recid = Unpack_CollDetRegionCfg_ch4_ARS408_can_database_ch4(&(_m->CollDetRegionCfg_ch4), _d, dlc_);
+    } else {
+     if (_id == 0x442U) {
+      recid = Unpack_CollDetRegionState_ch4_ARS408_can_database_ch4(&(_m->CollDetRegionState_ch4), _d, dlc_);
+     } else if (_id == 0x448U) {
+      recid = Unpack_CollDetState_ch4_ARS408_can_database_ch4(&(_m->CollDetState_ch4), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
     if (_id == 0x640U) {
     if (_id == 0x640U) {
-     recid = Unpack_Cluster_0_Status_ARS408_can_database_ch4(&(_m->Cluster_0_Status), _d, dlc_);
+     recid = Unpack_Cluster_0_Status_ch4_ARS408_can_database_ch4(&(_m->Cluster_0_Status_ch4), _d, dlc_);
     } else {
     } else {
      if (_id == 0x64AU) {
      if (_id == 0x64AU) {
-      recid = Unpack_Obj_0_Status_ARS408_can_database_ch4(&(_m->Obj_0_Status), _d, dlc_);
+      recid = Unpack_Obj_0_Status_ch4_ARS408_can_database_ch4(&(_m->Obj_0_Status_ch4), _d, dlc_);
      } else if (_id == 0x64BU) {
      } else if (_id == 0x64BU) {
-      recid = Unpack_Obj_1_General_ARS408_can_database_ch4(&(_m->Obj_1_General), _d, dlc_);
+      recid = Unpack_Obj_1_General_ch4_ARS408_can_database_ch4(&(_m->Obj_1_General_ch4), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
    if ((_id >= 0x64CU) && (_id < 0x740U)) {
    if ((_id >= 0x64CU) && (_id < 0x740U)) {
     if (_id == 0x64CU) {
     if (_id == 0x64CU) {
-     recid = Unpack_Obj_2_Quality_ARS408_can_database_ch4(&(_m->Obj_2_Quality), _d, dlc_);
+     recid = Unpack_Obj_2_Quality_ch4_ARS408_can_database_ch4(&(_m->Obj_2_Quality_ch4), _d, dlc_);
     } else {
     } else {
      if (_id == 0x64DU) {
      if (_id == 0x64DU) {
-      recid = Unpack_Obj_3_Extended_ARS408_can_database_ch4(&(_m->Obj_3_Extended), _d, dlc_);
+      recid = Unpack_Obj_3_Extended_ch4_ARS408_can_database_ch4(&(_m->Obj_3_Extended_ch4), _d, dlc_);
      } else if (_id == 0x64EU) {
      } else if (_id == 0x64EU) {
-      recid = Unpack_Obj_4_Warning_ARS408_can_database_ch4(&(_m->Obj_4_Warning), _d, dlc_);
+      recid = Unpack_Obj_4_Warning_ch4_ARS408_can_database_ch4(&(_m->Obj_4_Warning_ch4), _d, dlc_);
      }
      }
     }
     }
    } else {
    } else {
     if (_id == 0x740U) {
     if (_id == 0x740U) {
-     recid = Unpack_VersionID_ARS408_can_database_ch4(&(_m->VersionID), _d, dlc_);
+     recid = Unpack_VersionID_ch4_ARS408_can_database_ch4(&(_m->VersionID_ch4), _d, dlc_);
     } else {
     } else {
      if (_id == 0x741U) {
      if (_id == 0x741U) {
-      recid = Unpack_Cluster_1_General_ARS408_can_database_ch4(&(_m->Cluster_1_General), _d, dlc_);
+      recid = Unpack_Cluster_1_General_ch4_ARS408_can_database_ch4(&(_m->Cluster_1_General_ch4), _d, dlc_);
      } else if (_id == 0x742U) {
      } else if (_id == 0x742U) {
-      recid = Unpack_Cluster_2_Quality_ARS408_can_database_ch4(&(_m->Cluster_2_Quality), _d, dlc_);
+      recid = Unpack_Cluster_2_Quality_ch4_ARS408_can_database_ch4(&(_m->Cluster_2_Quality_ch4), _d, dlc_);
      }
      }
     }
     }
    }
    }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-binutil.h

@@ -15,27 +15,29 @@ extern "C" {
 
 
 typedef struct
 typedef struct
 {
 {
-  CollDetRelayCtrl_t CollDetRelayCtrl;
-  RadarConfiguration_t RadarConfiguration;
-  RadarState_t RadarState;
-  FilterCfg_t FilterCfg;
-  FilterState_Header_t FilterState_Header;
-  FilterState_Cfg_t FilterState_Cfg;
-  SpeedInformation_t SpeedInformation;
-  YawRateInformation_t YawRateInformation;
-  CollDetState_t CollDetState;
-  CollDetCfg_t CollDetCfg;
-  CollDetRegionCfg_t CollDetRegionCfg;
-  CollDetRegionState_t CollDetRegionState;
-  Cluster_0_Status_t Cluster_0_Status;
-  Obj_0_Status_t Obj_0_Status;
-  Obj_1_General_t Obj_1_General;
-  Obj_2_Quality_t Obj_2_Quality;
-  Obj_3_Extended_t Obj_3_Extended;
-  Obj_4_Warning_t Obj_4_Warning;
-  VersionID_t VersionID;
-  Cluster_1_General_t Cluster_1_General;
-  Cluster_2_Quality_t Cluster_2_Quality;
+  CollDetRelayCtrl_ch4_t CollDetRelayCtrl_ch4;
+  RadarConfiguration_ch4_t RadarConfiguration_ch4;
+  RadarState_ch4_t RadarState_ch4;
+  FilterCfg_ch4_t FilterCfg_ch4;
+  FilterState_Header_ch4_t FilterState_Header_ch4;
+  FilterState_Cfg_ch4_t FilterState_Cfg_ch4;
+  PolygonFilter_Cfg_ch4_t PolygonFilter_Cfg_ch4;
+  PolygonFilter_State_ch4_t PolygonFilter_State_ch4;
+  SpeedInformation_ch4_t SpeedInformation_ch4;
+  YawRateInformation_ch4_t YawRateInformation_ch4;
+  CollDetCfg_ch4_t CollDetCfg_ch4;
+  CollDetRegionCfg_ch4_t CollDetRegionCfg_ch4;
+  CollDetRegionState_ch4_t CollDetRegionState_ch4;
+  CollDetState_ch4_t CollDetState_ch4;
+  Cluster_0_Status_ch4_t Cluster_0_Status_ch4;
+  Obj_0_Status_ch4_t Obj_0_Status_ch4;
+  Obj_1_General_ch4_t Obj_1_General_ch4;
+  Obj_2_Quality_ch4_t Obj_2_Quality_ch4;
+  Obj_3_Extended_ch4_t Obj_3_Extended_ch4;
+  Obj_4_Warning_ch4_t Obj_4_Warning_ch4;
+  VersionID_ch4_t VersionID_ch4;
+  Cluster_1_General_ch4_t Cluster_1_General_ch4;
+  Cluster_2_Quality_ch4_t Cluster_2_Quality_ch4;
 } ars408_can_database_ch4_rx_t;
 } ars408_can_database_ch4_rx_t;
 
 
 // There is no any TX mapped massage.
 // There is no any TX mapped massage.

+ 2 - 2
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-config.h

@@ -47,7 +47,7 @@
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   User have to use '_phys' signal to read physical value. */
   User have to use '_phys' signal to read physical value. */
 
 
-/* #define ARS408_CAN_DATABASE_CH4_USE_SIGFLOAT */
+ #define ARS408_CAN_DATABASE_CH4_USE_SIGFLOAT
 
 
 
 
 /* ------------------------------------------------------------------------- *
 /* ------------------------------------------------------------------------- *
@@ -103,7 +103,7 @@
   and loaded to payload
   and loaded to payload
 
 
   In unpack function checksum signal is checked with calculated.
   In unpack function checksum signal is checked with calculated.
-  (result may be tested in dedicated Fmon_*** function).
+  (result may be tested in dedicated Fmon_*** function). */
 
 
 /* #define ARS408_CAN_DATABASE_CH4_AUTO_CSM */
 /* #define ARS408_CAN_DATABASE_CH4_AUTO_CSM */
 
 

+ 31 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-fmon.c

@@ -7,107 +7,117 @@ Put the monitor function content here, keep in mind -
 next generation will completely clear all manually added code (!)
 next generation will completely clear all manually added code (!)
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarConfiguration_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_RadarConfiguration_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarState_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_RadarState_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterCfg_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_FilterCfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Header_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_FilterState_Header_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Cfg_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_FilterState_Cfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_SpeedInformation_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_YawRateInformation_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_State_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetState_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetCfg_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_YawRateInformation_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionCfg_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionState_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_CollDetRegionCfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_0_Status_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_CollDetRegionState_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_0_Status_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_CollDetState_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_1_General_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_Cluster_0_Status_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_2_Quality_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_Obj_0_Status_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_3_Extended_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_Obj_1_General_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_4_Warning_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_Obj_2_Quality_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_VersionID_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_Obj_3_Extended_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_1_General_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_Obj_4_Warning_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_2_Quality_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_VersionID_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_1_General_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_2_Quality_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4-fmon.h

@@ -20,27 +20,29 @@ It is the user responsibility to defined these functions in the
 separated .c file. If it won't be done the linkage error will happen
 separated .c file. If it won't be done the linkage error will happen
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_RadarConfiguration_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_RadarState_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_FilterCfg_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_FilterState_Header_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_FilterState_Cfg_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_SpeedInformation_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_YawRateInformation_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_CollDetState_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_CollDetCfg_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_CollDetRegionCfg_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_CollDetRegionState_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_Cluster_0_Status_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_Obj_0_Status_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_Obj_1_General_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_Obj_2_Quality_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_Obj_3_Extended_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_Obj_4_Warning_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_VersionID_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_Cluster_1_General_ars408_can_database_ch4(FrameMonitor_t* _mon);
-void FMon_Cluster_2_Quality_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_CollDetRelayCtrl_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_RadarConfiguration_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_RadarState_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_FilterCfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_FilterState_Header_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_FilterState_Cfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_Cfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_State_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_SpeedInformation_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_YawRateInformation_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_CollDetCfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_CollDetRegionCfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_CollDetRegionState_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_CollDetState_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_Cluster_0_Status_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_Obj_0_Status_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_Obj_1_General_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_Obj_2_Quality_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_Obj_3_Extended_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_Obj_4_Warning_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_VersionID_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_Cluster_1_General_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
+void FMon_Cluster_2_Quality_ch4_ars408_can_database_ch4(FrameMonitor_t* _mon);
 
 
 #endif // ARS408_CAN_DATABASE_CH4_USE_DIAG_MONITORS
 #endif // ARS408_CAN_DATABASE_CH4_USE_DIAG_MONITORS
 
 

File diff suppressed because it is too large
+ 366 - 216
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4.c


File diff suppressed because it is too large
+ 372 - 200
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch4.h


+ 34 - 26
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-binutil.c

@@ -13,36 +13,40 @@ uint32_t ars408_can_database_ch5_Receive(ars408_can_database_ch5_rx_t* _m, const
   if ((_id >= 0x8U) && (_id < 0x254U)) {
   if ((_id >= 0x8U) && (_id < 0x254U)) {
    if ((_id >= 0x8U) && (_id < 0x251U)) {
    if ((_id >= 0x8U) && (_id < 0x251U)) {
     if (_id == 0x8U) {
     if (_id == 0x8U) {
-     recid = Unpack_CollDetRelayCtrl_ARS408_can_database_ch5(&(_m->CollDetRelayCtrl), _d, dlc_);
+     recid = Unpack_CollDetRelayCtrl_ch5_ARS408_can_database_ch5(&(_m->CollDetRelayCtrl_ch5), _d, dlc_);
     } else if (_id == 0x250U) {
     } else if (_id == 0x250U) {
-     recid = Unpack_RadarConfiguration_ARS408_can_database_ch5(&(_m->RadarConfiguration), _d, dlc_);
+     recid = Unpack_RadarConfiguration_ch5_ARS408_can_database_ch5(&(_m->RadarConfiguration_ch5), _d, dlc_);
     }
     }
    } else {
    } else {
     if (_id == 0x251U) {
     if (_id == 0x251U) {
-     recid = Unpack_RadarState_ARS408_can_database_ch5(&(_m->RadarState), _d, dlc_);
+     recid = Unpack_RadarState_ch5_ARS408_can_database_ch5(&(_m->RadarState_ch5), _d, dlc_);
     } else {
     } else {
      if (_id == 0x252U) {
      if (_id == 0x252U) {
-      recid = Unpack_FilterCfg_ARS408_can_database_ch5(&(_m->FilterCfg), _d, dlc_);
+      recid = Unpack_FilterCfg_ch5_ARS408_can_database_ch5(&(_m->FilterCfg_ch5), _d, dlc_);
      } else if (_id == 0x253U) {
      } else if (_id == 0x253U) {
-      recid = Unpack_FilterState_Header_ARS408_can_database_ch5(&(_m->FilterState_Header), _d, dlc_);
+      recid = Unpack_FilterState_Header_ch5_ARS408_can_database_ch5(&(_m->FilterState_Header_ch5), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
-   if ((_id >= 0x254U) && (_id < 0x351U)) {
+   if ((_id >= 0x254U) && (_id < 0x350U)) {
     if (_id == 0x254U) {
     if (_id == 0x254U) {
-     recid = Unpack_FilterState_Cfg_ARS408_can_database_ch5(&(_m->FilterState_Cfg), _d, dlc_);
-    } else if (_id == 0x350U) {
-     recid = Unpack_SpeedInformation_ARS408_can_database_ch5(&(_m->SpeedInformation), _d, dlc_);
+     recid = Unpack_FilterState_Cfg_ch5_ARS408_can_database_ch5(&(_m->FilterState_Cfg_ch5), _d, dlc_);
+    } else {
+     if (_id == 0x255U) {
+      recid = Unpack_PolygonFilter_Cfg_ch5_ARS408_can_database_ch5(&(_m->PolygonFilter_Cfg_ch5), _d, dlc_);
+     } else if (_id == 0x256U) {
+      recid = Unpack_PolygonFilter_State_ch5_ARS408_can_database_ch5(&(_m->PolygonFilter_State_ch5), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
-    if (_id == 0x351U) {
-     recid = Unpack_YawRateInformation_ARS408_can_database_ch5(&(_m->YawRateInformation), _d, dlc_);
+    if (_id == 0x350U) {
+     recid = Unpack_SpeedInformation_ch5_ARS408_can_database_ch5(&(_m->SpeedInformation_ch5), _d, dlc_);
     } else {
     } else {
-     if (_id == 0x408U) {
-      recid = Unpack_CollDetState_ARS408_can_database_ch5(&(_m->CollDetState), _d, dlc_);
+     if (_id == 0x351U) {
+      recid = Unpack_YawRateInformation_ch5_ARS408_can_database_ch5(&(_m->YawRateInformation_ch5), _d, dlc_);
      } else if (_id == 0x450U) {
      } else if (_id == 0x450U) {
-      recid = Unpack_CollDetCfg_ARS408_can_database_ch5(&(_m->CollDetCfg), _d, dlc_);
+      recid = Unpack_CollDetCfg_ch5_ARS408_can_database_ch5(&(_m->CollDetCfg_ch5), _d, dlc_);
      }
      }
     }
     }
    }
    }
@@ -51,40 +55,44 @@ uint32_t ars408_can_database_ch5_Receive(ars408_can_database_ch5_rx_t* _m, const
   if ((_id >= 0x451U) && (_id < 0x65CU)) {
   if ((_id >= 0x451U) && (_id < 0x65CU)) {
    if ((_id >= 0x451U) && (_id < 0x650U)) {
    if ((_id >= 0x451U) && (_id < 0x650U)) {
     if (_id == 0x451U) {
     if (_id == 0x451U) {
-     recid = Unpack_CollDetRegionCfg_ARS408_can_database_ch5(&(_m->CollDetRegionCfg), _d, dlc_);
-    } else if (_id == 0x452U) {
-     recid = Unpack_CollDetRegionState_ARS408_can_database_ch5(&(_m->CollDetRegionState), _d, dlc_);
+     recid = Unpack_CollDetRegionCfg_ch5_ARS408_can_database_ch5(&(_m->CollDetRegionCfg_ch5), _d, dlc_);
+    } else {
+     if (_id == 0x452U) {
+      recid = Unpack_CollDetRegionState_ch5_ARS408_can_database_ch5(&(_m->CollDetRegionState_ch5), _d, dlc_);
+     } else if (_id == 0x458U) {
+      recid = Unpack_CollDetState_ch5_ARS408_can_database_ch5(&(_m->CollDetState_ch5), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
     if (_id == 0x650U) {
     if (_id == 0x650U) {
-     recid = Unpack_Cluster_0_Status_ARS408_can_database_ch5(&(_m->Cluster_0_Status), _d, dlc_);
+     recid = Unpack_Cluster_0_Status_ch5_ARS408_can_database_ch5(&(_m->Cluster_0_Status_ch5), _d, dlc_);
     } else {
     } else {
      if (_id == 0x65AU) {
      if (_id == 0x65AU) {
-      recid = Unpack_Obj_0_Status_ARS408_can_database_ch5(&(_m->Obj_0_Status), _d, dlc_);
+      recid = Unpack_Obj_0_Status_ch5_ARS408_can_database_ch5(&(_m->Obj_0_Status_ch5), _d, dlc_);
      } else if (_id == 0x65BU) {
      } else if (_id == 0x65BU) {
-      recid = Unpack_Obj_1_General_ARS408_can_database_ch5(&(_m->Obj_1_General), _d, dlc_);
+      recid = Unpack_Obj_1_General_ch5_ARS408_can_database_ch5(&(_m->Obj_1_General_ch5), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
    if ((_id >= 0x65CU) && (_id < 0x750U)) {
    if ((_id >= 0x65CU) && (_id < 0x750U)) {
     if (_id == 0x65CU) {
     if (_id == 0x65CU) {
-     recid = Unpack_Obj_2_Quality_ARS408_can_database_ch5(&(_m->Obj_2_Quality), _d, dlc_);
+     recid = Unpack_Obj_2_Quality_ch5_ARS408_can_database_ch5(&(_m->Obj_2_Quality_ch5), _d, dlc_);
     } else {
     } else {
      if (_id == 0x65DU) {
      if (_id == 0x65DU) {
-      recid = Unpack_Obj_3_Extended_ARS408_can_database_ch5(&(_m->Obj_3_Extended), _d, dlc_);
+      recid = Unpack_Obj_3_Extended_ch5_ARS408_can_database_ch5(&(_m->Obj_3_Extended_ch5), _d, dlc_);
      } else if (_id == 0x65EU) {
      } else if (_id == 0x65EU) {
-      recid = Unpack_Obj_4_Warning_ARS408_can_database_ch5(&(_m->Obj_4_Warning), _d, dlc_);
+      recid = Unpack_Obj_4_Warning_ch5_ARS408_can_database_ch5(&(_m->Obj_4_Warning_ch5), _d, dlc_);
      }
      }
     }
     }
    } else {
    } else {
     if (_id == 0x750U) {
     if (_id == 0x750U) {
-     recid = Unpack_VersionID_ARS408_can_database_ch5(&(_m->VersionID), _d, dlc_);
+     recid = Unpack_VersionID_ch5_ARS408_can_database_ch5(&(_m->VersionID_ch5), _d, dlc_);
     } else {
     } else {
      if (_id == 0x751U) {
      if (_id == 0x751U) {
-      recid = Unpack_Cluster_1_General_ARS408_can_database_ch5(&(_m->Cluster_1_General), _d, dlc_);
+      recid = Unpack_Cluster_1_General_ch5_ARS408_can_database_ch5(&(_m->Cluster_1_General_ch5), _d, dlc_);
      } else if (_id == 0x752U) {
      } else if (_id == 0x752U) {
-      recid = Unpack_Cluster_2_Quality_ARS408_can_database_ch5(&(_m->Cluster_2_Quality), _d, dlc_);
+      recid = Unpack_Cluster_2_Quality_ch5_ARS408_can_database_ch5(&(_m->Cluster_2_Quality_ch5), _d, dlc_);
      }
      }
     }
     }
    }
    }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-binutil.h

@@ -15,27 +15,29 @@ extern "C" {
 
 
 typedef struct
 typedef struct
 {
 {
-  CollDetRelayCtrl_t CollDetRelayCtrl;
-  RadarConfiguration_t RadarConfiguration;
-  RadarState_t RadarState;
-  FilterCfg_t FilterCfg;
-  FilterState_Header_t FilterState_Header;
-  FilterState_Cfg_t FilterState_Cfg;
-  SpeedInformation_t SpeedInformation;
-  YawRateInformation_t YawRateInformation;
-  CollDetState_t CollDetState;
-  CollDetCfg_t CollDetCfg;
-  CollDetRegionCfg_t CollDetRegionCfg;
-  CollDetRegionState_t CollDetRegionState;
-  Cluster_0_Status_t Cluster_0_Status;
-  Obj_0_Status_t Obj_0_Status;
-  Obj_1_General_t Obj_1_General;
-  Obj_2_Quality_t Obj_2_Quality;
-  Obj_3_Extended_t Obj_3_Extended;
-  Obj_4_Warning_t Obj_4_Warning;
-  VersionID_t VersionID;
-  Cluster_1_General_t Cluster_1_General;
-  Cluster_2_Quality_t Cluster_2_Quality;
+  CollDetRelayCtrl_ch5_t CollDetRelayCtrl_ch5;
+  RadarConfiguration_ch5_t RadarConfiguration_ch5;
+  RadarState_ch5_t RadarState_ch5;
+  FilterCfg_ch5_t FilterCfg_ch5;
+  FilterState_Header_ch5_t FilterState_Header_ch5;
+  FilterState_Cfg_ch5_t FilterState_Cfg_ch5;
+  PolygonFilter_Cfg_ch5_t PolygonFilter_Cfg_ch5;
+  PolygonFilter_State_ch5_t PolygonFilter_State_ch5;
+  SpeedInformation_ch5_t SpeedInformation_ch5;
+  YawRateInformation_ch5_t YawRateInformation_ch5;
+  CollDetCfg_ch5_t CollDetCfg_ch5;
+  CollDetRegionCfg_ch5_t CollDetRegionCfg_ch5;
+  CollDetRegionState_ch5_t CollDetRegionState_ch5;
+  CollDetState_ch5_t CollDetState_ch5;
+  Cluster_0_Status_ch5_t Cluster_0_Status_ch5;
+  Obj_0_Status_ch5_t Obj_0_Status_ch5;
+  Obj_1_General_ch5_t Obj_1_General_ch5;
+  Obj_2_Quality_ch5_t Obj_2_Quality_ch5;
+  Obj_3_Extended_ch5_t Obj_3_Extended_ch5;
+  Obj_4_Warning_ch5_t Obj_4_Warning_ch5;
+  VersionID_ch5_t VersionID_ch5;
+  Cluster_1_General_ch5_t Cluster_1_General_ch5;
+  Cluster_2_Quality_ch5_t Cluster_2_Quality_ch5;
 } ars408_can_database_ch5_rx_t;
 } ars408_can_database_ch5_rx_t;
 
 
 // There is no any TX mapped massage.
 // There is no any TX mapped massage.

+ 2 - 2
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-config.h

@@ -47,7 +47,7 @@
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   User have to use '_phys' signal to read physical value. */
   User have to use '_phys' signal to read physical value. */
 
 
-/* #define ARS408_CAN_DATABASE_CH5_USE_SIGFLOAT */
+ #define ARS408_CAN_DATABASE_CH5_USE_SIGFLOAT
 
 
 
 
 /* ------------------------------------------------------------------------- *
 /* ------------------------------------------------------------------------- *
@@ -103,7 +103,7 @@
   and loaded to payload
   and loaded to payload
 
 
   In unpack function checksum signal is checked with calculated.
   In unpack function checksum signal is checked with calculated.
-  (result may be tested in dedicated Fmon_*** function).
+  (result may be tested in dedicated Fmon_*** function). */
 
 
 /* #define ARS408_CAN_DATABASE_CH5_AUTO_CSM */
 /* #define ARS408_CAN_DATABASE_CH5_AUTO_CSM */
 
 

+ 31 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-fmon.c

@@ -7,107 +7,117 @@ Put the monitor function content here, keep in mind -
 next generation will completely clear all manually added code (!)
 next generation will completely clear all manually added code (!)
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarConfiguration_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_RadarConfiguration_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarState_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_RadarState_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterCfg_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_FilterCfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Header_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_FilterState_Header_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Cfg_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_FilterState_Cfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_SpeedInformation_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_YawRateInformation_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_State_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetState_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetCfg_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_YawRateInformation_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionCfg_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionState_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_CollDetRegionCfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_0_Status_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_CollDetRegionState_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_0_Status_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_CollDetState_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_1_General_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_Cluster_0_Status_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_2_Quality_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_Obj_0_Status_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_3_Extended_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_Obj_1_General_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_4_Warning_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_Obj_2_Quality_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_VersionID_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_Obj_3_Extended_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_1_General_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_Obj_4_Warning_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_2_Quality_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_VersionID_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_1_General_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_2_Quality_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5-fmon.h

@@ -20,27 +20,29 @@ It is the user responsibility to defined these functions in the
 separated .c file. If it won't be done the linkage error will happen
 separated .c file. If it won't be done the linkage error will happen
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_RadarConfiguration_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_RadarState_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_FilterCfg_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_FilterState_Header_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_FilterState_Cfg_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_SpeedInformation_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_YawRateInformation_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_CollDetState_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_CollDetCfg_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_CollDetRegionCfg_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_CollDetRegionState_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_Cluster_0_Status_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_Obj_0_Status_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_Obj_1_General_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_Obj_2_Quality_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_Obj_3_Extended_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_Obj_4_Warning_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_VersionID_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_Cluster_1_General_ars408_can_database_ch5(FrameMonitor_t* _mon);
-void FMon_Cluster_2_Quality_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_CollDetRelayCtrl_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_RadarConfiguration_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_RadarState_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_FilterCfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_FilterState_Header_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_FilterState_Cfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_Cfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_State_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_SpeedInformation_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_YawRateInformation_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_CollDetCfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_CollDetRegionCfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_CollDetRegionState_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_CollDetState_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_Cluster_0_Status_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_Obj_0_Status_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_Obj_1_General_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_Obj_2_Quality_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_Obj_3_Extended_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_Obj_4_Warning_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_VersionID_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_Cluster_1_General_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
+void FMon_Cluster_2_Quality_ch5_ars408_can_database_ch5(FrameMonitor_t* _mon);
 
 
 #endif // ARS408_CAN_DATABASE_CH5_USE_DIAG_MONITORS
 #endif // ARS408_CAN_DATABASE_CH5_USE_DIAG_MONITORS
 
 

File diff suppressed because it is too large
+ 366 - 216
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5.c


File diff suppressed because it is too large
+ 372 - 200
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch5.h


+ 34 - 26
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-binutil.c

@@ -13,36 +13,40 @@ uint32_t ars408_can_database_ch6_Receive(ars408_can_database_ch6_rx_t* _m, const
   if ((_id >= 0x8U) && (_id < 0x264U)) {
   if ((_id >= 0x8U) && (_id < 0x264U)) {
    if ((_id >= 0x8U) && (_id < 0x261U)) {
    if ((_id >= 0x8U) && (_id < 0x261U)) {
     if (_id == 0x8U) {
     if (_id == 0x8U) {
-     recid = Unpack_CollDetRelayCtrl_ARS408_can_database_ch6(&(_m->CollDetRelayCtrl), _d, dlc_);
+     recid = Unpack_CollDetRelayCtrl_ch6_ARS408_can_database_ch6(&(_m->CollDetRelayCtrl_ch6), _d, dlc_);
     } else if (_id == 0x260U) {
     } else if (_id == 0x260U) {
-     recid = Unpack_RadarConfiguration_ARS408_can_database_ch6(&(_m->RadarConfiguration), _d, dlc_);
+     recid = Unpack_RadarConfiguration_ch6_ARS408_can_database_ch6(&(_m->RadarConfiguration_ch6), _d, dlc_);
     }
     }
    } else {
    } else {
     if (_id == 0x261U) {
     if (_id == 0x261U) {
-     recid = Unpack_RadarState_ARS408_can_database_ch6(&(_m->RadarState), _d, dlc_);
+     recid = Unpack_RadarState_ch6_ARS408_can_database_ch6(&(_m->RadarState_ch6), _d, dlc_);
     } else {
     } else {
      if (_id == 0x262U) {
      if (_id == 0x262U) {
-      recid = Unpack_FilterCfg_ARS408_can_database_ch6(&(_m->FilterCfg), _d, dlc_);
+      recid = Unpack_FilterCfg_ch6_ARS408_can_database_ch6(&(_m->FilterCfg_ch6), _d, dlc_);
      } else if (_id == 0x263U) {
      } else if (_id == 0x263U) {
-      recid = Unpack_FilterState_Header_ARS408_can_database_ch6(&(_m->FilterState_Header), _d, dlc_);
+      recid = Unpack_FilterState_Header_ch6_ARS408_can_database_ch6(&(_m->FilterState_Header_ch6), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
-   if ((_id >= 0x264U) && (_id < 0x361U)) {
+   if ((_id >= 0x264U) && (_id < 0x360U)) {
     if (_id == 0x264U) {
     if (_id == 0x264U) {
-     recid = Unpack_FilterState_Cfg_ARS408_can_database_ch6(&(_m->FilterState_Cfg), _d, dlc_);
-    } else if (_id == 0x360U) {
-     recid = Unpack_SpeedInformation_ARS408_can_database_ch6(&(_m->SpeedInformation), _d, dlc_);
+     recid = Unpack_FilterState_Cfg_ch6_ARS408_can_database_ch6(&(_m->FilterState_Cfg_ch6), _d, dlc_);
+    } else {
+     if (_id == 0x265U) {
+      recid = Unpack_PolygonFilter_Cfg_ch6_ARS408_can_database_ch6(&(_m->PolygonFilter_Cfg_ch6), _d, dlc_);
+     } else if (_id == 0x266U) {
+      recid = Unpack_PolygonFilter_State_ch6_ARS408_can_database_ch6(&(_m->PolygonFilter_State_ch6), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
-    if (_id == 0x361U) {
-     recid = Unpack_YawRateInformation_ARS408_can_database_ch6(&(_m->YawRateInformation), _d, dlc_);
+    if (_id == 0x360U) {
+     recid = Unpack_SpeedInformation_ch6_ARS408_can_database_ch6(&(_m->SpeedInformation_ch6), _d, dlc_);
     } else {
     } else {
-     if (_id == 0x408U) {
-      recid = Unpack_CollDetState_ARS408_can_database_ch6(&(_m->CollDetState), _d, dlc_);
+     if (_id == 0x361U) {
+      recid = Unpack_YawRateInformation_ch6_ARS408_can_database_ch6(&(_m->YawRateInformation_ch6), _d, dlc_);
      } else if (_id == 0x460U) {
      } else if (_id == 0x460U) {
-      recid = Unpack_CollDetCfg_ARS408_can_database_ch6(&(_m->CollDetCfg), _d, dlc_);
+      recid = Unpack_CollDetCfg_ch6_ARS408_can_database_ch6(&(_m->CollDetCfg_ch6), _d, dlc_);
      }
      }
     }
     }
    }
    }
@@ -51,40 +55,44 @@ uint32_t ars408_can_database_ch6_Receive(ars408_can_database_ch6_rx_t* _m, const
   if ((_id >= 0x461U) && (_id < 0x66CU)) {
   if ((_id >= 0x461U) && (_id < 0x66CU)) {
    if ((_id >= 0x461U) && (_id < 0x660U)) {
    if ((_id >= 0x461U) && (_id < 0x660U)) {
     if (_id == 0x461U) {
     if (_id == 0x461U) {
-     recid = Unpack_CollDetRegionCfg_ARS408_can_database_ch6(&(_m->CollDetRegionCfg), _d, dlc_);
-    } else if (_id == 0x462U) {
-     recid = Unpack_CollDetRegionState_ARS408_can_database_ch6(&(_m->CollDetRegionState), _d, dlc_);
+     recid = Unpack_CollDetRegionCfg_ch6_ARS408_can_database_ch6(&(_m->CollDetRegionCfg_ch6), _d, dlc_);
+    } else {
+     if (_id == 0x462U) {
+      recid = Unpack_CollDetRegionState_ch6_ARS408_can_database_ch6(&(_m->CollDetRegionState_ch6), _d, dlc_);
+     } else if (_id == 0x468U) {
+      recid = Unpack_CollDetState_ch6_ARS408_can_database_ch6(&(_m->CollDetState_ch6), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
     if (_id == 0x660U) {
     if (_id == 0x660U) {
-     recid = Unpack_Cluster_0_Status_ARS408_can_database_ch6(&(_m->Cluster_0_Status), _d, dlc_);
+     recid = Unpack_Cluster_0_Status_ch6_ARS408_can_database_ch6(&(_m->Cluster_0_Status_ch6), _d, dlc_);
     } else {
     } else {
      if (_id == 0x66AU) {
      if (_id == 0x66AU) {
-      recid = Unpack_Obj_0_Status_ARS408_can_database_ch6(&(_m->Obj_0_Status), _d, dlc_);
+      recid = Unpack_Obj_0_Status_ch6_ARS408_can_database_ch6(&(_m->Obj_0_Status_ch6), _d, dlc_);
      } else if (_id == 0x66BU) {
      } else if (_id == 0x66BU) {
-      recid = Unpack_Obj_1_General_ARS408_can_database_ch6(&(_m->Obj_1_General), _d, dlc_);
+      recid = Unpack_Obj_1_General_ch6_ARS408_can_database_ch6(&(_m->Obj_1_General_ch6), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
    if ((_id >= 0x66CU) && (_id < 0x760U)) {
    if ((_id >= 0x66CU) && (_id < 0x760U)) {
     if (_id == 0x66CU) {
     if (_id == 0x66CU) {
-     recid = Unpack_Obj_2_Quality_ARS408_can_database_ch6(&(_m->Obj_2_Quality), _d, dlc_);
+     recid = Unpack_Obj_2_Quality_ch6_ARS408_can_database_ch6(&(_m->Obj_2_Quality_ch6), _d, dlc_);
     } else {
     } else {
      if (_id == 0x66DU) {
      if (_id == 0x66DU) {
-      recid = Unpack_Obj_3_Extended_ARS408_can_database_ch6(&(_m->Obj_3_Extended), _d, dlc_);
+      recid = Unpack_Obj_3_Extended_ch6_ARS408_can_database_ch6(&(_m->Obj_3_Extended_ch6), _d, dlc_);
      } else if (_id == 0x66EU) {
      } else if (_id == 0x66EU) {
-      recid = Unpack_Obj_4_Warning_ARS408_can_database_ch6(&(_m->Obj_4_Warning), _d, dlc_);
+      recid = Unpack_Obj_4_Warning_ch6_ARS408_can_database_ch6(&(_m->Obj_4_Warning_ch6), _d, dlc_);
      }
      }
     }
     }
    } else {
    } else {
     if (_id == 0x760U) {
     if (_id == 0x760U) {
-     recid = Unpack_VersionID_ARS408_can_database_ch6(&(_m->VersionID), _d, dlc_);
+     recid = Unpack_VersionID_ch6_ARS408_can_database_ch6(&(_m->VersionID_ch6), _d, dlc_);
     } else {
     } else {
      if (_id == 0x761U) {
      if (_id == 0x761U) {
-      recid = Unpack_Cluster_1_General_ARS408_can_database_ch6(&(_m->Cluster_1_General), _d, dlc_);
+      recid = Unpack_Cluster_1_General_ch6_ARS408_can_database_ch6(&(_m->Cluster_1_General_ch6), _d, dlc_);
      } else if (_id == 0x762U) {
      } else if (_id == 0x762U) {
-      recid = Unpack_Cluster_2_Quality_ARS408_can_database_ch6(&(_m->Cluster_2_Quality), _d, dlc_);
+      recid = Unpack_Cluster_2_Quality_ch6_ARS408_can_database_ch6(&(_m->Cluster_2_Quality_ch6), _d, dlc_);
      }
      }
     }
     }
    }
    }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-binutil.h

@@ -15,27 +15,29 @@ extern "C" {
 
 
 typedef struct
 typedef struct
 {
 {
-  CollDetRelayCtrl_t CollDetRelayCtrl;
-  RadarConfiguration_t RadarConfiguration;
-  RadarState_t RadarState;
-  FilterCfg_t FilterCfg;
-  FilterState_Header_t FilterState_Header;
-  FilterState_Cfg_t FilterState_Cfg;
-  SpeedInformation_t SpeedInformation;
-  YawRateInformation_t YawRateInformation;
-  CollDetState_t CollDetState;
-  CollDetCfg_t CollDetCfg;
-  CollDetRegionCfg_t CollDetRegionCfg;
-  CollDetRegionState_t CollDetRegionState;
-  Cluster_0_Status_t Cluster_0_Status;
-  Obj_0_Status_t Obj_0_Status;
-  Obj_1_General_t Obj_1_General;
-  Obj_2_Quality_t Obj_2_Quality;
-  Obj_3_Extended_t Obj_3_Extended;
-  Obj_4_Warning_t Obj_4_Warning;
-  VersionID_t VersionID;
-  Cluster_1_General_t Cluster_1_General;
-  Cluster_2_Quality_t Cluster_2_Quality;
+  CollDetRelayCtrl_ch6_t CollDetRelayCtrl_ch6;
+  RadarConfiguration_ch6_t RadarConfiguration_ch6;
+  RadarState_ch6_t RadarState_ch6;
+  FilterCfg_ch6_t FilterCfg_ch6;
+  FilterState_Header_ch6_t FilterState_Header_ch6;
+  FilterState_Cfg_ch6_t FilterState_Cfg_ch6;
+  PolygonFilter_Cfg_ch6_t PolygonFilter_Cfg_ch6;
+  PolygonFilter_State_ch6_t PolygonFilter_State_ch6;
+  SpeedInformation_ch6_t SpeedInformation_ch6;
+  YawRateInformation_ch6_t YawRateInformation_ch6;
+  CollDetCfg_ch6_t CollDetCfg_ch6;
+  CollDetRegionCfg_ch6_t CollDetRegionCfg_ch6;
+  CollDetRegionState_ch6_t CollDetRegionState_ch6;
+  CollDetState_ch6_t CollDetState_ch6;
+  Cluster_0_Status_ch6_t Cluster_0_Status_ch6;
+  Obj_0_Status_ch6_t Obj_0_Status_ch6;
+  Obj_1_General_ch6_t Obj_1_General_ch6;
+  Obj_2_Quality_ch6_t Obj_2_Quality_ch6;
+  Obj_3_Extended_ch6_t Obj_3_Extended_ch6;
+  Obj_4_Warning_ch6_t Obj_4_Warning_ch6;
+  VersionID_ch6_t VersionID_ch6;
+  Cluster_1_General_ch6_t Cluster_1_General_ch6;
+  Cluster_2_Quality_ch6_t Cluster_2_Quality_ch6;
 } ars408_can_database_ch6_rx_t;
 } ars408_can_database_ch6_rx_t;
 
 
 // There is no any TX mapped massage.
 // There is no any TX mapped massage.

+ 2 - 2
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-config.h

@@ -47,7 +47,7 @@
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   User have to use '_phys' signal to read physical value. */
   User have to use '_phys' signal to read physical value. */
 
 
-/* #define ARS408_CAN_DATABASE_CH6_USE_SIGFLOAT */
+ #define ARS408_CAN_DATABASE_CH6_USE_SIGFLOAT
 
 
 
 
 /* ------------------------------------------------------------------------- *
 /* ------------------------------------------------------------------------- *
@@ -103,7 +103,7 @@
   and loaded to payload
   and loaded to payload
 
 
   In unpack function checksum signal is checked with calculated.
   In unpack function checksum signal is checked with calculated.
-  (result may be tested in dedicated Fmon_*** function).
+  (result may be tested in dedicated Fmon_*** function). */
 
 
 /* #define ARS408_CAN_DATABASE_CH6_AUTO_CSM */
 /* #define ARS408_CAN_DATABASE_CH6_AUTO_CSM */
 
 

+ 31 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-fmon.c

@@ -7,107 +7,117 @@ Put the monitor function content here, keep in mind -
 next generation will completely clear all manually added code (!)
 next generation will completely clear all manually added code (!)
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarConfiguration_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_RadarConfiguration_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarState_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_RadarState_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterCfg_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_FilterCfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Header_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_FilterState_Header_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Cfg_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_FilterState_Cfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_SpeedInformation_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_YawRateInformation_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_State_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetState_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetCfg_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_YawRateInformation_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionCfg_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionState_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_CollDetRegionCfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_0_Status_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_CollDetRegionState_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_0_Status_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_CollDetState_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_1_General_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_Cluster_0_Status_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_2_Quality_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_Obj_0_Status_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_3_Extended_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_Obj_1_General_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_4_Warning_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_Obj_2_Quality_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_VersionID_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_Obj_3_Extended_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_1_General_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_Obj_4_Warning_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_2_Quality_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_VersionID_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_1_General_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_2_Quality_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6-fmon.h

@@ -20,27 +20,29 @@ It is the user responsibility to defined these functions in the
 separated .c file. If it won't be done the linkage error will happen
 separated .c file. If it won't be done the linkage error will happen
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_RadarConfiguration_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_RadarState_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_FilterCfg_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_FilterState_Header_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_FilterState_Cfg_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_SpeedInformation_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_YawRateInformation_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_CollDetState_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_CollDetCfg_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_CollDetRegionCfg_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_CollDetRegionState_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_Cluster_0_Status_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_Obj_0_Status_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_Obj_1_General_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_Obj_2_Quality_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_Obj_3_Extended_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_Obj_4_Warning_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_VersionID_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_Cluster_1_General_ars408_can_database_ch6(FrameMonitor_t* _mon);
-void FMon_Cluster_2_Quality_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_CollDetRelayCtrl_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_RadarConfiguration_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_RadarState_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_FilterCfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_FilterState_Header_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_FilterState_Cfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_Cfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_State_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_SpeedInformation_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_YawRateInformation_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_CollDetCfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_CollDetRegionCfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_CollDetRegionState_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_CollDetState_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_Cluster_0_Status_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_Obj_0_Status_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_Obj_1_General_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_Obj_2_Quality_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_Obj_3_Extended_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_Obj_4_Warning_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_VersionID_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_Cluster_1_General_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
+void FMon_Cluster_2_Quality_ch6_ars408_can_database_ch6(FrameMonitor_t* _mon);
 
 
 #endif // ARS408_CAN_DATABASE_CH6_USE_DIAG_MONITORS
 #endif // ARS408_CAN_DATABASE_CH6_USE_DIAG_MONITORS
 
 

File diff suppressed because it is too large
+ 366 - 216
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6.c


File diff suppressed because it is too large
+ 372 - 200
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch6.h


+ 34 - 26
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-binutil.c

@@ -13,36 +13,40 @@ uint32_t ars408_can_database_ch7_Receive(ars408_can_database_ch7_rx_t* _m, const
   if ((_id >= 0x8U) && (_id < 0x274U)) {
   if ((_id >= 0x8U) && (_id < 0x274U)) {
    if ((_id >= 0x8U) && (_id < 0x271U)) {
    if ((_id >= 0x8U) && (_id < 0x271U)) {
     if (_id == 0x8U) {
     if (_id == 0x8U) {
-     recid = Unpack_CollDetRelayCtrl_ARS408_can_database_ch7(&(_m->CollDetRelayCtrl), _d, dlc_);
+     recid = Unpack_CollDetRelayCtrl_ch7_ARS408_can_database_ch7(&(_m->CollDetRelayCtrl_ch7), _d, dlc_);
     } else if (_id == 0x270U) {
     } else if (_id == 0x270U) {
-     recid = Unpack_RadarConfiguration_ARS408_can_database_ch7(&(_m->RadarConfiguration), _d, dlc_);
+     recid = Unpack_RadarConfiguration_ch7_ARS408_can_database_ch7(&(_m->RadarConfiguration_ch7), _d, dlc_);
     }
     }
    } else {
    } else {
     if (_id == 0x271U) {
     if (_id == 0x271U) {
-     recid = Unpack_RadarState_ARS408_can_database_ch7(&(_m->RadarState), _d, dlc_);
+     recid = Unpack_RadarState_ch7_ARS408_can_database_ch7(&(_m->RadarState_ch7), _d, dlc_);
     } else {
     } else {
      if (_id == 0x272U) {
      if (_id == 0x272U) {
-      recid = Unpack_FilterCfg_ARS408_can_database_ch7(&(_m->FilterCfg), _d, dlc_);
+      recid = Unpack_FilterCfg_ch7_ARS408_can_database_ch7(&(_m->FilterCfg_ch7), _d, dlc_);
      } else if (_id == 0x273U) {
      } else if (_id == 0x273U) {
-      recid = Unpack_FilterState_Header_ARS408_can_database_ch7(&(_m->FilterState_Header), _d, dlc_);
+      recid = Unpack_FilterState_Header_ch7_ARS408_can_database_ch7(&(_m->FilterState_Header_ch7), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
-   if ((_id >= 0x274U) && (_id < 0x371U)) {
+   if ((_id >= 0x274U) && (_id < 0x370U)) {
     if (_id == 0x274U) {
     if (_id == 0x274U) {
-     recid = Unpack_FilterState_Cfg_ARS408_can_database_ch7(&(_m->FilterState_Cfg), _d, dlc_);
-    } else if (_id == 0x370U) {
-     recid = Unpack_SpeedInformation_ARS408_can_database_ch7(&(_m->SpeedInformation), _d, dlc_);
+     recid = Unpack_FilterState_Cfg_ch7_ARS408_can_database_ch7(&(_m->FilterState_Cfg_ch7), _d, dlc_);
+    } else {
+     if (_id == 0x275U) {
+      recid = Unpack_PolygonFilter_Cfg_ch7_ARS408_can_database_ch7(&(_m->PolygonFilter_Cfg_ch7), _d, dlc_);
+     } else if (_id == 0x276U) {
+      recid = Unpack_PolygonFilter_State_ch7_ARS408_can_database_ch7(&(_m->PolygonFilter_State_ch7), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
-    if (_id == 0x371U) {
-     recid = Unpack_YawRateInformation_ARS408_can_database_ch7(&(_m->YawRateInformation), _d, dlc_);
+    if (_id == 0x370U) {
+     recid = Unpack_SpeedInformation_ch7_ARS408_can_database_ch7(&(_m->SpeedInformation_ch7), _d, dlc_);
     } else {
     } else {
-     if (_id == 0x408U) {
-      recid = Unpack_CollDetState_ARS408_can_database_ch7(&(_m->CollDetState), _d, dlc_);
+     if (_id == 0x371U) {
+      recid = Unpack_YawRateInformation_ch7_ARS408_can_database_ch7(&(_m->YawRateInformation_ch7), _d, dlc_);
      } else if (_id == 0x470U) {
      } else if (_id == 0x470U) {
-      recid = Unpack_CollDetCfg_ARS408_can_database_ch7(&(_m->CollDetCfg), _d, dlc_);
+      recid = Unpack_CollDetCfg_ch7_ARS408_can_database_ch7(&(_m->CollDetCfg_ch7), _d, dlc_);
      }
      }
     }
     }
    }
    }
@@ -51,40 +55,44 @@ uint32_t ars408_can_database_ch7_Receive(ars408_can_database_ch7_rx_t* _m, const
   if ((_id >= 0x471U) && (_id < 0x67CU)) {
   if ((_id >= 0x471U) && (_id < 0x67CU)) {
    if ((_id >= 0x471U) && (_id < 0x670U)) {
    if ((_id >= 0x471U) && (_id < 0x670U)) {
     if (_id == 0x471U) {
     if (_id == 0x471U) {
-     recid = Unpack_CollDetRegionCfg_ARS408_can_database_ch7(&(_m->CollDetRegionCfg), _d, dlc_);
-    } else if (_id == 0x472U) {
-     recid = Unpack_CollDetRegionState_ARS408_can_database_ch7(&(_m->CollDetRegionState), _d, dlc_);
+     recid = Unpack_CollDetRegionCfg_ch7_ARS408_can_database_ch7(&(_m->CollDetRegionCfg_ch7), _d, dlc_);
+    } else {
+     if (_id == 0x472U) {
+      recid = Unpack_CollDetRegionState_ch7_ARS408_can_database_ch7(&(_m->CollDetRegionState_ch7), _d, dlc_);
+     } else if (_id == 0x478U) {
+      recid = Unpack_CollDetState_ch7_ARS408_can_database_ch7(&(_m->CollDetState_ch7), _d, dlc_);
+     }
     }
     }
    } else {
    } else {
     if (_id == 0x670U) {
     if (_id == 0x670U) {
-     recid = Unpack_Cluster_0_Status_ARS408_can_database_ch7(&(_m->Cluster_0_Status), _d, dlc_);
+     recid = Unpack_Cluster_0_Status_ch7_ARS408_can_database_ch7(&(_m->Cluster_0_Status_ch7), _d, dlc_);
     } else {
     } else {
      if (_id == 0x67AU) {
      if (_id == 0x67AU) {
-      recid = Unpack_Obj_0_Status_ARS408_can_database_ch7(&(_m->Obj_0_Status), _d, dlc_);
+      recid = Unpack_Obj_0_Status_ch7_ARS408_can_database_ch7(&(_m->Obj_0_Status_ch7), _d, dlc_);
      } else if (_id == 0x67BU) {
      } else if (_id == 0x67BU) {
-      recid = Unpack_Obj_1_General_ARS408_can_database_ch7(&(_m->Obj_1_General), _d, dlc_);
+      recid = Unpack_Obj_1_General_ch7_ARS408_can_database_ch7(&(_m->Obj_1_General_ch7), _d, dlc_);
      }
      }
     }
     }
    }
    }
   } else {
   } else {
    if ((_id >= 0x67CU) && (_id < 0x770U)) {
    if ((_id >= 0x67CU) && (_id < 0x770U)) {
     if (_id == 0x67CU) {
     if (_id == 0x67CU) {
-     recid = Unpack_Obj_2_Quality_ARS408_can_database_ch7(&(_m->Obj_2_Quality), _d, dlc_);
+     recid = Unpack_Obj_2_Quality_ch7_ARS408_can_database_ch7(&(_m->Obj_2_Quality_ch7), _d, dlc_);
     } else {
     } else {
      if (_id == 0x67DU) {
      if (_id == 0x67DU) {
-      recid = Unpack_Obj_3_Extended_ARS408_can_database_ch7(&(_m->Obj_3_Extended), _d, dlc_);
+      recid = Unpack_Obj_3_Extended_ch7_ARS408_can_database_ch7(&(_m->Obj_3_Extended_ch7), _d, dlc_);
      } else if (_id == 0x67EU) {
      } else if (_id == 0x67EU) {
-      recid = Unpack_Obj_4_Warning_ARS408_can_database_ch7(&(_m->Obj_4_Warning), _d, dlc_);
+      recid = Unpack_Obj_4_Warning_ch7_ARS408_can_database_ch7(&(_m->Obj_4_Warning_ch7), _d, dlc_);
      }
      }
     }
     }
    } else {
    } else {
     if (_id == 0x770U) {
     if (_id == 0x770U) {
-     recid = Unpack_VersionID_ARS408_can_database_ch7(&(_m->VersionID), _d, dlc_);
+     recid = Unpack_VersionID_ch7_ARS408_can_database_ch7(&(_m->VersionID_ch7), _d, dlc_);
     } else {
     } else {
      if (_id == 0x771U) {
      if (_id == 0x771U) {
-      recid = Unpack_Cluster_1_General_ARS408_can_database_ch7(&(_m->Cluster_1_General), _d, dlc_);
+      recid = Unpack_Cluster_1_General_ch7_ARS408_can_database_ch7(&(_m->Cluster_1_General_ch7), _d, dlc_);
      } else if (_id == 0x772U) {
      } else if (_id == 0x772U) {
-      recid = Unpack_Cluster_2_Quality_ARS408_can_database_ch7(&(_m->Cluster_2_Quality), _d, dlc_);
+      recid = Unpack_Cluster_2_Quality_ch7_ARS408_can_database_ch7(&(_m->Cluster_2_Quality_ch7), _d, dlc_);
      }
      }
     }
     }
    }
    }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-binutil.h

@@ -15,27 +15,29 @@ extern "C" {
 
 
 typedef struct
 typedef struct
 {
 {
-  CollDetRelayCtrl_t CollDetRelayCtrl;
-  RadarConfiguration_t RadarConfiguration;
-  RadarState_t RadarState;
-  FilterCfg_t FilterCfg;
-  FilterState_Header_t FilterState_Header;
-  FilterState_Cfg_t FilterState_Cfg;
-  SpeedInformation_t SpeedInformation;
-  YawRateInformation_t YawRateInformation;
-  CollDetState_t CollDetState;
-  CollDetCfg_t CollDetCfg;
-  CollDetRegionCfg_t CollDetRegionCfg;
-  CollDetRegionState_t CollDetRegionState;
-  Cluster_0_Status_t Cluster_0_Status;
-  Obj_0_Status_t Obj_0_Status;
-  Obj_1_General_t Obj_1_General;
-  Obj_2_Quality_t Obj_2_Quality;
-  Obj_3_Extended_t Obj_3_Extended;
-  Obj_4_Warning_t Obj_4_Warning;
-  VersionID_t VersionID;
-  Cluster_1_General_t Cluster_1_General;
-  Cluster_2_Quality_t Cluster_2_Quality;
+  CollDetRelayCtrl_ch7_t CollDetRelayCtrl_ch7;
+  RadarConfiguration_ch7_t RadarConfiguration_ch7;
+  RadarState_ch7_t RadarState_ch7;
+  FilterCfg_ch7_t FilterCfg_ch7;
+  FilterState_Header_ch7_t FilterState_Header_ch7;
+  FilterState_Cfg_ch7_t FilterState_Cfg_ch7;
+  PolygonFilter_Cfg_ch7_t PolygonFilter_Cfg_ch7;
+  PolygonFilter_State_ch7_t PolygonFilter_State_ch7;
+  SpeedInformation_ch7_t SpeedInformation_ch7;
+  YawRateInformation_ch7_t YawRateInformation_ch7;
+  CollDetCfg_ch7_t CollDetCfg_ch7;
+  CollDetRegionCfg_ch7_t CollDetRegionCfg_ch7;
+  CollDetRegionState_ch7_t CollDetRegionState_ch7;
+  CollDetState_ch7_t CollDetState_ch7;
+  Cluster_0_Status_ch7_t Cluster_0_Status_ch7;
+  Obj_0_Status_ch7_t Obj_0_Status_ch7;
+  Obj_1_General_ch7_t Obj_1_General_ch7;
+  Obj_2_Quality_ch7_t Obj_2_Quality_ch7;
+  Obj_3_Extended_ch7_t Obj_3_Extended_ch7;
+  Obj_4_Warning_ch7_t Obj_4_Warning_ch7;
+  VersionID_ch7_t VersionID_ch7;
+  Cluster_1_General_ch7_t Cluster_1_General_ch7;
+  Cluster_2_Quality_ch7_t Cluster_2_Quality_ch7;
 } ars408_can_database_ch7_rx_t;
 } ars408_can_database_ch7_rx_t;
 
 
 // There is no any TX mapped massage.
 // There is no any TX mapped massage.

+ 2 - 2
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-config.h

@@ -47,7 +47,7 @@
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   3. In unpack function '_phys' signal will be written by '_ro' signal.
   User have to use '_phys' signal to read physical value. */
   User have to use '_phys' signal to read physical value. */
 
 
-/* #define ARS408_CAN_DATABASE_CH7_USE_SIGFLOAT */
+ #define ARS408_CAN_DATABASE_CH7_USE_SIGFLOAT
 
 
 
 
 /* ------------------------------------------------------------------------- *
 /* ------------------------------------------------------------------------- *
@@ -103,7 +103,7 @@
   and loaded to payload
   and loaded to payload
 
 
   In unpack function checksum signal is checked with calculated.
   In unpack function checksum signal is checked with calculated.
-  (result may be tested in dedicated Fmon_*** function).
+  (result may be tested in dedicated Fmon_*** function). */
 
 
 /* #define ARS408_CAN_DATABASE_CH7_AUTO_CSM */
 /* #define ARS408_CAN_DATABASE_CH7_AUTO_CSM */
 
 

+ 31 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-fmon.c

@@ -7,107 +7,117 @@ Put the monitor function content here, keep in mind -
 next generation will completely clear all manually added code (!)
 next generation will completely clear all manually added code (!)
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarConfiguration_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_RadarConfiguration_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_RadarState_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_RadarState_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterCfg_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_FilterCfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Header_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_FilterState_Header_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_FilterState_Cfg_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_FilterState_Cfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_SpeedInformation_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_YawRateInformation_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_State_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetState_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetCfg_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_YawRateInformation_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionCfg_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_CollDetRegionState_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_CollDetRegionCfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_0_Status_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_CollDetRegionState_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_0_Status_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_CollDetState_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_1_General_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_Cluster_0_Status_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_2_Quality_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_Obj_0_Status_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_3_Extended_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_Obj_1_General_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Obj_4_Warning_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_Obj_2_Quality_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_VersionID_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_Obj_3_Extended_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_1_General_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_Obj_4_Warning_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }
 
 
-void FMon_Cluster_2_Quality_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_VersionID_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_1_General_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
+{
+  (void)_mon;
+}
+
+void FMon_Cluster_2_Quality_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon)
 {
 {
   (void)_mon;
   (void)_mon;
 }
 }

+ 23 - 21
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7-fmon.h

@@ -20,27 +20,29 @@ It is the user responsibility to defined these functions in the
 separated .c file. If it won't be done the linkage error will happen
 separated .c file. If it won't be done the linkage error will happen
 */
 */
 
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_RadarConfiguration_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_RadarState_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_FilterCfg_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_FilterState_Header_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_FilterState_Cfg_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_SpeedInformation_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_YawRateInformation_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_CollDetState_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_CollDetCfg_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_CollDetRegionCfg_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_CollDetRegionState_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_Cluster_0_Status_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_Obj_0_Status_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_Obj_1_General_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_Obj_2_Quality_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_Obj_3_Extended_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_Obj_4_Warning_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_VersionID_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_Cluster_1_General_ars408_can_database_ch7(FrameMonitor_t* _mon);
-void FMon_Cluster_2_Quality_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_CollDetRelayCtrl_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_RadarConfiguration_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_RadarState_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_FilterCfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_FilterState_Header_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_FilterState_Cfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_Cfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_PolygonFilter_State_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_SpeedInformation_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_YawRateInformation_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_CollDetCfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_CollDetRegionCfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_CollDetRegionState_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_CollDetState_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_Cluster_0_Status_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_Obj_0_Status_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_Obj_1_General_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_Obj_2_Quality_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_Obj_3_Extended_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_Obj_4_Warning_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_VersionID_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_Cluster_1_General_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
+void FMon_Cluster_2_Quality_ch7_ars408_can_database_ch7(FrameMonitor_t* _mon);
 
 
 #endif // ARS408_CAN_DATABASE_CH7_USE_DIAG_MONITORS
 #endif // ARS408_CAN_DATABASE_CH7_USE_DIAG_MONITORS
 
 

File diff suppressed because it is too large
+ 366 - 216
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7.c


File diff suppressed because it is too large
+ 372 - 200
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/ars408_can_database_ch7.h


+ 1 - 1
src/driver/driver_radar_continental_ARS408_SRR308/CAN_database_code/dbccodeconf.h

@@ -3,7 +3,7 @@
 #include <stdint.h>
 #include <stdint.h>
 
 
 // when USE_SIGFLOAT enabed the sigfloat_t must be defined
 // when USE_SIGFLOAT enabed the sigfloat_t must be defined
-// typedef double sigfloat_t;
+ typedef double sigfloat_t;
 
 
 // when USE_CANSTRUCT enabled __CoderDbcCanFrame_t__ must be defined
 // when USE_CANSTRUCT enabled __CoderDbcCanFrame_t__ must be defined
 // #include "{header_with_can_struct}"
 // #include "{header_with_can_struct}"

+ 8 - 8
src/driver/driver_radar_continental_ARS408_SRR308/CollDetRegion_Cfg.yaml

@@ -1,12 +1,12 @@
 CollDetRegion_Cfg:
 CollDetRegion_Cfg:
-  -CollDetRegionCfg_Rigion0 # max number of rigion is 8 (id:0-7)
-  -CollDetRegionCfg_Rigion1
-  -CollDetRegionCfg_Rigion2
-  -CollDetRegionCfg_Rigion3
-  -CollDetRegionCfg_Rigion4
-  -CollDetRegionCfg_Rigion5
-  -CollDetRegionCfg_Rigion6
-  -CollDetRegionCfg_Rigion7
+  - CollDetRegionCfg_Rigion0 # max number of rigion is 8 (id:0-7)
+  - CollDetRegionCfg_Rigion1
+  - CollDetRegionCfg_Rigion2
+  - CollDetRegionCfg_Rigion3
+  - CollDetRegionCfg_Rigion4
+  - CollDetRegionCfg_Rigion5
+  - CollDetRegionCfg_Rigion6
+  - CollDetRegionCfg_Rigion7
 CollDetRegionCfg_Rigion0:
 CollDetRegionCfg_Rigion0:
   CollDetRegionCfg_Activation: 0
   CollDetRegionCfg_Activation: 0
   CollDetRegionCfg_Coordinates_Valid: 1
   CollDetRegionCfg_Coordinates_Valid: 1

+ 12 - 5
src/driver/driver_radar_continental_ARS408_SRR308/CollDet_Cfg.yaml

@@ -1,5 +1,12 @@
-CollDetCfg_WarningRestet: 0 # true for resetting all warning
-CollDetCfg_Activation: 0 # enable or disable collecting detection
-CollDetCfg_MinTime_Valid: 0 # true means allow to change min_time
-CollDetCfg_ClearRegions: 0 # true to clear all regions
-CollDetCfg_MinTime: 0 # min time (second) to start warning when an object enter a region  
+CollDet_Cfg:
+  - CollDetCfg_WarningRestet # true for resetting all warning
+  - CollDetCfg_Activation # enable or disable collecting detection
+  - CollDetCfg_MinTime_Valid # true means allow to change min_time
+  - CollDetCfg_ClearRegions # true to clear all regions
+  - CollDetCfg_MinTime # min time (second) to start warning when an object enter a region
+CollDetCfg_WarningRestet: 0
+CollDetCfg_Activation: 0
+CollDetCfg_MinTime_Valid: 0
+CollDetCfg_ClearRegions: 0
+CollDetCfg_MinTime: 0
+

+ 15 - 15
src/driver/driver_radar_continental_ARS408_SRR308/Filter_Cfg.yaml

@@ -1,19 +1,19 @@
 Filter_Cfg:
 Filter_Cfg:
-  -FilterCfg_NofObj # max number of objects
-  -FilterCfg_Distance # r=sqrt(x^2+y^2)
-  -FilterCfg_Azimuth # a=arctan(y/x) deg
-  -FilterCfg_VrelOncome # not compatible for object mode on SRR308
-  -FilterCfg_VrelDepart
-  -FilterCfg_RCS
-  -FilterCfg_Lifetime
-  -FilterCfg_Size
-  -FilterCfg_ProbExists
-  -FilterCfg_Y # left is positive
-  -FilterCfg_X # front is positive
-  -FilterCfg_VYRightLeft # not compatible for object mode on SRR308
-  -FilterCfg_VXOncome # not compatible for object mode on SRR308
-  -FilterCfg_VYLeftRight # not compatible for object mode on SRR308
-  -FilterCfg_VXDepart # not compatible for object mode on SRR308
+  - FilterCfg_NofObj # index is 0x0 max number of objects
+  - FilterCfg_Distance # index is 0x1 r=sqrt(x^2+y^2)
+  - FilterCfg_Azimuth # index is 0x2 a=arctan(y/x) deg
+  - FilterCfg_VrelOncome # index is 0x3 not compatible for object mode on SRR308
+  - FilterCfg_VrelDepart # index is 0x4
+  - FilterCfg_RCS # index is 0x5
+  - FilterCfg_Lifetime # index is 0x6
+  - FilterCfg_Size # index is 0x7
+  - FilterCfg_ProbExists # index is 0x8
+  - FilterCfg_Y # index is 0x9 left is positive
+  - FilterCfg_X # index is 0xA front is positive
+  - FilterCfg_VYRightLeft # index is 0xB not compatible for object mode on SRR308
+  - FilterCfg_VXOncome # index is 0xC not compatible for object mode on SRR308
+  - FilterCfg_VYLeftRight # index is 0xD not compatible for object mode on SRR308
+  - FilterCfg_VXDepart # index is 0xE not compatible for object mode on SRR308
 # do not delete above items
 # do not delete above items
 FilterCfg_NofObj:
 FilterCfg_NofObj:
   FilterCfg_Active: 1
   FilterCfg_Active: 1

+ 8 - 9
src/driver/driver_radar_continental_ARS408_SRR308/PolygonFilter_Cfg.yaml

@@ -1,12 +1,12 @@
 PolygonFilter_Cfg:
 PolygonFilter_Cfg:
-  -PolygonFilter_StoreInNvm # define object of polygon setting
-  -PolygonFilter_Reset # clear polygon setting, use it with StoreInNvm setting
-  -PolygonFilter_Active # true mean setting will be used
-  -PolygonFilter_Valid # true mean setting is allowed
-  -PolygonFilter_Point1 # point near left
-  -PolygonFilter_Point2 # point near right
-  -PolygonFilter_Point3 # point far right
-  -PolygonFilter_Point4 # point far left
+  - PolygonFilter_StoreInNvm # define object of polygon setting
+  - PolygonFilter_Reset # clear polygon setting, use it with StoreInNvm setting
+  - PolygonFilter_Active # true mean setting will be used
+  - PolygonFilter_Valid # true mean setting is allowed
+  - PolygonFilter_Point1 # point near left
+  - PolygonFilter_Point2 # point near right
+  - PolygonFilter_Point3 # point far right
+  - PolygonFilter_Point4 # point far left
 PolygonFilter_StoreInNvm: 0
 PolygonFilter_StoreInNvm: 0
 PolygonFilter_Reset: 1
 PolygonFilter_Reset: 1
 PolygonFilter_Active: 0
 PolygonFilter_Active: 0
@@ -24,4 +24,3 @@ PolygonFilter_Point4:
   X: 250
   X: 250
   Y: 204.8
   Y: 204.8
 
 
-

+ 46 - 0
src/driver/driver_radar_continental_ARS408_SRR308/Radar_Cfg.yaml

@@ -0,0 +1,46 @@
+Radar_Cfg:
+  - RadarCfg_MaxDistance # 196-260m
+  - RadarCfg_MaxDistance_Valid # true for setting
+  - RadarCfg_SensorID # 0-7
+  - RadarCfg_SensorID_Valid # true for setting
+  - RadarCfg_RadarPower # 0-3 but not for SRR308
+  - RadarCfg_RadarPower_Valid # true for setting
+  - RadarCfg_OutputType # 0:none 1:object 2:cluster
+  - RadarCfg_OutputType_Valid # true for setting
+  - RadarCfg_SendQuality # 1:sending quality info
+  - RadarCfg_SendQuality_Valid # true for setting
+  - RadarCfg_SendExtInfo # 1:sending extra info
+  - RadarCfg_SendExtInfo_Valid # true for setting
+  - RadarCfg_SortIndex # 0:none 1:range 2:RCS
+  - RadarCfg_SortIndex_Valid # true for setting
+  - RadarCfg_CtrlRelay # 1:active
+  - RadarCfg_CtrlRelay_Valid # true for setting
+  - RadarCfg_StoreInNVM # 1:store settings into memory
+  - RadarCfg_StoreInNVM_Valid # true for setting
+  - RadarCfg_RCS_Threshold # 1:high sensitivity in cluster mode
+  - RadarCfg_RCS_Threshold_Valid # true for setting
+  - RadarCfg_InvalidClusters # only for SRR308 0:close cluster output
+  - RadarCfg_InvalidClusters_Valid # true for setting
+RadarCfg_MaxDistance: 260
+RadarCfg_MaxDistance_Valid: 0
+RadarCfg_SensorID: 0
+RadarCfg_SensorID_Valid: 0
+RadarCfg_RadarPower: 0
+RadarCfg_RadarPower_Valid: 0
+RadarCfg_OutputType: 1
+RadarCfg_OutputType_Valid: 1
+RadarCfg_SendQuality: 1
+RadarCfg_SendQuality_Valid: 1
+RadarCfg_SendExtInfo: 1
+RadarCfg_SendExtInfo_Valid: 1
+RadarCfg_SortIndex: 1
+RadarCfg_SortIndex_Valid: 1
+RadarCfg_CtrlRelay: 0
+RadarCfg_CtrlRelay_Valid: 0
+RadarCfg_StoreInNVM: 1
+RadarCfg_StoreInNVM_Valid: 1
+RadarCfg_RCS_Threshold: 0
+RadarCfg_RCS_Threshold_Valid: 0
+RadarCfg_InvalidClusters: 0
+RadarCfg_InvalidClusters_Valid: 0
+

+ 167 - 0
src/driver/driver_radar_continental_ARS408_SRR308/decode_cfg.cpp

@@ -0,0 +1,167 @@
+#include "decode_cfg.h"
+
+int decode_setup_cfg_from_xml(setupCfg &setupConfig , std::string xmlFilePath)
+{
+    iv::xmlparam::Xmlparam xp(xmlFilePath);
+
+    setupConfig.strMemCANRecv = xp.GetParam("canrecv_shm","canrecv0");
+    setupConfig.strMemCANRecv = xp.GetParam("cansend_shm","cansend0");
+    setupConfig.strMemRadar = xp.GetParam("radar_shm","radar0");
+    setupConfig.strMemGPSIMU = xp.GetParam("gpsimu_shm","hcp2_gpsimu");
+    setupConfig.strMemChassis = xp.GetParam("chassis_shm","chassis");
+    setupConfig.radarType = xp.GetParam("Radar_Type",0);
+    setupConfig.radarAzimuth = xp.GetParam("Radar_Azimuth",0.0);
+    setupConfig.radarOffsetX = xp.GetParam("Radar_Offset_X",0.0);
+    setupConfig.radarOffsetY = xp.GetParam("Radar_Offset_Y",0.0);
+    setupConfig.radarCfgApply = xp.GetParam("Radar_Cfg_Apply",0);
+    setupConfig.radarCfgYAML_Path = xp.GetParam("RadarCfg_YAML_Path","Radar_Cfg.yaml");
+    setupConfig.filterCfgApply = xp.GetParam("Filter_Cfg_Apply",0);
+    setupConfig.filterCfgYAML_Path = xp.GetParam("FilterCfg_YAML_Path","Filter_Cfg.yaml");
+    setupConfig.polygonFilterCfgApply = xp.GetParam("PolygonFilter_Cfg_Apply",0);
+    setupConfig.polygonFilterCfgYAML_Path = xp.GetParam("PolygonFilterCfg_YAML_Path","PolygonFilter_Cfg.yaml");
+    setupConfig.collDetCfgApply = xp.GetParam("CollDet_Cfg_Apply",0);
+    setupConfig.collDetCfgYAML_Path = xp.GetParam("CollDetCfg_YAML_Path","CollDet_Cfg.yaml");
+    setupConfig.collDetRegionCfgApply = xp.GetParam("CollDetRegion_Cfg_Apply",0);
+    setupConfig.collDetRegionCfgYAML_Path = xp.GetParam("CollDetRegionCfg_YAML_Path","CollDetRegion_Cfg.yaml");
+
+//    std::cout << setupConfig.strMemRecv << std::endl;
+//    std::cout << setupConfig.strMemSend << std::endl;
+//    std::cout << setupConfig.strMemRadar << std::endl;
+//    std::cout << setupConfig.strMemIMU << std::endl;
+//    std::cout << setupConfig.strMemChassis << std::endl;
+//    std::cout << int(setupConfig.radarType) << std::endl;
+//    std::cout << setupConfig.radarAzimuth << std::endl;
+//    std::cout << setupConfig.radarOffsetX << std::endl;
+//    std::cout << setupConfig.radarOffsetY << std::endl;
+//    std::cout << int(setupConfig.radarCfgApply) << std::endl;
+//    std::cout << setupConfig.radarCfgYAML_Path << std::endl;
+//    std::cout << int(setupConfig.filterCfgApply) << std::endl;
+//    std::cout << setupConfig.filterCfgYAML_Path << std::endl;
+//    std::cout << int(setupConfig.polygonFilterCfgApply) << std::endl;
+//    std::cout << setupConfig.polygonFilterCfgYAML_Path << std::endl;
+//    std::cout << int(setupConfig.collDetCfgApply) << std::endl;
+//    std::cout << setupConfig.collDetCfgYAML_Path << std::endl;
+//    std::cout << int(setupConfig.collDetRegionCfgApply) << std::endl;
+//    std::cout << setupConfig.collDetRegionCfgYAML_Path << std::endl;
+
+    return 0;
+}
+
+int decode_radar_cfg_from_yaml(RadarConfiguration_ch0_t &radarConfiguration , const std::string &yamlFilePath)
+{
+    YAML::Node config;
+    try
+    {
+        config = YAML::LoadFile(yamlFilePath);
+    }
+    catch(YAML::BadFile &e)
+    {
+        std::cout<<e.what()<<std::endl;
+        std::cout<<"yaml file load fail."<<std::endl;
+        return -1;
+    }
+    catch(YAML::ParserException &e)
+    {
+        std::cout<<e.what()<<std::endl;
+        std::cout<<"yaml file is malformed."<<std::endl;
+        return -1;
+    }
+    if(config["Radar_Cfg"]&&config["Radar_Cfg"].size()==22)
+    {
+        if(config["RadarCfg_MaxDistance"])
+            radarConfiguration.RadarCfg_MaxDistance_phys = config["RadarCfg_MaxDistance"].as<uint16_t>();
+        else
+            radarConfiguration.RadarCfg_MaxDistance_phys = 260;
+        if(config["RadarCfg_MaxDistance_Valid"])
+            radarConfiguration.RadarCfg_MaxDistance_valid = config["RadarCfg_MaxDistance_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_MaxDistance_valid = 0;
+        if(config["RadarCfg_SensorID"])
+            radarConfiguration.RadarCfg_SensorID = config["RadarCfg_SensorID"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_SensorID = 0;
+        if(config["RadarCfg_SensorID_Valid"])
+            radarConfiguration.RadarCfg_SensorID_valid = config["RadarCfg_SensorID_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_SensorID_valid = 0;
+        if(config["RadarCfg_RadarPower"])
+            radarConfiguration.RadarCfg_RadarPower = config["RadarCfg_RadarPower"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_RadarPower = 0;
+        if(config["RadarCfg_RadarPower_Valid"])
+            radarConfiguration.RadarCfg_RadarPower_valid = config["RadarCfg_RadarPower_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_RadarPower_valid = 0;
+        if(config["RadarCfg_OutputType"])
+            radarConfiguration.RadarCfg_OutputType = config["RadarCfg_OutputType"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_OutputType = 0;
+        if(config["RadarCfg_OutputType_Valid"])
+            radarConfiguration.RadarCfg_OutputType_valid = config["RadarCfg_OutputType_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_OutputType_valid = 0;
+        if(config["RadarCfg_SendQuality"])
+            radarConfiguration.RadarCfg_SendQuality = config["RadarCfg_SendQuality"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_SendQuality = 0;
+        if(config["RadarCfg_SendQuality_Valid"])
+            radarConfiguration.RadarCfg_SendQuality_valid = config["RadarCfg_SendQuality_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_SendQuality_valid = 1;
+        if(config["RadarCfg_SendExtInfo"])
+            radarConfiguration.RadarCfg_SendExtInfo = config["RadarCfg_SendExtInfo"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_SendExtInfo = 1;
+        if(config["RadarCfg_SendExtInfo_Valid"])
+            radarConfiguration.RadarCfg_SendExtInfo_valid = config["RadarCfg_SendExtInfo_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_SendExtInfo_valid = 0;
+        if(config["RadarCfg_SortIndex"])
+            radarConfiguration.RadarCfg_SortIndex = config["RadarCfg_SortIndex"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_SortIndex = 1;
+        if(config["RadarCfg_SortIndex_Valid"])
+            radarConfiguration.RadarCfg_SortIndex_valid = config["RadarCfg_SortIndex_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_SortIndex_valid = 0;
+        if(config["RadarCfg_CtrlRelay"])
+            radarConfiguration.RadarCfg_CtrlRelay = config["RadarCfg_CtrlRelay"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_CtrlRelay = 0;
+        if(config["RadarCfg_CtrlRelay_Valid"])
+            radarConfiguration.RadarCfg_CtrlRelay_valid = config["RadarCfg_CtrlRelay_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_CtrlRelay_valid = 0;
+        if(config["RadarCfg_StoreInNVM"])
+            radarConfiguration.RadarCfg_StoreInNVM = config["RadarCfg_StoreInNVM"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_StoreInNVM = 1;
+        if(config["RadarCfg_StoreInNVM_Valid"])
+            radarConfiguration.RadarCfg_StoreInNVM_valid = config["RadarCfg_StoreInNVM_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_StoreInNVM_valid = 0;
+        if(config["RadarCfg_RCS_Threshold"])
+            radarConfiguration.RadarCfg_RCS_Threshold = config["RadarCfg_RCS_Threshold"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_RCS_Threshold = 0;
+        if(config["RadarCfg_RCS_Threshold_Valid"])
+            radarConfiguration.RadarCfg_RCS_Threshold_Valid = config["RadarCfg_RCS_Threshold_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_RCS_Threshold_Valid = 0;
+        if(config["RadarCfg_InvalidClusters"])
+            radarConfiguration.RadarCfg_InvalidClusters = config["RadarCfg_InvalidClusters"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_InvalidClusters = 0;
+        if(config["RadarCfg_InvalidClusters_Valid"])
+            radarConfiguration.RadarCfg_InvalidClusters_valid = config["RadarCfg_InvalidClusters_Valid"].as<uint8_t>();
+        else
+            radarConfiguration.RadarCfg_InvalidClusters_valid = 0;
+    }
+    else
+    {
+        std::cout << "yaml file is not a radar config file or maybe some config item are missed" << std::endl;
+        return -1;
+    }
+
+    return 0;
+}

+ 44 - 0
src/driver/driver_radar_continental_ARS408_SRR308/decode_cfg.h

@@ -0,0 +1,44 @@
+#ifndef DECODE_CFG_H
+#define DECODE_CFG_H
+
+#include <iostream>
+
+#include "xmlparam.h"
+#include <yaml-cpp/yaml.h>
+
+#include "CAN_database_code/ars408_can_database_ch0-binutil.h"
+#include "CAN_database_code/ars408_can_database_ch1-binutil.h"
+#include "CAN_database_code/ars408_can_database_ch2-binutil.h"
+#include "CAN_database_code/ars408_can_database_ch3-binutil.h"
+#include "CAN_database_code/ars408_can_database_ch4-binutil.h"
+#include "CAN_database_code/ars408_can_database_ch5-binutil.h"
+#include "CAN_database_code/ars408_can_database_ch6-binutil.h"
+#include "CAN_database_code/ars408_can_database_ch7-binutil.h"
+
+struct setupCfg
+{
+    std::string strMemCANRecv = "canrecv0";
+    std::string strMemCANSend = "cansend0";
+    std::string strMemRadar = "radar0";
+    std::string strMemGPSIMU = "hcp2_gpsimu";
+    std::string strMemChassis = "chassis";
+    int8_t radarType = 0;
+    double radarAzimuth = 0.0;
+    double radarOffsetX = 0.0;
+    double radarOffsetY = 0.0;
+    int8_t radarCfgApply = 0;
+    std::string radarCfgYAML_Path = "Radar_Cfg.yaml";
+    int8_t filterCfgApply = 0;
+    std::string filterCfgYAML_Path = "Filter_Cfg.yaml";
+    int8_t polygonFilterCfgApply = 0;
+    std::string polygonFilterCfgYAML_Path = "PolygonFilter_Cfg.yaml";
+    int8_t collDetCfgApply = 0;
+    std::string collDetCfgYAML_Path = "CollDet_Cfg.yaml";
+    int8_t collDetRegionCfgApply = 0;
+    std::string collDetRegionCfgYAML_Path = "CollDetRegion_Cfg.yaml";
+};
+
+int decode_setup_cfg_from_xml(setupCfg &setupConfig , std::string xmlFilePath);
+int decode_radar_cfg_from_yaml(RadarConfiguration_ch0_t &radarConfiguration , const std::string &yamlFilePath);
+
+#endif // DECODE_CFG_H

+ 74 - 3
src/driver/driver_radar_continental_ARS408_SRR308/driver_radar_continental_ARS408_SRR308.pro

@@ -24,13 +24,82 @@ HEADERS += \
     ../../include/msgtype/radarobject.pb.h \
     ../../include/msgtype/radarobject.pb.h \
     ../../include/msgtype/radarobjectarray.pb.h \
     ../../include/msgtype/radarobjectarray.pb.h \
     ../../include/msgtype/canmsg.pb.h \
     ../../include/msgtype/canmsg.pb.h \
-    ../../include/msgtype/canraw.pb.h
+    ../../include/msgtype/canraw.pb.h \
+    ../../include/msgtype/chassis.pb.h \
+    ../../include/msgtype/gpsimu.pb.h \
+    CAN_database_code/ars408_can_database_ch0-binutil.h \
+    CAN_database_code/ars408_can_database_ch0-config.h \
+    CAN_database_code/ars408_can_database_ch0-fmon.h \
+    CAN_database_code/ars408_can_database_ch0.h \
+    CAN_database_code/ars408_can_database_ch1-binutil.h \
+    CAN_database_code/ars408_can_database_ch1-config.h \
+    CAN_database_code/ars408_can_database_ch1-fmon.h \
+    CAN_database_code/ars408_can_database_ch1.h \
+    CAN_database_code/ars408_can_database_ch2-binutil.h \
+    CAN_database_code/ars408_can_database_ch2-config.h \
+    CAN_database_code/ars408_can_database_ch2-fmon.h \
+    CAN_database_code/ars408_can_database_ch2.h \
+    CAN_database_code/ars408_can_database_ch3-binutil.h \
+    CAN_database_code/ars408_can_database_ch3-config.h \
+    CAN_database_code/ars408_can_database_ch3-fmon.h \
+    CAN_database_code/ars408_can_database_ch3.h \
+    CAN_database_code/ars408_can_database_ch4-binutil.h \
+    CAN_database_code/ars408_can_database_ch4-config.h \
+    CAN_database_code/ars408_can_database_ch4-fmon.h \
+    CAN_database_code/ars408_can_database_ch4.h \
+    CAN_database_code/ars408_can_database_ch5-binutil.h \
+    CAN_database_code/ars408_can_database_ch5-config.h \
+    CAN_database_code/ars408_can_database_ch5-fmon.h \
+    CAN_database_code/ars408_can_database_ch5.h \
+    CAN_database_code/ars408_can_database_ch6-binutil.h \
+    CAN_database_code/ars408_can_database_ch6-config.h \
+    CAN_database_code/ars408_can_database_ch6-fmon.h \
+    CAN_database_code/ars408_can_database_ch6.h \
+    CAN_database_code/ars408_can_database_ch7-binutil.h \
+    CAN_database_code/ars408_can_database_ch7-config.h \
+    CAN_database_code/ars408_can_database_ch7-fmon.h \
+    CAN_database_code/ars408_can_database_ch7.h \
+    CAN_database_code/canmonitorutil.h \
+    CAN_database_code/dbccodeconf.h \
+    decode_cfg.h
 
 
 SOURCES += main.cpp \
 SOURCES += main.cpp \
     ../../include/msgtype/radarobject.pb.cc \
     ../../include/msgtype/radarobject.pb.cc \
     ../../include/msgtype/radarobjectarray.pb.cc \
     ../../include/msgtype/radarobjectarray.pb.cc \
     ../../include/msgtype/canmsg.pb.cc \
     ../../include/msgtype/canmsg.pb.cc \
-    ../../include/msgtype/canraw.pb.cc
+    ../../include/msgtype/canraw.pb.cc \
+    ../../include/msgtype/chassis.pb.cc \
+    ../../include/msgtype/gpsimu.pb.cc \
+    CAN_database_code/ars408_can_database_ch0-binutil.c \
+    CAN_database_code/ars408_can_database_ch0-fmon.c \
+    CAN_database_code/ars408_can_database_ch0.c \
+    CAN_database_code/ars408_can_database_ch1-binutil.c \
+    CAN_database_code/ars408_can_database_ch1-fmon.c \
+    CAN_database_code/ars408_can_database_ch1.c \
+    CAN_database_code/ars408_can_database_ch2-binutil.c \
+    CAN_database_code/ars408_can_database_ch2-fmon.c \
+    CAN_database_code/ars408_can_database_ch2.c \
+    CAN_database_code/ars408_can_database_ch3-binutil.c \
+    CAN_database_code/ars408_can_database_ch3-fmon.c \
+    CAN_database_code/ars408_can_database_ch3.c \
+    CAN_database_code/ars408_can_database_ch4-binutil.c \
+    CAN_database_code/ars408_can_database_ch4-fmon.c \
+    CAN_database_code/ars408_can_database_ch4.c \
+    CAN_database_code/ars408_can_database_ch5-binutil.c \
+    CAN_database_code/ars408_can_database_ch5-fmon.c \
+    CAN_database_code/ars408_can_database_ch5.c \
+    CAN_database_code/ars408_can_database_ch6-binutil.c \
+    CAN_database_code/ars408_can_database_ch6-fmon.c \
+    CAN_database_code/ars408_can_database_ch6.c \
+    CAN_database_code/ars408_can_database_ch7-binutil.c \
+    CAN_database_code/ars408_can_database_ch7-fmon.c \
+    CAN_database_code/ars408_can_database_ch7.c \
+    decode_cfg.cpp
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
 
 
 !include(../../../include/common.pri ) {
 !include(../../../include/common.pri ) {
     error( "Couldn't find the common.pri file!" )
     error( "Couldn't find the common.pri file!" )
@@ -40,5 +109,7 @@ SOURCES += main.cpp \
     error( "Couldn't find the ivprotobuf.pri file!" )
     error( "Couldn't find the ivprotobuf.pri file!" )
 }
 }
 
 
-
+!include(../../../include/ivyaml-cpp.pri ) {
+    error( "Couldn't find the ivyaml-cpp.pri file!" )
+}
 
 

+ 10 - 29
src/driver/driver_radar_continental_ARS408_SRR308/driver_radar_continental_ARS408_SRR308.xml

@@ -1,42 +1,23 @@
 <xml>	
 <xml>	
 	<node name="detection_radar_conti_ARS408_SRR308">
 	<node name="detection_radar_conti_ARS408_SRR308">
-		<param name="canrecv" value="canrecv0" />
-		<param name="cansend" value="cansend0" />
+		<param name="canrecv_shm" value="canrecv0" />
+		<param name="cansend_shm" value="cansend0" />
 		<param name="radar_shm" value="radar_front" />
 		<param name="radar_shm" value="radar_front" />
-		<param name="imu_shm" value="hcp2_gpsimu" />
+		<param name="gpsimu_shm" value="hcp2_gpsimu" />
 		<param name="chassis_shm" value="chassis" />
 		<param name="chassis_shm" value="chassis" />
 		<param name="Radar_Type" value="0" /> <!-- 0:ARS408-21XX/1:ARS408-21SC3/2:SRR308-21 -->
 		<param name="Radar_Type" value="0" /> <!-- 0:ARS408-21XX/1:ARS408-21SC3/2:SRR308-21 -->
-		<param name="Radar_Azimuth" value="0" /> <!-- degrees from head of car to normal vector of radar emitted surface, ccw is positive -->
-		<param name="Radar_Cfg_Apply" value="0" /> <!-- true for sending can message which setting radar -->
-		<param name="RadarCfg_MaxDistance" value="260" /> <!-- 196-260m -->
-		<param name="RadarCfg_MaxDistance_Valid" value="0" /> <!-- true for setting -->
-		<param name="RadarCfg_SensorID" value="0" /> <!-- 0-7 -->
-		<param name="RadarCfg_SensorID_Valid" value="0" /> <!-- true for setting -->
-		<param name="RadarCfg_RadarPower" value="0" /> <!-- 0-3 but not for SRR308 -->
-		<param name="RadarCfg_RadarPower_Valid" value="0" /> <!-- true for setting -->
-		<param name="RadarCfg_OutputType" value="1" /> <!-- 0:none 1:object 2:cluster -->
-		<param name="RadarCfg_OutputType_Valid" value="1" /> <!-- true for setting -->
-		<param name="RadarCfg_SendQuality" value="1" /> <!-- 1:sending quality info -->
-		<param name="RadarCfg_SendQuality_Valid" value="1" /> <!-- true for setting -->
-		<param name="RadarCfg_SendExtInfo" value="1" /> <!-- 1:sending extra info -->
-		<param name="RadarCfg_SendExtInfo_Valid" value="1" /> <!-- true for setting -->
-		<param name="RadarCfg_SortIndex" value="1" /> <!-- 0:none 1:range 2:RCS -->
-		<param name="RadarCfg_SortIndex_Valid" value="1" /> <!-- true for setting -->
-		<param name="RadarCfg_CtrlRelay" value="0" /> <!-- 1:active -->
-		<param name="RadarCfg_CtrlRelay_Valid" value="0" /> <!-- true for setting -->
-		<param name="RadarCfg_StoreInNVM" value="1" /> <!-- 1:store settings into memory -->
-		<param name="RadarCfg_StoreInNVM_Valid" value="1" /> <!-- true for setting -->
-		<param name="RadarCfg_RCS_Threshold" value="0" /> <!-- 1:high sensitivity in cluster mode -->
-		<param name="RadarCfg_RCS_Threshold_Valid" value="0" /> <!-- true for setting -->
-		<param name="RadarCfg_InvalidClusters" value="127" /> <!-- only for SRR308 0:close cluster output -->
-		<param name="RadarCfg_InvalidClusters_Valid" value="0" /> <!-- true for setting -->
+		<param name="Radar_Azimuth" value="0.0" /> <!-- degrees from head of car to normal vector of radar emitted surface, ccw is positive -->
+		<param name="Radar_Offset_X" value="0.0" /> <!-- the position of radar base on car coordinate system, RFU is XYZ positive -->
+		<param name="Radar_Offset_Y" value="0.0" /> <!-- the position of radar base on car coordinate system, RFU is XYZ positive -->
+		<param name="Radar_Cfg_Apply" value="1" /> <!-- true for sending can message which setting radar -->
+		<param name="RadarCfg_YAML_Path" value="Radar_Cfg.yaml" /> <!-- setting file path -->
 		<param name="Filter_Cfg_Apply" value="0" /> <!-- true for sending can message which setting filter -->
 		<param name="Filter_Cfg_Apply" value="0" /> <!-- true for sending can message which setting filter -->
 		<param name="FilterCfg_YAML_Path" value="Filter_Cfg.yaml" /> <!-- setting file path -->
 		<param name="FilterCfg_YAML_Path" value="Filter_Cfg.yaml" /> <!-- setting file path -->
 		<param name="PolygonFilter_Cfg_Apply" value="0" /> <!-- true for setting, only for 408-21sc3 -->
 		<param name="PolygonFilter_Cfg_Apply" value="0" /> <!-- true for setting, only for 408-21sc3 -->
 		<param name="PolygonFilterCfg_YAML_Path" value="PolygonFilter_Cfg.yaml" /> <!-- setting file path -->
 		<param name="PolygonFilterCfg_YAML_Path" value="PolygonFilter_Cfg.yaml" /> <!-- setting file path -->
 		<param name="CollDet_Cfg_Apply" value="0" /> <!-- true for sending can message which setting filter -->
 		<param name="CollDet_Cfg_Apply" value="0" /> <!-- true for sending can message which setting filter -->
-		<param name="CollDet_YAML_Path" value="CollDet_Cfg.yaml" /> <!-- setting file path -->
+		<param name="CollDetCfg_YAML_Path" value="CollDet_Cfg.yaml" /> <!-- setting file path -->
 		<param name="CollDetRegion_Cfg_Apply" value="0" /> <!-- true for sending can message which setting filter -->
 		<param name="CollDetRegion_Cfg_Apply" value="0" /> <!-- true for sending can message which setting filter -->
-		<param name="CollDetRegion_YAML_Path" value="CollDetRegion_Cfg.yaml" /> <!-- setting file path -->
+		<param name="CollDetRegionCfg_YAML_Path" value="CollDetRegion_Cfg.yaml" /> <!-- setting file path -->
 	</node>
 	</node>
 </xml>
 </xml>

+ 170 - 38
src/driver/driver_radar_continental_ARS408_SRR308/main.cpp

@@ -1,34 +1,80 @@
 #include <QCoreApplication>
 #include <QCoreApplication>
 
 
-#include <iostream>
 #include <QDateTime>
 #include <QDateTime>
+#include <QTimer>
+#include <QThread>
+#include <QSemaphore>
+
+#include <iostream>
+#include <thread>
 
 
 #include "modulecomm.h"
 #include "modulecomm.h"
-#include "xmlparam.h"
 #include "ivversion.h"
 #include "ivversion.h"
 #include "ivbacktrace.h"
 #include "ivbacktrace.h"
+#include "ivfault.h"
+#include "ivlog.h"
+#include "ivexit.h"
 
 
 #include "canmsg.pb.h"
 #include "canmsg.pb.h"
 #include "radarobjectarray.pb.h"
 #include "radarobjectarray.pb.h"
-#include "ivfault.h"
-#include "ivlog.h"
+#include "chassis.pb.h"
+#include "gpsimu.pb.h"
 
 
-iv::radar::radarobjectarray gobj;
-int gntemp = 0;
+#include "decode_cfg.h"
+
+#ifndef IV_MSGUNIT
+#define IV_MSGUNIT
 
 
-void * gpa;
-void * gpb;
+namespace iv {
+struct msgunit
+{
+    char mstrmsgname[256];
+    int mnBufferSize = 10000;
+    int mnBufferCount = 1;
+    void * mpa = nullptr;
+    std::shared_ptr<char> mpstrmsgdata;
+    int mndatasize = 0;
+    bool mbRefresh = false;
+    bool mbImportant = false;
+    int mnkeeptime = 100;
+};
+}
+
+#endif
+
+QCoreApplication * gApp;
 
 
 iv::Ivfault *gfault = nullptr;
 iv::Ivfault *gfault = nullptr;
 iv::Ivlog *givlog = nullptr;
 iv::Ivlog *givlog = nullptr;
 
 
-static int gnNotSend = 10;
+setupCfg setupConfig;
 
 
-QTime gTime;
+iv::msgunit shmCANRecv;
+iv::msgunit shmCANSend;
+iv::msgunit shmRadar;
+iv::msgunit shmGPSIMU;
+iv::msgunit shmChassis;
 
 
-static bool gbinit = false;
+const uint16_t CANRecvBufferSize = 4096;
+iv::can::canraw CANRecvBuffer[CANRecvBufferSize];
+QSemaphore CANRecvFreeSpace(CANRecvBufferSize);
+QSemaphore CANRecvUsedSpace(0);
+uint64_t CANRecvProducerPtr = 0;
+uint64_t CANRecvConsumerPtr = 0;
+
+const uint16_t CANSendBufferSize = 4096;
+iv::can::canraw CANSendBuffer[CANSendBufferSize];
+QSemaphore CANSendFreeSpace(CANSendBufferSize);
+QSemaphore CANSendUsedSpace(0);
+uint64_t CANSendProducerPtr = 0;
+uint64_t CANSendConsumerPtr = 0;
 
 
+iv::radar::radarobjectarray gobj;
+int gntemp = 0;
 
 
+static int gnNotSend = 10;
+
+static bool gbinit = false;
 
 
 iv::radar::radarobjectarray mradararray;
 iv::radar::radarobjectarray mradararray;
 
 
@@ -38,7 +84,7 @@ void ShareResult()
     int nsize = mradararray.ByteSize();
     int nsize = mradararray.ByteSize();
     if(mradararray.SerializeToArray(str,nsize))
     if(mradararray.SerializeToArray(str,nsize))
     {
     {
-        iv::modulecomm::ModuleSendMsg(gpa,str,nsize);
+        iv::modulecomm::ModuleSendMsg(shmCANSend.mpa,str,nsize);
     }
     }
 
 
     givlog->verbose("obj size is %d ",mradararray.obj_size());
     givlog->verbose("obj size is %d ",mradararray.obj_size());
@@ -70,7 +116,7 @@ void ProcRadarMsg(iv::can::canraw xmsg)
         char * str = new char[nsize];
         char * str = new char[nsize];
         if(xsend.SerializeToArray(str,nsize))
         if(xsend.SerializeToArray(str,nsize))
         {
         {
-            iv::modulecomm::ModuleSendMsg(gpb,str,nsize);
+            iv::modulecomm::ModuleSendMsg(shmRadar.mpa,str,nsize);
         }
         }
         else
         else
         {
         {
@@ -150,57 +196,143 @@ void DecodeRadar(iv::can::canmsg xmsgvetor)
 
 
 }
 }
 
 
-void Listencanmsg(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
+void ListenCANMsg(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
 {
 {
 
 
-    if(nSize<1)return;
+    if(nSize<1)
+    {
+        std::cout<<"radar ListenCANMsg data empty."<<std::endl;
+        return;
+    }
     iv::can::canmsg xmsg;
     iv::can::canmsg xmsg;
-    if(false == xmsg.ParseFromArray(strdata,nSize))
+    if(!xmsg.ParseFromArray(strdata,nSize))
     {
     {
         givlog->error("radar Listencanmsg fail");
         givlog->error("radar Listencanmsg fail");
         gfault->SetFaultState(1, 0, "radar Listencanmsg error");
         gfault->SetFaultState(1, 0, "radar Listencanmsg error");
-        std::cout<<"radar Listencanmsg fail."<<std::endl;
+        std::cout<<"radar ListenCANMsg parse fail."<<std::endl;
         return;
         return;
     }
     }
 
 
-    DecodeRadar(xmsg);
+    CANRecvFreeSpace.acquire(xmsg.rawmsg_size());
+    for(int i=0;i<xmsg.rawmsg_size();i++)
+    {
+        CANRecvBuffer[CANRecvProducerPtr++ % CANRecvBufferSize] = xmsg.rawmsg(i);
+    }
+    CANRecvUsedSpace.release(xmsg.rawmsg_size());
+
+//    DecodeRadar(xmsg);
+
+}
 
 
-//    qDebug("can size is %d",xmsg.rawmsg_size());
-//    xt = QDateTime::currentMSecsSinceEpoch();
-//    qDebug("latence = %ld ",xt-pic.time());
+void ListenGPSIMUMsg(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
+{
+    if(nSize<1)
+    {
+        std::cout<<"radar ListenGPSIMUMsg data empty."<<std::endl;
+        return;
+    }
+    iv::gps::gpsimu xdata;
+    if(!xdata.ParseFromArray(strdata,nSize))
+    {
+        std::cout<<" radar ListenGPSIMUMsg parse fail."<<std::endl;
+        return;
+    }
+}
 
 
+void ListenChassisMsg(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
+{
+    if(nSize<1)
+    {
+        std::cout<<"radar ListenChassisMsg data empty."<<std::endl;
+        return;
+    }
+    iv::chassis xdata;
+    if(!xdata.ParseFromArray(strdata,nSize))
+    {
+        std::cout<<" radar ListenChassisMsg parse fail."<<std::endl;
+        return;
+    }
+}
+
+void ExitFunc()
+{
+    gApp->quit();
+    std::this_thread::sleep_for(std::chrono::milliseconds(1000));
 }
 }
 
 
+void signal_handler(int sig)
+{
+    if(sig == SIGINT)
+    {
+        ExitFunc();
+    }
+}
 
 
 int main(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
 {
     RegisterIVBackTrace();
     RegisterIVBackTrace();
-    showversion("driver_radar_conti_ARS408_SRR308");
+    showversion("driver_radar_continental_ARS408_SRR308");
     QCoreApplication a(argc, argv);
     QCoreApplication a(argc, argv);
 
 
-    gfault = new iv::Ivfault("radar_conti_ARS408_SRR308");
-    givlog = new iv::Ivlog("radar_conti_ARS408_SRR308");
+    gApp = &a;
+
+    gfault = new iv::Ivfault("driver_radar_continental_ARS408_SRR308");
+    givlog = new iv::Ivlog("driver_radar_continental_ARS408_SRR308");
+
+    iv::ivexit::RegIVExitCall(ExitFunc);
+    signal(SIGINT,signal_handler);
 
 
     QString strpath = QCoreApplication::applicationDirPath();
     QString strpath = QCoreApplication::applicationDirPath();
     if(argc < 2)
     if(argc < 2)
-        strpath = strpath + "/driver_radar_conti_ARS408_SRR308.xml";
+        strpath = strpath + "/driver_radar_continental_ARS408_SRR308.xml";
     else
     else
         strpath = argv[1];
         strpath = argv[1];
-    givlog->verbose("%s", strpath.data());
-    std::cout<<strpath.toStdString()<<std::endl;
-
-    iv::xmlparam::Xmlparam xp(strpath.toStdString());
 
 
-    std::string strmemcan = xp.GetParam("canrecv","canrecv0");
-    std::string strmemsend = xp.GetParam("cansend","cansend0");
-    std::string strmemradar = xp.GetParam("radar","radar0");
-
-    gTime.start();
-    gpa = iv::modulecomm::RegisterSend(strmemradar.data(),100000,3);
-    gpb = iv::modulecomm::RegisterSend(strmemsend.data(),100000,3);
-    void * pa = iv::modulecomm::RegisterRecv(strmemcan.data(),Listencanmsg);
+//    givlog->verbose("%s", strpath.data());
+//    std::cout<<strpath.toStdString()<<std::endl;
 
 
+    decode_setup_cfg_from_xml(setupConfig,strpath.toStdString());
 
 
+    if(setupConfig.radarCfgApply!=0)
+    {
+        RadarConfiguration_ch0_t radarConfiguration;
+        decode_radar_cfg_from_yaml(radarConfiguration,setupConfig.radarCfgYAML_Path);
+    }
 
 
-    return a.exec();
+    strncpy(shmCANSend.mstrmsgname,setupConfig.strMemCANSend.data(),255);
+    shmCANSend.mnBufferSize = 100000;
+    shmCANSend.mnBufferCount = 3;
+    shmCANSend.mpa = iv::modulecomm::RegisterSend(shmCANSend.mstrmsgname,shmCANSend.mnBufferSize,shmCANSend.mnBufferCount);
+
+    strncpy(shmRadar.mstrmsgname,setupConfig.strMemRadar.data(),255);
+    shmRadar.mnBufferSize = 100000;
+    shmRadar.mnBufferCount = 1;
+    shmRadar.mpa = iv::modulecomm::RegisterSend(shmRadar.mstrmsgname,shmRadar.mnBufferSize,shmRadar.mnBufferCount);
+
+    strncpy(shmCANRecv.mstrmsgname,setupConfig.strMemCANRecv.data(),255);
+    shmCANRecv.mnBufferSize = 100000;
+    shmCANRecv.mnBufferCount = 3;
+    shmCANRecv.mpa = iv::modulecomm::RegisterRecv(shmCANRecv.mstrmsgname,ListenCANMsg);
+
+    strncpy(shmGPSIMU.mstrmsgname,setupConfig.strMemGPSIMU.data(),255);
+    shmGPSIMU.mnBufferSize = 100000;
+    shmGPSIMU.mnBufferCount = 3;
+    shmGPSIMU.mpa = iv::modulecomm::RegisterRecv(shmGPSIMU.mstrmsgname,ListenGPSIMUMsg);
+
+    strncpy(shmChassis.mstrmsgname,setupConfig.strMemChassis.data(),255);
+    shmChassis.mnBufferSize = 100000;
+    shmChassis.mnBufferCount = 3;
+    shmChassis.mpa = iv::modulecomm::RegisterRecv(shmChassis.mstrmsgname,ListenChassisMsg);
+
+    int rtn = a.exec();
+
+    if(gfault != nullptr)delete gfault;
+    if(givlog != nullptr)delete givlog;
+    if(shmCANRecv.mpa != nullptr)iv::modulecomm::Unregister(shmCANRecv.mpa);
+    if(shmCANSend.mpa != nullptr)iv::modulecomm::Unregister(shmCANSend.mpa);
+    if(shmRadar.mpa != nullptr)iv::modulecomm::Unregister(shmRadar.mpa);
+    if(shmGPSIMU.mpa != nullptr)iv::modulecomm::Unregister(shmGPSIMU.mpa);
+    if(shmChassis.mpa != nullptr)iv::modulecomm::Unregister(shmChassis.mpa);
+
+    return rtn;
 }
 }

Some files were not shown because too many files changed in this diff