/* t2pul_lek_500.c A simple one pulse experiment which gives the option of perfoming presaturation with the transmitter. Note: presaturation is done using the transmitter with the power level set by 'tsatpwr' if "fsat" is set to 'y'. Set dm = 'nnnn', dmm = 'cccc' dm2 = 'nnnn', dmm2 = 'cccc' Written 11-15-90 Bill Metzler Modified by Lewis Kay to do a complete phase cycle of the 90 BMRB Pulse Sequence Accession Number: 56 */ #include static int phi1[4] = {0,1,2,3}, rec[4] = {0,1,2,3}; pulsesequence() { /* DECLARE VARIABLES */ char fsat[MAXSTR]; double tsatpwr,at; /* LOAD VARIABLES */ tsatpwr = getval("tsatpwr"); getstr("fsat",fsat); dpwr2 = getval("dpwr2"); dpwr = getval("dpwr"); at = getval("at"); /* Load Phase Table */ settable(t11,4,phi1); settable(t12,4,rec); /* CHECK VALIDITY OF PARAMETER RANGE */ if( tsatpwr > 8 ) { printf("TSATPWR too large !!! "); abort(1); } if( dpwr > 50 ) { printf("don't fry the probe, DPWR too large! "); abort(1); } if( dpwr2 > 50 ) { printf("don't fry the probe, DPWR2 too large! "); abort(1); } if(at > 0.064 && dm2[D] == 'y') { printf("at is too long\n"); abort(1); } if(at > 0.064 && dm[D] == 'y') { printf("at is too long\n"); abort(1); } /* INITIALIZE VARIABLES */ /* BEGIN ACTUAL PULSE SEQUENCE */ /* Receiver off time */ status(A); delay(5e-6); status(B); if (fsat[0] == 'y') { rlpower(tsatpwr,TODEV); /* Set power for presaturation */ delay(5e-6); rgpulse(d1,zero,2.0e-6,2.0e-6); delay(5e-6); } else { delay(d1); } /* pulse and acquire */ rlpower(tpwr,TODEV); /* Set power for presaturation */ status(C); rcvroff(); delay(20.0e-6); rgpulse(pw,t11,rof1,rof2); rlpower(dpwr2,DO2DEV); rlpower(dpwr,DODEV); status(D); /* rcvron(); */ setreceiver(t12); }