#ifndef __CHIP_ID_H_
#define __CHIP_ID_H_

#include "icsneo/icsneoc2types.h"

#ifdef __cplusplus

#include <cstdint>

namespace icsneo {

enum class ChipID : icsneoc2_chip_id_t {
	neoVIFIRE_MCHIP = icsneoc2_chip_id_neovifire_mchip,
	neoVIFIRE_LCHIP = icsneoc2_chip_id_neovifire_lchip,
	neoVIFIRE_UCHIP = icsneoc2_chip_id_neovifire_uchip,
	neoVIFIRE_JCHIP = icsneoc2_chip_id_neovifire_jchip,
	ValueCAN3_MCHIP = icsneoc2_chip_id_valuecan3_mchip,
	neoVIECU_MPIC = icsneoc2_chip_id_neoviecu_mpic,
	neoVIIEVB_MPIC = icsneoc2_chip_id_neoviievb_mpic,
	neoVIPENDANT_MPIC = icsneoc2_chip_id_neovipendant_mpic,
	neoVIFIRE_VNET_MCHIP = icsneoc2_chip_id_neovifire_vnet_mchip,
	neoVIFIRE_VNET_LCHIP = icsneoc2_chip_id_neovifire_vnet_lchip,
	neoVIPLASMA_Core = icsneoc2_chip_id_neoviplasma_core,
	neoVIPLASMA_HID = icsneoc2_chip_id_neoviplasma_hid,
	neoVIANALOG_MPIC = icsneoc2_chip_id_neovianalog_mpic,
	neoVIPLASMA_ANALOG_Core = icsneoc2_chip_id_neoviplasma_analog_core,
	neoVIPLASMA_FlexRay_Core = icsneoc2_chip_id_neoviplasma_flexray_core,
	neoVIPLASMA_Core_1_12 = icsneoc2_chip_id_neoviplasma_core_1_12,
	neoVIFIRE_Slave_VNET_MCHIP = icsneoc2_chip_id_neovifire_slave_vnet_mchip,
	neoVIFIRE_Slave_VNET_LCHIP = icsneoc2_chip_id_neovifire_slave_vnet_lchip,
	neoVIION_Core = icsneoc2_chip_id_neoviion_core,
	neoVIION_HID = icsneoc2_chip_id_neoviion_hid,
	neoVIION_Core_Loader = icsneoc2_chip_id_neoviion_core_loader,
	neoVIION_HID_Loader = icsneoc2_chip_id_neoviion_hid_loader,
	neoVIION_FPGA_BIT = icsneoc2_chip_id_neoviion_fpga_bit,
	neoVIFIRE_VNET_EP_MCHIP = icsneoc2_chip_id_neovifire_vnet_ep_mchip,
	neoVIFIRE_VNET_EP_LCHIP = icsneoc2_chip_id_neovifire_vnet_ep_lchip,
	neoVIAnalogOut_MCHIP = icsneoc2_chip_id_neovianalogout_mchip,
	neoVIMOST25_MCHIP = icsneoc2_chip_id_neovimost25_mchip,
	neoVIMOST50_MCHIP = icsneoc2_chip_id_neovimost50_mchip,
	neoVIMOST150_MCHIP = icsneoc2_chip_id_neovimost150_mchip,
	ValueCAN4_4_MCHIP = icsneoc2_chip_id_valuecan4_4_mchip,
	ValueCAN4_4_SCHIP = icsneoc2_chip_id_valuecan4_4_schip,
	cmProbe_ZYNQ = icsneoc2_chip_id_cmprobe_zynq,
	EEVB_STM32 = icsneoc2_chip_id_eevb_stm32,
	neoVIFIRE_Slave_VNET_EP_MCHIP = icsneoc2_chip_id_neovifire_slave_vnet_ep_mchip,
	neoVIFIRE_Slave_VNET_EP_LCHIP = icsneoc2_chip_id_neovifire_slave_vnet_ep_lchip,
	RADStar_MCHIP = icsneoc2_chip_id_radstar_mchip,
	ValueCANrf_MCHIP = icsneoc2_chip_id_valuecanrf_mchip,
	neoVIFIRE2_MCHIP = icsneoc2_chip_id_neovifire2_mchip,
	neoVIFIRE2_CCHIP = icsneoc2_chip_id_neovifire2_cchip,
	neoVIFIRE2_Core = icsneoc2_chip_id_neovifire2_core,
	neoVIFIRE2_BLECHIP = icsneoc2_chip_id_neovifire2_blechip,
	neoVIFIRE2_ZYNQ = icsneoc2_chip_id_neovifire2_zynq, // FIRE2 MVNET Z - Zynq
	neoVIFIRE2_SECURITYCHIP = icsneoc2_chip_id_neovifire2_securitychip,
	RADGalaxy_ZYNQ = icsneoc2_chip_id_radgalaxy_zynq,
	neoVIFIRE2_VNET_MCHIP = icsneoc2_chip_id_neovifire2_vnet_mchip,
	neoVIFIRE2_Slave_VNET_A_MCHIP = icsneoc2_chip_id_neovifire2_slave_vnet_a_mchip,
	neoVIFIRE2_Slave_VNET_A_CCHIP = icsneoc2_chip_id_neovifire2_slave_vnet_a_cchip,
	neoVIFIRE2_VNET_CCHIP = icsneoc2_chip_id_neovifire2_vnet_cchip,
	neoVIFIRE2_VNET_Core = icsneoc2_chip_id_neovifire2_vnet_core,
	RADStar2_ZYNQ = icsneoc2_chip_id_radstar2_zynq,
	VividCAN_MCHIP = icsneoc2_chip_id_vividcan_mchip,
	neoOBD2SIM_MCHIP = icsneoc2_chip_id_neoobd2sim_mchip,
	neoVIFIRE2_VNETZ_MCHIP = icsneoc2_chip_id_neovifire2_vnetz_mchip,
	neoVIFIRE2_VNETZ_ZYNQ = icsneoc2_chip_id_neovifire2_vnetz_zynq,
	neoVIFIRE2_Slave_VNETZ_A_MCHIP = icsneoc2_chip_id_neovifire2_slave_vnetz_a_mchip,
	neoVIFIRE2_Slave_VNETZ_A_ZYNQ = icsneoc2_chip_id_neovifire2_slave_vnetz_a_zynq,
	VividCAN_EXT_FLASH = icsneoc2_chip_id_vividcan_ext_flash,
	VividCAN_NRF52 = icsneoc2_chip_id_vividcan_nrf52,
	cmProbe_ZYNQ_Unused = icsneoc2_chip_id_cmprobe_zynq_unused, // Double defined
	neoOBD2PRO_MCHIP = icsneoc2_chip_id_neoobd2pro_mchip,
	ValueCAN4_1_MCHIP = icsneoc2_chip_id_valuecan4_1_mchip,
	ValueCAN4_2_MCHIP = icsneoc2_chip_id_valuecan4_2_mchip,
	ValueCAN4_4_2EL_Core = icsneoc2_chip_id_valuecan4_4_2el_core,
	neoOBD2PRO_SCHIP = icsneoc2_chip_id_neoobd2pro_schip,
	ValueCAN4_2EL_MCHIP = icsneoc2_chip_id_valuecan4_2el_mchip,
	neoECUAVBTSN_MCHIP = icsneoc2_chip_id_neoecuavbtsn_mchip,
	neoOBD2PRO_Core = icsneoc2_chip_id_neoobd2pro_core,
	RADSupermoon_ZYNQ = icsneoc2_chip_id_radsupermoon_zynq,
	RADMoon2_ZYNQ = icsneoc2_chip_id_radmoon2_zynq,
	VividCANPRO_MCHIP = icsneoc2_chip_id_vividcanpro_mchip,
	VividCANPRO_EXT_FLASH = icsneoc2_chip_id_vividcanpro_ext_flash,
	RADPluto_MCHIP = icsneoc2_chip_id_radpluto_mchip,
	RADMars_ZYNQ = icsneoc2_chip_id_radmars_zynq,
	neoECU12_MCHIP = icsneoc2_chip_id_neoecu12_mchip,
	RADIOCANHUB_MCHIP = icsneoc2_chip_id_radiocanhub_mchip,
	FlexRay_VNETZ_ZCHIP = icsneoc2_chip_id_flexray_vnetz_zchip,
	neoOBD2_LCBADGE_MCHIP = icsneoc2_chip_id_neoobd2_lcbadge_mchip,
	neoOBD2_LCBADGE_SCHIP = icsneoc2_chip_id_neoobd2_lcbadge_schip,
	RADMoonDuo_MCHIP = icsneoc2_chip_id_radmoonduo_mchip,
	neoVIFIRE3_ZCHIP = icsneoc2_chip_id_neovifire3_zchip,
	FlexRay_VNETZ_FCHIP = icsneoc2_chip_id_flexray_vnetz_fchip,
	RADJupiter_MCHIP = icsneoc2_chip_id_radjupiter_mchip,
	ValueCAN4Industrial_MCHIP = icsneoc2_chip_id_valuecan4industrial_mchip,
	EtherBADGE_MCHIP = icsneoc2_chip_id_etherbadge_mchip,
	RADMars_3_ZYNQ = icsneoc2_chip_id_radmars_3_zynq,
	RADGigastar_USBZ_ZYNQ = icsneoc2_chip_id_radgigastar_usbz_zynq,
	RADGigastar_ZYNQ = icsneoc2_chip_id_radgigastar_zynq,
	RAD4G_MCHIP = icsneoc2_chip_id_rad4g_mchip,
	neoVIFIRE3_SCHIP = icsneoc2_chip_id_neovifire3_schip,
	RADEpsilon_MCHIP = icsneoc2_chip_id_radepsilon_mchip,
	RADA2B_ZCHIP = icsneoc2_chip_id_rada2b_zchip,
	neoOBD2Dev_MCHIP = icsneoc2_chip_id_neoobd2dev_mchip,
	neoOBD2Dev_SCHIP = icsneoc2_chip_id_neoobd2dev_schip,
	neoOBD2SIMDoIP_MCHIP = icsneoc2_chip_id_neoobd2simdoip_mchip,
	SFPModule_88q2112_MCHIP = icsneoc2_chip_id_sfpmodule_88q2112_mchip,
	RADEpsilonT_MCHIP = icsneoc2_chip_id_radepsilont_mchip,
	RADEpsilonExpress_MCHIP = icsneoc2_chip_id_radepsilonexpress_mchip,
	RADProxima_MCHIP = icsneoc2_chip_id_radproxima_mchip,
	NewDevice57_ZCHIP = icsneoc2_chip_id_newdevice57_zchip,
	RAD_GALAXY_2_ZMPCHIP_ID = icsneoc2_chip_id_rad_galaxy_2_zmpchip_id,
	NewDevice59_MCHIP = icsneoc2_chip_id_newdevice59_mchip,
	RADMoon2_Z7010_ZYNQ = icsneoc2_chip_id_radmoon2_z7010_zynq,
	neoVIFIRE2_Core_SG4 = icsneoc2_chip_id_neovifire2_core_sg4,
	RADBMS_MCHIP = icsneoc2_chip_id_radbms_mchip,
	RADMoon2_ZL_MCHIP = icsneoc2_chip_id_radmoon2_zl_mchip,
	RADGigastar_USBZ_Z7010_ZYNQ = icsneoc2_chip_id_radgigastar_usbz_z7010_zynq,
	neoVIFIRE3_LINUX = icsneoc2_chip_id_neovifire3_linux,
	RADGigastar_USBZ_Z7007S_ZYNQ = icsneoc2_chip_id_radgigastar_usbz_z7007s_zynq,
	VEM_01_8DW_ZCHIP = icsneoc2_chip_id_vem_01_8dw_zchip,
	RADGalaxy_FFG_Zynq = icsneoc2_chip_id_radgalaxy_ffg_zynq,
	RADMoon3_MCHIP = icsneoc2_chip_id_radmoon3_mchip,
	RADComet2_ZYNQ = icsneoc2_chip_id_radcomet2_zynq,
	VEM_02_FR_ZCHIP = icsneoc2_chip_id_vem_02_fr_zchip,
	RADA2B_REVB_ZCHIP = icsneoc2_chip_id_rada2b_revb_zchip,
	RADGigastar_FFG_ZYNQ = icsneoc2_chip_id_radgigastar_ffg_zynq,
	VEM_02_FR_FCHIP = icsneoc2_chip_id_vem_02_fr_fchip,
	RADBMS_WIL = icsneoc2_chip_id_radbms_wil,
	Connect_ZCHIP = icsneoc2_chip_id_connect_zchip,
	SFPModule_88q2221_MCHIP = icsneoc2_chip_id_sfpmodule_88q2221_mchip,
	RADGALAXY2_SYSMON_CHIP = icsneoc2_chip_id_radgalaxy2_sysmon_chip,
	SFPModule_88q3244_MCHIP = icsneoc2_chip_id_sfpmodule_88q3244_mchip,
	RADCOMET3_ZCHIP = icsneoc2_chip_id_radcomet3_zchip,
	Connect_LINUX = icsneoc2_chip_id_connect_linux,
	SFPModule_lan8670_MCHIP = icsneoc2_chip_id_sfpmodule_lan8670_mchip,
	VEM_04_T1S_LIN_ZCHIP = icsneoc2_chip_id_vem_04_t1s_lin_zchip,
	RADMOONT1S_ZCHIP = icsneoc2_chip_id_radmoont1s_zchip,
	RADGigastar2_ZYNQ = icsneoc2_chip_id_radgigastar2_zynq,
	SFPModule_ent11100_MCHIP = icsneoc2_chip_id_sfpmodule_ent11100_mchip,
	RADGemini_MCHIP = icsneoc2_chip_id_radgemini_mchip,
	Invalid = icsneoc2_chip_id_invalid
};

}

#endif // __cplusplus

#endif