;+
; Project     : SOHO - CDS     
;                   
; Name        : GET_PARM_LIST
;               
; Purpose     : Defines the eng. monitor parameter selection list.
;               
; Explanation : From variables and structures already read, packages up
;               the parameter list ready for display on the screen.
;               
; Use         : get_parm_list
;    
; Inputs      : None
;               
; Opt. Inputs : None
;               
; Outputs     : None
;               
; Opt. Outputs: None
;               
; Keywords    : None
;
; Calls       : None
;               
; Restrictions: For use in engineering data monitor programs only.
;               
; Side effects: None
;               
; Category    : Telemetry
;               
; Prev. Hist. : Cut from sel_parm_menu
;
; Written     : C D Pike, RAL, 25-Jan-95
;               
; Modified    : 
;
; Version     : Version 1, 25-Jan-95
;-            

PRO get_parm_list

;
;  commons for communication
;
@emon.com



;
;  make up the list
;
a1 = tag_names(enga.enga_cdhs)
a2 = tag_names(enga.enga_eps)
a3 = tag_names(enga.enga_vds)

b1 = tag_names(engb.engb_cdhs)
b2 = tag_names(engb.engb_mcu)
b3 = tag_names(engb.engb_gis1)
b4 = tag_names(engb.engb_gis2)

;
;  string 'em up but omit the additional time element (it's a string variable)
;
if wanted_packets eq 'A' then begin
   parm_list = [a1,a2,a3] 
   parm_list = parm_list(where(parm_list ne 'A_OBT_TIME'))
endif else begin
   parm_list=[b1,b2,b3,b4]
   parm_list = parm_list(where(parm_list ne 'B_OBT_TIME'))
endelse

;
;  add the explanation to each parameter name
;  first replace math symbols by chars
;
names = reform(mask(0,*))
for i=0,n_elements(names)-1 do names(i) = repstr(names(i),'+','_POS_')
for i=0,n_elements(names)-1 do names(i) = repstr(names(i),'-','_NEG_')

;
;  find the match
;
explan = strarr(n_elements(parm_list))
for i=0,n_elements(parm_list)-1  do begin
   it = where(names eq parm_list(i)) & it = it(0)
   if it ge 0 then begin
      explan(i) = mask(17,it)
   endif
endfor

;
;  pad out mnemonic and add explanation
;
for i=0,n_elements(parm_list)-1 do begin
   parm_list(i) = strpad(parm_list(i),20,/after) + ' --  ' + explan(i)
endfor

end
