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 recid = 0;
- if ((_id >= 0x8U) && (_id < 0x402U)) {
+ if ((_id >= 0x8U) && (_id < 0x401U)) {
   if ((_id >= 0x8U) && (_id < 0x204U)) {
    if ((_id >= 0x8U) && (_id < 0x201U)) {
     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) {
-     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 {
     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 {
      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) {
-      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 {
-   if ((_id >= 0x204U) && (_id < 0x301U)) {
+   if ((_id >= 0x204U) && (_id < 0x300U)) {
     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 {
-    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 {
-     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 {
-  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 {
     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 {
      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) {
-      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 {
    if ((_id >= 0x60CU) && (_id < 0x700U)) {
     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 {
      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) {
-      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 {
     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 {
      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) {
-      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
 {
-  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;
 
 // 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.
   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
 
   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 */
 

+ 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 (!)
 */
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch0_ars408_can_database_ch0(FrameMonitor_t* _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 FMon_RadarState_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_RadarState_ch0_ars408_can_database_ch0(FrameMonitor_t* _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 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 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 FMon_SpeedInformation_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _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 FMon_CollDetCfg_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch0_ars408_can_database_ch0(FrameMonitor_t* _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 FMon_CollDetRegionState_ars408_can_database_ch0(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch0_ars408_can_database_ch0(FrameMonitor_t* _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 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 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 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 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 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 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 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 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 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;
 }

+ 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
 */
 
-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
 

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 < 0x211U)) {
     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) {
-     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 {
     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 {
      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) {
-      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 {
-   if ((_id >= 0x214U) && (_id < 0x311U)) {
+   if ((_id >= 0x214U) && (_id < 0x310U)) {
     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 {
-    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 {
-     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) {
-      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 < 0x610U)) {
     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 {
     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 {
      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) {
-      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 {
    if ((_id >= 0x61CU) && (_id < 0x710U)) {
     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 {
      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) {
-      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 {
     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 {
      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) {
-      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
 {
-  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;
 
 // 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.
   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
 
   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 */
 

+ 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 (!)
 */
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch1_ars408_can_database_ch1(FrameMonitor_t* _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 FMon_RadarState_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_RadarState_ch1_ars408_can_database_ch1(FrameMonitor_t* _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 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 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 FMon_SpeedInformation_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _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 FMon_CollDetState_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch1_ars408_can_database_ch1(FrameMonitor_t* _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 FMon_CollDetRegionCfg_ars408_can_database_ch1(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch1_ars408_can_database_ch1(FrameMonitor_t* _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 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 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 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 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 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 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 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 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 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;
 }

+ 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
 */
 
-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
 

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 < 0x221U)) {
     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) {
-     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 {
     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 {
      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) {
-      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 {
-   if ((_id >= 0x224U) && (_id < 0x321U)) {
+   if ((_id >= 0x224U) && (_id < 0x320U)) {
     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 {
-    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 {
-     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) {
-      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 < 0x620U)) {
     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 {
     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 {
      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) {
-      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 {
    if ((_id >= 0x62CU) && (_id < 0x720U)) {
     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 {
      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) {
-      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 {
     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 {
      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) {
-      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
 {
-  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;
 
 // 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.
   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
 
   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 */
 

+ 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 (!)
 */
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch2_ars408_can_database_ch2(FrameMonitor_t* _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 FMon_RadarState_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_RadarState_ch2_ars408_can_database_ch2(FrameMonitor_t* _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 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 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 FMon_SpeedInformation_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _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 FMon_CollDetState_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch2_ars408_can_database_ch2(FrameMonitor_t* _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 FMon_CollDetRegionCfg_ars408_can_database_ch2(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch2_ars408_can_database_ch2(FrameMonitor_t* _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 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 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 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 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 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 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 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 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 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;
 }

+ 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
 */
 
-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
 

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 < 0x231U)) {
     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) {
-     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 {
     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 {
      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) {
-      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 {
-   if ((_id >= 0x234U) && (_id < 0x331U)) {
+   if ((_id >= 0x234U) && (_id < 0x330U)) {
     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 {
-    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 {
-     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) {
-      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 < 0x630U)) {
     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 {
     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 {
      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) {
-      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 {
    if ((_id >= 0x63CU) && (_id < 0x730U)) {
     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 {
      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) {
-      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 {
     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 {
      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) {
-      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
 {
-  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;
 
 // 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.
   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
 
   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 */
 

+ 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 (!)
 */
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch3_ars408_can_database_ch3(FrameMonitor_t* _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 FMon_RadarState_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_RadarState_ch3_ars408_can_database_ch3(FrameMonitor_t* _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 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 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 FMon_SpeedInformation_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _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 FMon_CollDetState_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch3_ars408_can_database_ch3(FrameMonitor_t* _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 FMon_CollDetRegionCfg_ars408_can_database_ch3(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch3_ars408_can_database_ch3(FrameMonitor_t* _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 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 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 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 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 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 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 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 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 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;
 }

+ 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
 */
 
-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
 

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 < 0x241U)) {
     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) {
-     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 {
     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 {
      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) {
-      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 {
-   if ((_id >= 0x244U) && (_id < 0x341U)) {
+   if ((_id >= 0x244U) && (_id < 0x340U)) {
     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 {
-    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 {
-     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) {
-      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 < 0x640U)) {
     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 {
     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 {
      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) {
-      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 {
    if ((_id >= 0x64CU) && (_id < 0x740U)) {
     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 {
      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) {
-      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 {
     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 {
      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) {
-      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
 {
-  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;
 
 // 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.
   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
 
   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 */
 

+ 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 (!)
 */
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch4_ars408_can_database_ch4(FrameMonitor_t* _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 FMon_RadarState_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_RadarState_ch4_ars408_can_database_ch4(FrameMonitor_t* _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 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 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 FMon_SpeedInformation_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _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 FMon_CollDetState_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch4_ars408_can_database_ch4(FrameMonitor_t* _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 FMon_CollDetRegionCfg_ars408_can_database_ch4(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch4_ars408_can_database_ch4(FrameMonitor_t* _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 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 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 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 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 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 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 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 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 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;
 }

+ 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
 */
 
-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
 

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 < 0x251U)) {
     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) {
-     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 {
     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 {
      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) {
-      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 {
-   if ((_id >= 0x254U) && (_id < 0x351U)) {
+   if ((_id >= 0x254U) && (_id < 0x350U)) {
     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 {
-    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 {
-     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) {
-      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 < 0x650U)) {
     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 {
     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 {
      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) {
-      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 {
    if ((_id >= 0x65CU) && (_id < 0x750U)) {
     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 {
      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) {
-      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 {
     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 {
      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) {
-      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
 {
-  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;
 
 // 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.
   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
 
   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 */
 

+ 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 (!)
 */
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch5_ars408_can_database_ch5(FrameMonitor_t* _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 FMon_RadarState_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_RadarState_ch5_ars408_can_database_ch5(FrameMonitor_t* _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 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 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 FMon_SpeedInformation_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _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 FMon_CollDetState_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch5_ars408_can_database_ch5(FrameMonitor_t* _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 FMon_CollDetRegionCfg_ars408_can_database_ch5(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch5_ars408_can_database_ch5(FrameMonitor_t* _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 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 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 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 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 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 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 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 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 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;
 }

+ 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
 */
 
-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
 

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 < 0x261U)) {
     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) {
-     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 {
     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 {
      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) {
-      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 {
-   if ((_id >= 0x264U) && (_id < 0x361U)) {
+   if ((_id >= 0x264U) && (_id < 0x360U)) {
     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 {
-    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 {
-     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) {
-      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 < 0x660U)) {
     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 {
     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 {
      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) {
-      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 {
    if ((_id >= 0x66CU) && (_id < 0x760U)) {
     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 {
      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) {
-      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 {
     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 {
      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) {
-      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
 {
-  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;
 
 // 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.
   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
 
   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 */
 

+ 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 (!)
 */
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch6_ars408_can_database_ch6(FrameMonitor_t* _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 FMon_RadarState_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_RadarState_ch6_ars408_can_database_ch6(FrameMonitor_t* _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 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 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 FMon_SpeedInformation_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _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 FMon_CollDetState_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch6_ars408_can_database_ch6(FrameMonitor_t* _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 FMon_CollDetRegionCfg_ars408_can_database_ch6(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch6_ars408_can_database_ch6(FrameMonitor_t* _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 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 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 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 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 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 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 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 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 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;
 }

+ 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
 */
 
-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
 

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 < 0x271U)) {
     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) {
-     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 {
     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 {
      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) {
-      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 {
-   if ((_id >= 0x274U) && (_id < 0x371U)) {
+   if ((_id >= 0x274U) && (_id < 0x370U)) {
     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 {
-    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 {
-     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) {
-      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 < 0x670U)) {
     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 {
     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 {
      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) {
-      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 {
    if ((_id >= 0x67CU) && (_id < 0x770U)) {
     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 {
      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) {
-      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 {
     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 {
      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) {
-      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
 {
-  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;
 
 // 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.
   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
 
   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 */
 

+ 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 (!)
 */
 
-void FMon_CollDetRelayCtrl_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_CollDetRelayCtrl_ch7_ars408_can_database_ch7(FrameMonitor_t* _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 FMon_RadarState_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_RadarState_ch7_ars408_can_database_ch7(FrameMonitor_t* _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 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 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 FMon_SpeedInformation_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_PolygonFilter_Cfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _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 FMon_CollDetState_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_SpeedInformation_ch7_ars408_can_database_ch7(FrameMonitor_t* _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 FMon_CollDetRegionCfg_ars408_can_database_ch7(FrameMonitor_t* _mon)
+void FMon_CollDetCfg_ch7_ars408_can_database_ch7(FrameMonitor_t* _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 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 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 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 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 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 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 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 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 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;
 }

+ 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
 */
 
-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
 

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>
 
 // 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
 // #include "{header_with_can_struct}"

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

@@ -1,12 +1,12 @@
 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_Activation: 0
   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:
-  -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
 FilterCfg_NofObj:
   FilterCfg_Active: 1

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

@@ -1,12 +1,12 @@
 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_Reset: 1
 PolygonFilter_Active: 0
@@ -24,4 +24,3 @@ PolygonFilter_Point4:
   X: 250
   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/radarobjectarray.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 \
     ../../include/msgtype/radarobject.pb.cc \
     ../../include/msgtype/radarobjectarray.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 ) {
     error( "Couldn't find the common.pri file!" )
@@ -40,5 +109,7 @@ SOURCES += main.cpp \
     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>	
 	<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="imu_shm" value="hcp2_gpsimu" />
+		<param name="gpsimu_shm" value="hcp2_gpsimu" />
 		<param name="chassis_shm" value="chassis" />
 		<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="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="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_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_YAML_Path" value="CollDetRegion_Cfg.yaml" /> <!-- setting file path -->
+		<param name="CollDetRegionCfg_YAML_Path" value="CollDetRegion_Cfg.yaml" /> <!-- setting file path -->
 	</node>
 </xml>

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

@@ -1,34 +1,80 @@
 #include <QCoreApplication>
 
-#include <iostream>
 #include <QDateTime>
+#include <QTimer>
+#include <QThread>
+#include <QSemaphore>
+
+#include <iostream>
+#include <thread>
 
 #include "modulecomm.h"
-#include "xmlparam.h"
 #include "ivversion.h"
 #include "ivbacktrace.h"
+#include "ivfault.h"
+#include "ivlog.h"
+#include "ivexit.h"
 
 #include "canmsg.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::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;
 
@@ -38,7 +84,7 @@ void ShareResult()
     int nsize = mradararray.ByteSize();
     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());
@@ -70,7 +116,7 @@ void ProcRadarMsg(iv::can::canraw xmsg)
         char * str = new char[nsize];
         if(xsend.SerializeToArray(str,nsize))
         {
-            iv::modulecomm::ModuleSendMsg(gpb,str,nsize);
+            iv::modulecomm::ModuleSendMsg(shmRadar.mpa,str,nsize);
         }
         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;
-    if(false == xmsg.ParseFromArray(strdata,nSize))
+    if(!xmsg.ParseFromArray(strdata,nSize))
     {
         givlog->error("radar Listencanmsg fail");
         gfault->SetFaultState(1, 0, "radar Listencanmsg error");
-        std::cout<<"radar Listencanmsg fail."<<std::endl;
+        std::cout<<"radar ListenCANMsg parse fail."<<std::endl;
         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[])
 {
     RegisterIVBackTrace();
-    showversion("driver_radar_conti_ARS408_SRR308");
+    showversion("driver_radar_continental_ARS408_SRR308");
     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();
     if(argc < 2)
-        strpath = strpath + "/driver_radar_conti_ARS408_SRR308.xml";
+        strpath = strpath + "/driver_radar_continental_ARS408_SRR308.xml";
     else
         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