pro get1gen, rec1, dp_clock_ref, gen_index, reference=reference
;
;
;
ref_struct, ref, dpos1, dpos2, sxtos1, sxtos2, sxtos3, stat1
gen_struct, gen_index = gen_index
;
gen_index.dp_time(0)	= rec1(16+50, 1)
gen_index.dp_time(1)	= rec1(16+50, 0)
gen_index.dp_time(2)	= rec1(16+51, 0)
gen_index.dp_time(3)	= rec1(16+ 3, 0)

if (not keyword_set(reference)) then begin
    dp_clock, dp_clock_ref, gen_index, msod, ds79
    gen_index.time		= msod
    gen_index.day		= ds79
end
;
;TODO - remove?
ttim2ex, rec1, daytim
ex2int, daytim, msod, ds79
gen_index.time		= msod
gen_index.day		= ds79
;TODO - remove?
;
gen_index.dp_mode		= rec1(dpos1,  2)
gen_index.dp_rate		= rec1(stat1, 15)
gen_index.flare_control		= rec1(dpos1, 60)
gen_index.flare_status		= rec1(dpos1, indgen(4)*16+3)
gen_index.RBM_Status		= rec1(dpos1, 61)
gen_index.Telemetry_Mode	= rec1(dpos2, 6)
gen_index.cal_status		= rec1(dpos2, 55)
;
gen_index.pntg_angle	= 0	;TODO
gen_index.pntg_Trace	= 0	;TODO
gen_index.pntg_jitter	= 0	;TODO

gen_index.telemetry	= rec1(7,0)	;Added 14-Nov-91
gen_index.sirius(0)	= 0	;TODO
gen_index.sirius(1)	= 0	;TODO
gen_index.sirius(2)	= 0	;TODO
gen_index.sirius(3)	= 0	;TODO
gen_index.sirius(4)	= 0	;TODO

gen_index.data_quality		= 0	;TODO
gen_index.nMissSamps		= 0	;TODO
gen_index.StartSamp		= 0	;overwritten by WRT1___ routine

gen_index.data_word_type	= 1+16	;byte type and compressed

gen_index.nIndexStruct		= 0	;overwritten by WRT1___ routine
gen_index.nIndexByte		= 0	;overwritten by WRT1___ routine
gen_index.nDataByte		= 0	;overwritten by WRT1___ routine

gen_index.sxt_pow_stat		= rec1(16+48, 25)
gen_index.bcs_pow_stat		= rec1(16+112, 3)
gen_index.hxt_pow_stat		= rec1(16+48, 1)
gen_index.wbs_pow_stat		= rec1(16+48, 2)
gen_index.sxt_control		= rec1(16+114, 32)

end
