%-------------------------------------------------------- % BSMS check download file %-------------------------------------------------------- %& Format (3); %! Version (2021-09-21); %-------------------------------------------------------- % !!! Do not edit this file !!! % !!! Content is checksum protected !!! %-------------------------------------------------------- % Lock Subsystem HW-Codes (ELCB and associated RF-Boards) %-------------------------------------------------------- Define All_ELCB = ELCB_HW_CODE( 0, 1, 2, 3 ); Define Optional_LTX = LTX_HW_CODE( -1, 0, 8, 16, 24, 32, 40, 48, 64, 72, 80, 88, 256 ); Define Optional_LRX = LRX_HW_CODE( -1, 0, 8, 16, 256 ); Define LTRX_LOW_FIELD_LX25 = LTX_HW_CODE( 64 ); Define LTRX_LOW_FIELD_LX15 = LTX_HW_CODE( 72 ); Define LTRX_HIGH_FIELD_LX25 = LTX_HW_CODE( 80 ); Define LTRX_HIGH_FIELD_LX60 = LTX_HW_CODE( 88 ); Define Optional_L19F = L19F_HW_CODE( -1, 0 ); Define All_L19F = L19F_HW_CODE( 0 ); Define Optional_NMR_Thermometer = UBLAZE_HW_CODE( -1, 5, 6 ); Define All_NMR_Thermometer = UBLAZE_HW_CODE( 5, 6 ); % Shim Subsystem HW-Codes %------------------------ Define Optional_SCB1 = SCB1_HW_CODE( -1, 88 ); Define Optional_SCB2 = SCB2_HW_CODE( -1, 88 ); Define Optional_SCB3 = SCB3_HW_CODE( -1, 88 ); Define Optional_SCB4 = SCB4_HW_CODE( -1, 88 ); Define SCB1_is_SCB20 = SCB1_HW_CODE( 88 ); Define SCB2_is_SCB20 = SCB2_HW_CODE( 88 ); Define SCB3_is_SCB20 = SCB3_HW_CODE( 88 ); Define SCB4_is_SCB20 = SCB4_HW_CODE( 88 ); % Magnet Subsystem HW-Codes %------------------------ Define Optional_MCB = MCB_HW_CODE( -1, 0, 8 ); Define All_MCB = MCB_HW_CODE( 8 ); % Integrated Gradient Amplifier HW-Codes %--------------------------------------- Define Optional_GAB = GAB_HW_CODE( -1, 0, 8 ); Define All_GAB = GAB_HW_CODE( 0, 8 ); Define Optional_GAB2X = GAB2X_HW_CODE( -1, 0, 8, 16, 24 ); Define Optional_GAB2Y = GAB2Y_HW_CODE( -1, 0, 8, 16, 24 ); Define Optional_GAB2Z = GAB2Z_HW_CODE( -1, 0, 8, 16, 24 ); Define All_GAB2X = GAB2X_HW_CODE( 0, 8, 16, 24 ); Define All_GAB2Y = GAB2Y_HW_CODE( 0, 8, 16, 24 ); Define All_GAB2Z = GAB2Z_HW_CODE( 0, 8, 16, 24 ); % Sample and Level Control (including pneumatic module) HW-Codes %--------------------------------------------------------------- Define Optional_SLCB = SLCB_HW_CODE( -1, 0, 8, 16, 24, 64, 72, 80 ); Define All_SLCB = SLCB_HW_CODE( 0, 8, 16, 24, 64, 72, 80 ); Define Optional_PNK = PNK_HW_CODE( -1, 0, 8, 16, 24, 40, 48 ); Define All_PNK = PNK_HW_CODE( 0, 8, 16, 24, 40, 48 ); Define 2ndGen_PNK = PNK_HW_CODE( 24, 40, 48 ); % Required ELCB firmware version %------------------------------- Check ELCB_REQ_FW = elcb_firmware_210921.gz( All_ELCB, Optional_LTX, Optional_LRX, Optional_SCB1, Optional_SCB2, Optional_SCB3, Optional_SCB4, Optional_GAB, Optional_GAB2X, Optional_GAB2Y, Optional_GAB2Z, Optional_SLCB, Optional_PNK ); % Required SCB20 firmware version %-------------------------------- Check SCB1_REQ_FW = scb20_fpga_00-001-00.bit( SCB1_is_SCB20 ); Check SCB2_REQ_FW = scb20_fpga_00-001-00.bit( SCB2_is_SCB20 ); Check SCB3_REQ_FW = scb20_fpga_00-001-00.bit( SCB3_is_SCB20 ); Check SCB4_REQ_FW = scb20_fpga_00-001-00.bit( SCB4_is_SCB20 ); % Required MCB firmware version %-------------------------------- Check MCB_REQ_FW = mcb_fpga_140619.bit( All_MCB ); % Required GAB firmware version %------------------------------ Check GAB2X_REQ_FW = gab2_fpga_00-013-02.bit( All_GAB2X ); Check GAB2Y_REQ_FW = gab2_fpga_00-013-02.bit( All_GAB2Y ); Check GAB2Z_REQ_FW = gab2_fpga_00-013-02.bit( All_GAB2Z ); % Required SLCB/PNK firmware version %----------------------------------- Check SLCB_REQ_FW = slcb_firmware_090206.hex( All_SLCB, All_PNK ); % Required L-TRX firmware version %----------------------------------- Check LTRX_REQ_FW = ltrxab12.bin( LTRX_LOW_FIELD_LX15 ); Check LTRX_REQ_FW = ltrxad22.bin( LTRX_HIGH_FIELD_LX25 ); Check LTRX_REQ_FW = ltrxab32.bin( LTRX_LOW_FIELD_LX25 ); % Required L-19F firmware version %----------------------------------- Check L19F_REQ_FW = l19faa20.bin( All_L19F ); % Required uBlaze firmware version for NMR thermometer %----------------------------------------------------- Check UBLAZE_REQ_FW = ltrxaa13_121029.hex( All_NMR_Thermometer ); %! Checksum (5B3470FA); %====================== % BSVT HW-Codes %--------------------------------------------------------------- Define Optional_SPB = VTC_HW_CODE_SPB( -1, 0, 1, 2, 16, 17, 18 ); Define All_SPB = VTC_HW_CODE_SPB( 0, 1, 2, 16, 17, 18 ); Define All_VPSB1_VPSB_Types = VPSB1_TYPE( 0 ); Define All_VPSB2_VPSB_Types = VPSB2_TYPE( 0 ); Define All_VPSB1_VPSB_Versions = VTC_HW_CODE_VPSB1( 0, 1, 2 ); Define All_VPSB2_VPSB_Versions = VTC_HW_CODE_VPSB2( 0, 1, 2 ); Define All_VPSB1_VPSBDC_Types = VPSB1_TYPE( 1 ); Define All_VPSB2_VPSBDC_Types = VPSB2_TYPE( 1 ); Define All_VPSB1_VPSBDC_Versions = VTC_HW_CODE_VPSB1( 0, 1, 16, 17 ); Define All_VPSB2_VPSBDC_Versions = VTC_HW_CODE_VPSB2( 0, 1, 16, 17 ); % HW-Codes of devices connected to the BFB %--------------------------------------------------------------- Extend = (BFB_HW_TYPE_ACTIV_CH1, BFB_HW_TYPE_ACTIV_CH2, BFB_HW_TYPE_ACTIV_CH3, BFB_HW_TYPE_ACTIV_CH4, BFB_HW_TYPE_ACCES_CH1, BFB_HW_TYPE_ACCES_CH2, BFB_HW_TYPE_ACCES_CH3, BFB_HW_TYPE_ACCES_CH4, BFB_HW_TYPE_ACCES_SPB); Extend = (BFB_HW_VERS_ACTIV_CH1, BFB_HW_VERS_ACTIV_CH2, BFB_HW_VERS_ACTIV_CH3, BFB_HW_VERS_ACTIV_CH4, BFB_HW_VERS_ACCES_CH1, BFB_HW_VERS_ACCES_CH2, BFB_HW_VERS_ACCES_CH3, BFB_HW_VERS_ACCES_CH4, BFB_HW_VERS_ACCES_SPB); Extend = (BFB_REQ_FW_ACTIV_CH1, BFB_REQ_FW_ACTIV_CH2, BFB_REQ_FW_ACTIV_CH3, BFB_REQ_FW_ACTIV_CH4, BFB_REQ_FW_ACCES_CH1, BFB_REQ_FW_ACCES_CH2, BFB_REQ_FW_ACCES_CH3, BFB_REQ_FW_ACCES_CH4, BFB_REQ_FW_ACCES_SPB); Define = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 17, 18, 41 ); Define = ( 0, 1 ); Define = ( 12, 13 ); Define = ( 0 ); Define = ( 16 ); Define = ( 0 ); Define = ( 40 ); Define = ( 0 ); Define = ( 50 ); Define = ( 0 ); Define = ( 1 ); Define = ( 80 ); Define = ( 0 ); Define = ( 61 ); Define = ( 0 ); % SampleMail HW-Codes %--------------------------------------------------------------- Define Optional_Old_SMail = ST_HW_CODE( -1, 0 ); Define All_Old_SMail = ST_HW_CODE( 0 ); Define Optional_SampleTransport = ST_HW_TYPE( 0, 1, 2, 3); Define All_SMail = ST_HW_TYPE( 1 ); Define All_SCase = ST_HW_TYPE( 2 ); Define All_SwitchUnit = ST_HW_TYPE( 3 ); Define All_SMail_Versions = ST_HW_VERSION( 0, 1 ); Define All_SCase_Versions = ST_HW_VERSION( 1 ); Define All_SwitchUnit_Versions = ST_HW_VERSION( 1 ); % Required SPB / SPB-E firmware version %-------------------------------------- Check SPB_REQ_FW = spb_fpga_00-03-0.bit(All_SPB); % Required VPSB firmware version %------------------------------- Check VPSB1_REQ_FW = vpsb_fpga_00-03-0.bit( All_VPSB1_VPSB_Types, All_VPSB1_VPSB_Versions); Check VPSB2_REQ_FW = vpsb_fpga_00-03-0.bit( All_VPSB2_VPSB_Types, All_VPSB2_VPSB_Versions); % Required VPSB-DC firmware version %---------------------------------- Check VPSB1_REQ_FW = vpsbdc_fpga_00-01-0.bit( All_VPSB1_VPSBDC_Types, All_VPSB1_VPSBDC_Versions ); Check VPSB2_REQ_FW = vpsbdc_fpga_00-01-0.bit( All_VPSB2_VPSBDC_Types, All_VPSB2_VPSBDC_Versions ); % Required VTA firmware version %------------------------------ Check = vta_firmware_161026.bin(, ); % Required BSCU firmware version %------------------------------ Check = bscu_firmware_180701.bin(, ); % Required LN2 Level Sensor firmware version %------------------------------------------- Check = ln2_firmware_120111.bin(, ); % Required SampleMail firmware version %----------------------------------- % With present ELCB firmware release (Sample transport identified by Hardware Code) Check ST_REQ_FW = samplemail_firmware_v4.hex( All_Old_SMail ); % With future ELCB firmware releases (Sample transport identified by Type and Version) Check ST_REQ_FW = samplemail_firmware_v4.hex( All_SMail, All_SMail_Versions ); % Required SampleCase firmware version %------------------------------------- Check ST_REQ_FW = samplecase_firmware_v6.hex( All_SCase, All_SCase_Versions ); % Required SampleMail for Lab2NMR firmware version %------------------------------------- Check ST_REQ_FW = switchunit_firmware_v7.hex( All_SwitchUnit, All_SwitchUnit_Versions ); % Required SampleCase VT Controller firmware version %--------------------------------------------------- Check = vta_firmware_161026.bin(, ); % Required iProbe MCU firmware version %------------------------------------- % Pre-release for iProbe MCU Check = mcu_firmware_141024.bin(, ); Check = mcu_firmware_200903.bin(, ); % Required SampleCase Heater firmware version %------------------------------------- % Pre-release for SampleCase Heater Check = sacaheat_firmware_151216.bin(, ); % Required PLC FRQ firmware version %------------------------------------- % Customer specific firmware for synchronization of pulse tube with NMR experiment Check = plc_firmware_150302.bin(, ); % Required Download Time (in minutes) and Timeout for each firmware file %----------------------------------------------------------------------- DownloadTime elcb_firmware_210921.gz (1.5, 3.5); DownloadTime scb20_fpga_00-001-00.bit (3.5, 5.5); DownloadTime mcb_fpga_140619.bit (3.5, 5.5); DownloadTime gab2_fpga_00-013-02.bit (3.5, 5.5); DownloadTime slcb_firmware_090206.hex (3.5, 5.5); DownloadTime ltrxab12.bin (4.5, 6.5); DownloadTime ltrxad22.bin (5.5, 9.5); DownloadTime ltrxab32.bin (5.5, 9.5); DownloadTime l19faa20.bin (1.5, 3.5); DownloadTime spb_fpga_00-03-0.bit (1.5, 3.5); DownloadTime vpsb_fpga_00-03-0.bit (1.5, 3.5); DownloadTime vpsbdc_fpga_00-01-0.bit (1.5, 3.5); DownloadTime vta_firmware_161026.bin (2.0, 5.0); DownloadTime mcu_firmware_141024.bin (2.0, 5.0); DownloadTime mcu_firmware_200903.bin (2.0, 5.0); DownloadTime bscu_firmware_180701.bin (2.0, 5.0); DownloadTime ln2_firmware_120111.bin (2.0, 5.0); DownloadTime plc_firmware_150302.bin (2.0, 5.0); DownloadTime samplemail_firmware_v4.hex (1.0, 3.0); DownloadTime samplecase_firmware_v6.hex (1.0, 3.0); DownloadTime switchunit_firmware_v7.hex (1.0, 3.0); DownloadTime sacaheat_firmware_151216.bin (2.0, 5.0); FinalChecksum (0AE93AA6);