;+
; NAME:
;	BCS_CPU_STRUCT
; PURPOSE:
;	Defines structures used by BCS micro management routines
; CATEGORY:
; CALLING SEQUENCE:
;	bcs_cpu_struct
; INPUTS:
; OPTIONAL INPUT PARAMETERS:
; KEYWORD PARAMETERS:
; OUTPUTS:
; OPTIONAL OUTPUT PARAMETERS:
; COMMON BLOCKS:
; SIDE EFFECTS:
; RESTRICTIONS:
; PROCEDURE:
;	Call before structures needed
; MODIFICATION HISTORY:
;	RDB  Autumn-91
;	RDB  17-May-94	This doumentation.
;			(Command code changed to .planid for reformatter compatability)
;-

pro	bcs_cpu_struct,dummy

dummy = {Grouper_plan_rec,  $		;
	cre_date: bytarr(24), $		; Creation date (string variable)
	length: fix(0),  $		; Total No of bytes of data created by the plan
	planid: fix(0),  $		; ID of the grouper plan
	ngrp: bytarr(4),  $		; No. of sets for each channel
	grps: intarr(10,4)}		; Sets for each channel


dummy = {Flare_option_rec,  $
	cre_date: bytarr(24),  $	; Creation date (string variable)
	flopid: fix(0),  $		; Flare Option ID
	channel: fix(0),  $		; Flare Channel  (0 = Fe XXVI, 1 = Fe XXV, 2 = Ca XIX, 3 = S XV)
	flr_thresh: fix(0),  $		; Rise Threshold (cnts/16 units)
	dwn_thresh: fix(0),  $		; Down Threshold (cnts/16 units)
	min_flr_durn: fix(0), $		; Minimum Flare Duration (2 min units)
	spare: fix(0)}


dummy = {Sequence_rec,  $
	cre_date: bytarr(24),  $	; Creation date (string variable)
	seqnid: fix(0),  $		; Sequence ID
					;
					; Mode A
	modea_grp_plan: fix(0), $	; Grouper Plan ID
	modea_acc_time: fix(0), $	; Mode Accumulation time (0.125 sec units)
	modea_cntrl_byte: fix(0), $	; Acc. Control byte 
					;  Gives No of frames stored in Fast Queue to one in Main Queue
					;  If CNTRL_BYTE = 4, then 3  spectra are stored in the Fast Queue 
					;                     and  1  spectra is stored in the Main Queue
					;
					; Mode B
	modeb_grp_plan: fix(0), $	; Grouper Plan ID
	modeb_acc_time: fix(0), $	; Mode Accumulation time (0.125 sec units)
	modeb_cntrl_byte: fix(0), $	; Acc. Control byte 
					;  Fraction of frames output to Queue
					;  If CNTRL_BYTE = 4, then 3  spectra are "lost"
					;                     and  1  spectra is stored in the Main Queue
	modeb_maxtime: fix(0), $	; Maximum time in mode (6 sec units)
					;
					; Mode C
	modec_grp_plan: fix(0), $	; Grouper Plan ID
	modec_acc_time: fix(0), $	; Mode Accumulation time (0.125 sec units)
	modec_cntrl_byte: fix(0), $	; Acc. Control byte
					;  Fraction of frames output to Queue
					;  If CNTRL_BYTE = 4, then 3  spectra are "lost"
					;                     and  1  spectra is stored in the Main Queue
	modec_maxtime: fix(0), $	; Maximum time in mode (6 sec units)
					;
					; Mode D
	moded_grp_plan: fix(0), $	; Grouper Plan ID
	moded_acc_time: fix(0), $	; Mode Accumulation time (0.125 sec units)
	spare: fix(0)}			;


dummy = {cpu_history_rec,  $
	type: 0,  $
	id: 0,  $
	locn:0,  $
	date:bytarr(7)}


end
