-------------------------------------------------------------------------------
--                                                                           --
--                          Experiment Source Code                           --
--              Delta NMR Experiment & Machine Control Interface             --
--                                                                           --
--                     Copyright (c) 2009 JEOL Ltd                           --
--                            All Rights Reserved                            --
--                                                                           --
-------------------------------------------------------------------------------
-- HELP.eng: Cross Polarization
-- Category: solids, 1D standard, cpmas,spin lock
---Ref: Rongchun Zhang et al. Chemphyschem, 2016, 17, 2962-2966
---By Rongchun Zhang
--- Reference: Anal. Chem. 2025, 97, 7242-7250

header
    filename  		=> "1H_T1p_MCP_fastMAS";
    sample_id 		=> "";
    comment   		=> "Cross Polarization";
    process   		=  "1d_solid.list";
    include "header_solid";
end header;

instrument
    include "instrument_solid";
end instrument;

acquisition
	x_domain			=>	"Carbon13";
	x_offset			=>	100[ppm];
	x_sweep			=>	400[ppm];
----	x_points			=>	2048;
     x_points_input       =>    1024;
     x_points             =?    if x_points_input/x_sweep < 50 [ms] then x_points_input else 2;
	scans				=>	4;
	x_prescans			=>	0;
	mod_return			=>	1;
	include "acquisition_solid";
end acquisition;

pulse
	collect COMPLEX,OBS;
	include "pulse_solid";
	initial_wait		=	10.0[ms];

	irr_Setup			=? "#Setup Irradiation#";
	irr_domain			=>	"Proton",									help "decoupled nucleus";
	irr_offset			=>	5[ppm],										help "decoupler offset";
     CPcycle              =>  5;
	include "cp_solid";
	include "dec_solid";

    Spin_Locking_setting =? "#Setup Spin locking parameters";
   	irr_width_lock		=>	0.1[ms], 300[ns]->7000[ms]:20[ns],			help "spin lock width";
	irr_amp_lock		=>	50[%], 0[%]->100[%]:0.01[%],				help "spin lock ampliper";

    recycle_Setup		=? "#Setup Recycle Times#";
	relaxation_delay	=>	5.0[s],										help "relaxation delay";
	repetition_time		=?	relaxation_delay + x_acq_time,				help"relaxation_delay+x_acq_time";

    atn_Setup           =? "#Experiment Attenuator Settings#";
	obs_atn				=>	xatn,										help "attenuator for obs";
	irr_atn				=>	irratn,										help "attenuator for irr";

	irr_phs_prep		=	{ 90, 270};
    irr_phs_flip          =    {270,90};
	irr_phs_cp		      =	{ 0,0,0,0};
	irr_phs_dec		=	{ 0,0,0,0};
	obs_phs_cp		    =	{ 0,0,90,90};
	obs_phs_acq		 =	{   0, 180,  90, 270};
    irr_phs_lock		=  {180,0};

	module_config		= "any_sample continuous_fid";

begin
    initial_wait;
	relaxation_delay;
irr_width_90,	(irr.gate,	irr.phs.irr_phs_prep,	irr.amp.irr_amp_prep,	irr.atn.irr_atn);
irr_width_lock,		(irr.gate,	irr.phs.irr_phs_lock,	irr.amp.irr_amp_lock,	irr.atn.irr_atn);

loop CPcycle times
    contact_time, (irr.gate, irr.phs.irr_phs_cp, irr.shape.{irr_shape_cp,"irr"}, irr.atn.irr_atn,
				   obs.gate, obs.phs.obs_phs_cp, obs.shape.{obs_shape_cp,"obs"}, obs.atn.obs_atn);
   on (irr.gate, irr.phs.irr_phs_dec, irr.amp.irr_amp_dec, irr.atn.irr_atn,irr.noise.irr_noise);
	acq( dead_time, delay, obs_phs_acq );
	off (irr.gate, irr.phs.irr_phs_dec, irr.amp.irr_amp_dec, irr.atn.irr_atn,irr.noise.irr_noise);
end loop;
end pulse;