FUNCTION tki_rscscan, itgtime, incdx, numofloops ; ;############################################################################# ;# ;# Function name : TKI_RSCSCAN ;# ;# Author : Dietmar Germerott ;# Language : IDL ;# Purpose : Record 50 RSC Pictures with defined Integrationtime ;# Creation date : 19-MAY-1996 ;# Update date : 03-JUN-1996 ;# External modules : ;# ;# Call Sequence : VAR = tki_rscscan(itgtime, incdx, numofloops) ;# ;# Arguments : itgtime - integrationtime ;# incdx - MC increments in MC steps ;# numofloops - number of loops ;# ;# Description : ;# ;# ;############################################################################# @tki_common_priv ;/* INSERT TKI COMMON VARIABLES */ result = 0 & statemc2=0 blockloops = 0 & dummy=0 tmp_point1 = [0, 0] tmp_point1 = [0, 0] incdx = FIX(incdx) numofloops = FIX(numofloops) IF ((incdx GT 127) OR (incdx LT -128) OR (numofloops LE 0)) THEN BEGIN mess_text = ' % E % PARERR Parameter Error in RSCscan ' tki_message, mess_text, 01b mess_text = ' % I % Check incdx or numofloops ' tki_message, mess_text, 03b result = -5 ENDIF IF (incdx NE 0) THEN BEGIN IF (usr_info.lev GT 'f0'xb) THEN BEGIN ;user level gt f0h (def e0) allows Rastersteps tki_message, ' % E % NORASSTEP Rastersteps are no longer allowed for RSCscan ', 01b RETURN, -100 ENDIF ELSE BEGIN tki_message, ' % W % Special privilege for Rastersteps in RSCscan ', 03b ENDELSE ENDIF result = tki_do_pow_cmd ('81'xb, 47, 1) IF (result EQ -17) THEN BEGIN mess_text = ' % E % CFGERR Error in RSCscan ' tki_message, mess_text, 01b mess_text = ' % I % Check if Configuration is enabled for RSC ' tki_message, mess_text, 03b RETURN, -17 ENDIF rsc_info.cmd = '61'xb ;/* RSC_ON */ rsc_info.time_id = FIX(itgtime) ;/* SET INTEGRATIONTIME */ rsc_info.format = 35 ;/* SET PICTUREFORMAT 35 */ result = 0 result = tki_rsc_exec ( rsc_info.cmd, rsc_info.time_id) ;/* SETUP RSC */ IF (result NE 0) THEN GOTO, errorx IF (incdx NE 0) THEN BEGIN statemc2 = tki_get_mcpower (1, 40, result) IF (result EQ -17) THEN GOTO, error1 ;/* SET STEPS FOR SCAN */ result = tki_do_mc_cmd ('26'xb, 1, incdx, 0, 0) IF (result NE 0) THEN GOTO, errorx ENDIF tmp_point1 = [environ(32).val, environ(33).val] ;Set Plot Color fill_col.tmp = fill_col.i fill_col.i = fill_col.y + fill_col.rstep fill_col.rstep = - fill_col.rstep WHILE ((result EQ 0) AND (blockloops LT numofloops)) DO BEGIN result = tki_rscih() rsc_info.cmd = '60'xb ;/* RSC_READIMAGE */ loop = 0 WHILE ((result EQ 0) AND (loop LT 50)) DO BEGIN result = tki_rsc_exec ( rsc_info.cmd, rsc_info.time_id) IF (result LT 0) THEN RETURN, result IF (abort_flag NE 0) THEN BEGIN result = -47 GOTO, errorx ENDIF IF (incdx NE 0) THEN BEGIN newpos = environ(2).val + incdx result = tki_mcmove (1, newpos, 0) ENDIF loop = loop + 1 ENDWHILE ;/* loop */ blockloops = blockloops + 1 ENDWHILE ;/* blockloops */ ;----------------------------------------------------------------------------- ;/* CALCULATE SCAN AREA */ tmp_point2 = [environ(32).val, environ(33).val] ;/* POINT AFTER SCAN */ l_y = ABS(tmp_point2(0) - tmp_point1(0)) ;/* SCAN WIDTH IN Y - DIRECTION */ IF (l_y EQ 0) THEN l_y = slit_s.w ;/* IF NO STEPS SET WIDTH TO SLIT WIDTH */ l_z = slit_s.u + slit_s.l ;/* SCAN WIDTH IN Z-DIRECTION */ c_z = tmp_point2(1) c_y = tmp_point1(0) + (tmp_point2(0) - tmp_point1(0)) / 2.0 area_tmp.y_size = l_y / 16.0 ; l_y is in 1/16 arcsec area_tmp.z_size = l_z / 16.0 ; l_z is in 1/16 arcsec area_tmp.y_point = c_y / 16.0 ; c_y is in 1/16 arcsec area_tmp.z_point = c_z / 16.0 ; c_z is in 1/16 arcsec area_tmp.slitnr = global_s.slit area_tmp.index = area_cnt area_s = [area_s, area_tmp] area_cnt = area_cnt + 1 ;----------------------------------------------------------------------------- errorx: IF (incdx NE 0) THEN BEGIN dummy = tki_do_mc_cmd ('30'xb, 1, 0, 0, 0) dummy = tki_do_pow_cmd ('81'xb, 40, statemc2) ENDIF error1: fill_col.i = fill_col.tmp ;Reset Plot Color rsc_info.cmd = '62'xb ;/* RSC_OFF */ dummy = tki_rsc_exec (rsc_info.cmd, rsc_info.time_id) dummy = tki_do_pow_cmd ('81'xb, 47, 0) ;/* SWITCH OFF RSC */ RETURN, result END ;--------------------------------------------------------------------------- ; End of 'TKI_RSCSCAN.PRO'. ;---------------------------------------------------------------------------