#ifndef __CHIP_ID_H_
#define __CHIP_ID_H_

#ifdef __cplusplus

#include <cstdint>

namespace icsneo {

enum class ChipID : uint8_t {
	neoVIFIRE_MCHIP = 0,
	neoVIFIRE_LCHIP = 1,
	neoVIFIRE_UCHIP = 2,
	neoVIFIRE_JCHIP = 3,
	ValueCAN3_MCHIP = 4,
	neoVIECU_MPIC = 6,
	neoVIIEVB_MPIC = 7,
	neoVIPENDANT_MPIC = 8,
	neoVIFIRE_VNET_MCHIP = 9,
	neoVIFIRE_VNET_LCHIP = 10,
	neoVIPLASMA_Core = 11,
	neoVIPLASMA_HID = 12,
	neoVIANALOG_MPIC = 13,
	neoVIPLASMA_ANALOG_Core = 14,
	neoVIPLASMA_FlexRay_Core = 15,
	neoVIPLASMA_Core_1_12 = 16,
	neoVIFIRE_Slave_VNET_MCHIP = 17,
	neoVIFIRE_Slave_VNET_LCHIP = 18,
	neoVIION_Core = 19,
	neoVIION_HID = 20,
	neoVIION_Core_Loader = 21,
	neoVIION_HID_Loader = 22,
	neoVIION_FPGA_BIT = 23,
	neoVIFIRE_VNET_EP_MCHIP = 24,
	neoVIFIRE_VNET_EP_LCHIP = 25,
	neoVIAnalogOut_MCHIP = 26,
	neoVIMOST25_MCHIP = 27,
	neoVIMOST50_MCHIP = 28,
	neoVIMOST150_MCHIP = 29,
	ValueCAN4_4_MCHIP = 30,
	ValueCAN4_4_SCHIP = 31,
	cmProbe_ZYNQ = 33,
	EEVB_STM32 = 34,
	neoVIFIRE_Slave_VNET_EP_MCHIP = 35,
	neoVIFIRE_Slave_VNET_EP_LCHIP = 36,
	RADStar_MCHIP = 37,
	ValueCANrf_MCHIP = 38,
	neoVIFIRE2_MCHIP = 39,
	neoVIFIRE2_CCHIP = 40,
	neoVIFIRE2_Core = 41,
	neoVIFIRE2_BLECHIP = 42,
	neoVIFIRE2_ZYNQ = 43, // FIRE2 MVNET Z - Zynq
	neoVIFIRE2_SECURITYCHIP = 44,
	RADGalaxy_ZYNQ = 45,
	neoVIFIRE2_VNET_MCHIP = 46,
	neoVIFIRE2_Slave_VNET_A_MCHIP = 47,
	neoVIFIRE2_Slave_VNET_A_CCHIP = 48,
	neoVIFIRE2_VNET_CCHIP = 49,
	neoVIFIRE2_VNET_Core = 50,
	RADStar2_ZYNQ = 51,
	VividCAN_MCHIP = 52,
	neoOBD2SIM_MCHIP = 53,
	neoVIFIRE2_VNETZ_MCHIP = 54,
	neoVIFIRE2_VNETZ_ZYNQ = 55,
	neoVIFIRE2_Slave_VNETZ_A_MCHIP = 56,
	neoVIFIRE2_Slave_VNETZ_A_ZYNQ = 57,
	VividCAN_EXT_FLASH = 58,
	VividCAN_NRF52 = 59,
	cmProbe_ZYNQ_Unused = 60, // Double defined
	neoOBD2PRO_MCHIP = 61,
	ValueCAN4_1_MCHIP = 62,
	ValueCAN4_2_MCHIP = 63,
	ValueCAN4_4_2EL_Core = 64,
	neoOBD2PRO_SCHIP = 65,
	ValueCAN4_2EL_MCHIP = 67,
	neoECUAVBTSN_MCHIP = 68,
	neoOBD2PRO_Core = 69,
	RADSupermoon_ZYNQ = 70,
	RADMoon2_ZYNQ = 71,
	VividCANPRO_MCHIP = 72,
	VividCANPRO_EXT_FLASH = 73,
	RADPluto_MCHIP = 74,
	RADMars_ZYNQ = 75,
	neoECU12_MCHIP = 76,
	RADIOCANHUB_MCHIP = 77,
	FlexRay_VNETZ_ZCHIP = 78,
	neoOBD2_LCBADGE_MCHIP = 79,
	neoOBD2_LCBADGE_SCHIP = 80,
	RADMoonDuo_MCHIP = 81,
	neoVIFIRE3_ZCHIP = 82,
	FlexRay_VNETZ_FCHIP = 83,
	RADJupiter_MCHIP = 84,
	ValueCAN4Industrial_MCHIP = 85,
	EtherBADGE_MCHIP = 86,
	RADMars_3_ZYNQ = 87,
	RADGigastar_USBZ_ZYNQ = 88,
	RADGigastar_ZYNQ = 89,
	RAD4G_MCHIP = 90,
	neoVIFIRE3_SCHIP = 91,
	RADEpsilon_MCHIP = 92,
	RADA2B_ZCHIP = 93,
	neoOBD2Dev_MCHIP = 94,
	neoOBD2Dev_SCHIP = 95,
	neoOBD2SIMDoIP_MCHIP = 96,
	SFPModule_MCHIP = 97,
	RADEpsilonT_MCHIP = 98,
	RADEpsilonExpress_MCHIP = 99,
	RADProxima_MCHIP = 100,
	NewDevice57_ZCHIP = 101,
	RAD_GALAXY_2_ZMPCHIP_ID = 102,
	NewDevice59_MCHIP = 103,
	RADMoon2_Z7010_ZYNQ = 104,
	neoVIFIRE2_CORE_SG4 = 105,
	RADBMS_MCHIP = 106,
	RADMoon2_ZL_MCHIP = 107,
	RADGigastar_USBZ_Z7010_ZYNQ = 108,
	neoVIFIRE3_LINUX = 109,
	RADGigastar_USBZ_Z7007S_ZYNQ = 110,
	VEM_01_8DW_ZCHIP = 111,
	RADGalaxy_FFG_Zynq = 112,
	RADMoon3_MCHIP = 113,
	RADComet_ZYNQ = 114,
	VEM_02_FR_ZCHIP = 115,
	RADA2B_REVB_ZCHIP = 116,
	RADGigastar_FFG_ZYNQ = 117,
	VEM_02_FR_FCHIP = 118,
	Connect_ZCHIP = 121,
	RADGALAXY2_SYSMON_CHIP = 123,
	RADCOMET3_ZCHIP = 125,
	Connect_LINUX = 126,
	RADGigastar2_ZYNQ = 131,
	Invalid = 255
};

}

#endif // __cplusplus

#endif