@@ -201,6 +201,8 @@ typedef unsigned __int64 uint64_t;
201201#define NEODEVICE_NEW_DEVICE_59 (0x00000021)
202202#define NEODEVICE_RAD_BMS (0x00000022)
203203#define NEODEVICE_RADMOON3 (0x00000023)
204+ #define NEODEVICE_RADCOMET (0x00000024)
205+ #define NEODEVICE_NEW_DEVICE_FF (0x00000025)
204206#define NEODEVICE_RED (0x00000040)
205207#define NEODEVICE_ECU (0x00000080)
206208#define NEODEVICE_IEVB (0x00000100)
@@ -232,7 +234,7 @@ typedef unsigned __int64 uint64_t;
232234#define NEODEVICE_NEOECUCHIP NEODEVICE_IEVB
233235//clang-format on
234236
235- #define DEVICECOUNT_FOR_EXPLORER 42 //this value will be checked by the NeoViExplorer after #6453!
237+ #define DEVICECOUNT_FOR_EXPLORER 43 //this value will be checked by the NeoViExplorer after #6453!
236238
237239#define ISO15765_2_NETWORK_HSCAN 0x01
238240#define ISO15765_2_NETWORK_MSCAN 0x02
@@ -955,6 +957,11 @@ typedef union _stChipVersions {
955957 uint8_t zynq_core_minor ;
956958 } radmoon2_z7010_versions ;
957959 struct
960+ {
961+ uint8_t mchip_major ;
962+ uint8_t mchip_minor ;
963+ } radmoon3_versions ;
964+ struct
958965 {
959966 uint8_t mchip_major ;
960967 uint8_t mchip_minor ;
@@ -1168,55 +1175,65 @@ typedef struct ETHERNET_SETTINGS_t
11681175#define ETHERNET_SETTINGS2_FLAG_RTSP_ENABLE 0x08
11691176#define ETHERNET_SETTINGS2_FLAG_DEVICE_HOSTING_ENABLE 0x10
11701177#define ETHERNET_SETTINGS2_FLAG_CONFIG_NOT_ALLOWED 0x20
1178+ #define ETHERNET_SETTINGS2_FLAG_ICS_SFP 0x40
11711179#define ETHERNET_SETTINGS2_FLAG_COMM_IN_USE 0x80
11721180
1181+ #define ETHERNET_SETTINGS2_FLAG2_LINK_MODE 0x01
1182+ #define ETHERNET_SETTINGS2_FLAG2_PHY_MODE 0x02
1183+ #define ETHERNET_SETTINGS2_FLAG2_LINK_MODE_AUTO 0x04
1184+
11731185typedef struct ETHERNET_SETTINGS2_t
11741186{
1175- /* bit0: 0=half duplex, 1=full duplex
1187+ /* FLAGS
1188+ * bit0: 0=half duplex, 1=full duplex
11761189 * bit1: auto negot
11771190 * bit2: enable tcp/ip stack
11781191 * bit3: enable rtsp server
11791192 * bit4: enable intepid device hosting (go online and log other devices)
11801193 * bit5: config not allowed
1194+ * bit6: ICS SFP detected
1195+ * bit7: comm in use
11811196 */
11821197 uint8_t flags ;
1183- uint8_t link_speed ;// 0=10, 1=100, 2=1000
1198+ uint8_t link_speed ; // 0=10, 1=100, 2=1000
11841199 uint32_t ip_addr ;
11851200 uint32_t netmask ;
11861201 uint32_t gateway ;
1187- uint8_t rsvd [2 ];
1202+ /* FLAGS2
1203+ * bit0: link mode - 0=master, 1=slave
1204+ * bit1: PHY mode - 0=IEEE, 1=legacy
1205+ * bit2: auto master/slave
1206+ */
1207+ uint8_t flags2 ;
1208+ uint8_t rsvd ;
11881209} ETHERNET_SETTINGS2 ;
11891210#define ETHERNET_SETTINGS2_SIZE 16
11901211
1191- /* ETHERNET_SETTINGS2 link speed, duplex options */
1192- enum
1193- {
1194- LINK_SPEED_AUTO_NEGOTIATION = 0 ,
1195- LINK_SPEED_1GBPS_FULL_DUPLEX ,
1196- LINK_SPEED_1GBPS_HALF_DUPLEX ,
1197- LINK_SPEED_100MBPS_FULL_DUPLEX ,
1198- LINK_SPEED_100MBPS_HALF_DUPLEX ,
1199- LINK_SPEED_10MBPS_FULL_DUPLEX ,
1200- LINK_SPEED_10MBPS_HALF_DUPLEX ,
1201- // NOTE: new entries must be appended to maintain backwards compatibility
1202- // insert new entries here
1203- LINK_SPEED_COUNT ,
1204- };
1205-
1206- #define ETHERNET_SETTINGS10G_FLAG_FULL_DUPLEX 0x01
1207- #define ETHERNET_SETTINGS10G_FLAG_AUTO_NEG 0x02
1208- #define ETHERNET_SETTINGS10G_FLAG_TCPIP_ENABLE 0x04
1209- #define ETHERNET_SETTINGS10G_FLAG_RTSP_ENABLE 0x08
1210- #define ETHERNET_SETTINGS10G_FLAG_DEVICE_HOSTING_ENABLE 0x10
1211- #define ETHERNET_SETTINGS10G_FLAG_COMM_IN_USE 0x80000000
1212+ #define ETHERNET_SETTINGS10G_FLAG_FULL_DUPLEX 0x00000001
1213+ #define ETHERNET_SETTINGS10G_FLAG_AUTO_NEG 0x00000002
1214+ #define ETHERNET_SETTINGS10G_FLAG_TCPIP_ENABLE 0x00000004
1215+ #define ETHERNET_SETTINGS10G_FLAG_RTSP_ENABLE 0x00000008
1216+ #define ETHERNET_SETTINGS10G_FLAG_DEVICE_HOSTING_ENABLE 0x00000010
1217+ #define ETHERNET_SETTINGS10G_FLAG_CONFIG_NOT_ALLOWED 0x00000020
1218+ #define ETHERNET_SETTINGS10G_FLAG_ICS_SFP 0x00000040
1219+ #define ETHERNET_SETTINGS10G_FLAG_LINK_MODE 0x00000080
1220+ #define ETHERNET_SETTINGS10G_FLAG_PHY_MODE 0x00000100
1221+ #define ETHERNET_SETTINGS10G_FLAG_LINK_MODE_AUTO 0x00000200
1222+ #define ETHERNET_SETTINGS10G_FLAG_COMM_IN_USE 0x80000000
12121223
12131224typedef struct ETHERNET10G_SETTINGS_t
12141225{
1215- /* bit0: 0=half duplex, 1=full duplex
1226+ /* FLAGS
1227+ * bit0: 0=half duplex, 1=full duplex
12161228 * bit1: auto negot
12171229 * bit2: enable tcp/ip stack
12181230 * bit3: enable rtsp server
12191231 * bit4: enable intepid device hosting (go online and log other devices)
1232+ * bit5: config not allowed
1233+ * bit6: ICS SFP detected
1234+ * bit7: link mode - 0=master, 1=slave
1235+ * bit8: PHY mode - 0=IEEE, 1=legacy
1236+ * bit9: auto master/slave
12201237 * bit31: comm in use
12211238 */
12221239 uint32_t flags ;
@@ -2604,7 +2621,6 @@ typedef struct
26042621
26052622typedef struct _SRADA2BSettings
26062623{
2607- // TODO!!!!
26082624 uint16_t perf_en ;
26092625 struct
26102626 {
@@ -2632,9 +2648,10 @@ typedef struct _SRADA2BSettings
26322648 uint32_t pwr_man_timeout ;
26332649 uint16_t pwr_man_enable ;
26342650 ETHERNET_SETTINGS2 ethernet ;
2651+ RAD_GPTP_SETTINGS gPTP ;
26352652} SRADA2BSettings ;
26362653
2637- #define SRADA2BSettings_SIZE 296
2654+ #define SRADA2BSettings_SIZE 332
26382655
26392656typedef struct _SRADMoon2Settings
26402657{
@@ -2659,6 +2676,27 @@ typedef struct _SRADMoon2Settings
26592676
26602677#define SRADMoon2Settings_SIZE 162
26612678
2679+ typedef struct _SRADMoon3Settings
2680+ {
2681+ uint16_t perf_en ; // 2
2682+
2683+ ETHERNET10G_SETTINGS autoEth10g ; // 24
2684+ ETHERNET10G_SETTINGS eth10g ; // 24
2685+
2686+ uint16_t network_enables ; // 2
2687+ uint16_t network_enables_2 ; // 2
2688+ uint16_t network_enabled_on_boot ; // 2
2689+ uint16_t network_enables_3 ; // 2
2690+
2691+ struct
2692+ {
2693+ uint16_t enableLatencyTest : 1 ;
2694+ uint16_t reserved : 15 ;
2695+ } flags ; // 2
2696+ } SRADMoon3Settings ;
2697+
2698+ #define SRADMoon3Settings_SIZE 60
2699+
26622700typedef struct _SRADGigalogSettings
26632701{
26642702 uint32_t ecu_id ;
@@ -3751,8 +3789,10 @@ typedef struct _SFire3Settings
37513789 ETHERNET_SETTINGS ethernet_2 ;
37523790 ETHERNET_SETTINGS2 ethernet2_2 ;
37533791 Fire3LinuxSettings os_settings ;
3792+
3793+ RAD_GPTP_SETTINGS gPTP ;
37543794}SFire3Settings ;
3755- #define SFire3Settings_SIZE (632 )
3795+ #define SFire3Settings_SIZE (668 )
37563796
37573797typedef struct
37583798{
@@ -3883,58 +3923,96 @@ typedef struct _SRADEpsilonSettings
38833923}SRADEpsilonSettings ;//384
38843924#define SRADEpsilonSettings_SIZE 384
38853925
3926+ typedef struct
3927+ {
3928+ uint8_t wBMSDeviceID ;
3929+ uint8_t enabled ;
3930+ } sWIL_FAULT_SERVICING_SETTINGS ;
3931+
3932+ typedef struct
3933+ {
3934+ uint8_t enabled ;
3935+ } sWIL_NETWORK_DATA_CAPTURE_SETTINGS ;
3936+
3937+ typedef struct _sWIL_CONNECTION_SETTINGS
3938+ {
3939+ uint8_t using_port_a ; //1
3940+ uint8_t using_port_b ; //1
3941+ uint8_t attemptConnect ; //1
3942+ sWIL_FAULT_SERVICING_SETTINGS fault_servicing_config ; //2
3943+ sWIL_NETWORK_DATA_CAPTURE_SETTINGS network_data_capture_config ; //1
3944+ uint16_t sensor_buffer_size ; //2
3945+ } sWIL_CONNECTION_SETTINGS ;
3946+
3947+ enum
3948+ {
3949+ SPI_PORT_ONBOARD = 0 ,
3950+ SPI_PORT_EXTERNAL ,
3951+ };
3952+
3953+ typedef struct _sSPI_PORT_SETTINGS
3954+ {
3955+ uint8_t port_a_onbaord_external ;
3956+ uint8_t port_b_onbaord_external ;
3957+ } sSPI_PORT_SETTINGS ;
3958+
38863959typedef union
38873960{
38883961 uint64_t dword ;
38893962 struct
38903963 {
3891- unsigned can_id : 29 ;
3892- unsigned can_id_isExtended : 1 ;
3964+ unsigned can_id : 29 ;
3965+ unsigned can_id_isExtended : 1 ;
38933966 uint16_t tcp_port ;
3894- unsigned manager_onboard_external : 1 ;
3895- unsigned reserved :18 ;
3896- }config ;
3897- } SWILBridgeConfig ;
3967+ unsigned reserved : 18 ;
3968+ } config ;
3969+ } sWILBridgeConfig ;
38983970
38993971typedef struct _SRADBMSSettings
39003972{
3901- /* Performance Test */
3902- uint16_t perf_en ;//2
3973+ /* Performance Test */
3974+ uint16_t perf_en ; //2
39033975
3904- uint64_t termination_enables ;
3976+ uint64_t termination_enables ; //8
39053977
3906- CAN_SETTINGS can1 ;
3907- CANFD_SETTINGS canfd1 ;
3978+ CAN_SETTINGS can1 ; //12
3979+ CANFD_SETTINGS canfd1 ; //10
39083980
3909- CAN_SETTINGS can2 ;
3910- CANFD_SETTINGS canfd2 ;
3981+ CAN_SETTINGS can2 ; //12
3982+ CANFD_SETTINGS canfd2 ; //10
39113983
3912- uint16_t network_enables ;
3913- uint16_t network_enables_2 ;
3914- uint16_t network_enables_3 ;
3984+ uint16_t network_enables ;//2
3985+ uint16_t network_enables_2 ;//2
3986+ uint16_t network_enables_3 ;//2
39153987
39163988 /* ISO15765-2 Transport Layer */
3917- int16_t iso15765_separation_time_offset ;//2
3989+ int16_t iso15765_separation_time_offset ; //2
39183990
3919- struct
3991+ struct
39203992 {
39213993 uint32_t disableUsbCheckOnBoot : 1 ;
39223994 uint32_t enableLatencyTest : 1 ;
39233995 uint32_t enablePcEthernetComm : 1 ;
39243996 uint32_t reserved : 29 ;
3925- } flags ;//4
3997+ } flags ; //4
39263998
3927- ETHERNET_SETTINGS ethernet ;
3928- ETHERNET_SETTINGS2 ethernet2 ;
3999+ ETHERNET_SETTINGS ethernet ; //8
4000+ ETHERNET_SETTINGS2 ethernet2 ; //16
39294001
3930- uint32_t pwr_man_timeout ;
3931- uint16_t pwr_man_enable ;
3932- uint16_t network_enabled_on_boot ;
4002+ uint32_t pwr_man_timeout ; // 4
4003+ uint16_t pwr_man_enable ; //2
4004+ uint16_t network_enabled_on_boot ; //2
39334005
39344006 //WIL wrapped CAN and ETHERNET
3935- SWILBridgeConfig wil_config ;
3936- } SRADBMSSettings ;
3937- #define SRADBMSSettings_SIZE 108
4007+ sWILBridgeConfig wil_config ; //8
4008+
4009+ sSPI_PORT_SETTINGS spi_config ; //2
4010+
4011+ sWIL_CONNECTION_SETTINGS wbms_wil_1 ; //8
4012+ sWIL_CONNECTION_SETTINGS wbms_wil_2 ; //8
4013+
4014+ }SRADBMSSettings ;
4015+ #define SRADBMSSettings_SIZE 126
39384016
39394017#define GS_VERSION 5
39404018typedef struct _GLOBAL_SETTINGS
@@ -3980,6 +4058,7 @@ typedef struct _GLOBAL_SETTINGS
39804058 SRADEpsilonSettings epsilon ;
39814059 SOBD2LCSettings obd2lc ;
39824060 SRADBMSSettings rad_bms ;
4061+ SRADMoon3Settings radmoon3 ;
39834062 // Make sure SDeviceSettings matches this
39844063 };
39854064} GLOBAL_SETTINGS ;
@@ -4024,10 +4103,11 @@ typedef enum _EDeviceSettingsType
40244103 DeviceRADEpsilonSettingsType ,
40254104 DeviceOBD2LCSettingsType ,
40264105 DeviceRADBMSSettingsType ,
4106+ DeviceRADMoon3SettingsType ,
40274107 // add new settings type here
40284108 // Also add to map inside cicsneoVI::Init()
40294109 DeviceSettingsTypeMax ,
4030- DeviceSettingsNone = 0xFFFFFFFF // just wanted to reserve this
4110+ DeviceSettingsNone = 0xFFFFFFFF // just wanted to reserve this
40314111} EDeviceSettingsType ;
40324112
40334113typedef struct _SDeviceSettings
@@ -4072,6 +4152,7 @@ typedef struct _SDeviceSettings
40724152 SRADA2BSettings rad_a2b ;
40734153 SRADEpsilonSettings epsilon ;
40744154 SRADBMSSettings rad_bms ;
4155+ SRADMoon3Settings radmoon3 ;
40754156 // Make sure GLOBAL_SETTINGS matches this
40764157 // NOTE: When adding new structures here implement inside icsneoGetDeviceSettings and icsneoSetDeviceSettings also. } Settings;
40774158 } Settings ;
@@ -4663,7 +4744,7 @@ typedef enum SPhyRegPktStatus
46634744 PHYREG_FAILURE ,
46644745 PHYREG_INVALID_MDIO_BUS_INDEX ,
46654746 PHYREG_INVALID_PHY_ADDR ,
4666- PHYREG_RESERVED0 ,
4747+ PHYREG_UNSUPPORTED_MDIO_CLAUSE ,
46674748 PHYREG_RESERVED1 ,
46684749 PHYREG_RESERVED2 ,
46694750 PHYREG_RESERVED3
@@ -4684,8 +4765,8 @@ typedef struct SPhyRegPkt
46844765 uint16_t Enabled :1 ;
46854766 uint16_t WriteEnable :1 ;
46864767 uint16_t Clause45Enable :1 ;
4687- uint16_t status : 2 ;
4688- uint16_t reserved : 3 ;
4768+ uint16_t status : 3 ;
4769+ uint16_t reserved : 2 ;
46894770 uint16_t BusIndex :4 ;
46904771 uint16_t version :4 ;
46914772 };
@@ -4717,6 +4798,7 @@ typedef enum
47174798 networkTerminationDWCAN06 ,
47184799 networkTerminationDWCAN07 ,
47194800 networkTerminationDWCAN08 ,
4801+ enhancedFlashDriver ,
47204802 NUM_VALID_DEVICE_FEATURES ,
47214803 supportedFeatureMax = 0xFFFF ,
47224804} DeviceFeature ;
@@ -4815,6 +4897,7 @@ CHECK_STRUCT_SIZE(A2BMonitorSettings);
48154897CHECK_STRUCT_SIZE (SRADEpsilonSettings );
48164898CHECK_STRUCT_SIZE (RAD_GPTP_SETTINGS );
48174899CHECK_STRUCT_SIZE (SRADBMSSettings );
4900+ CHECK_STRUCT_SIZE (SRADMoon3Settings );
48184901#endif /* INTREPID_NO_CHECK_STRUCT_SIZE */
48194902
48204903#endif /* _ICSNVC40_H */
0 commit comments