;+
; Project     : SOLAR-B - EIS
;
; Name        : EIS_CPT_SET_EIS_EVENT_TABLE
;
; Purpose     : Sets up EIS event table parameters.
;
; Explanation :
;
; Use         : < table = eis_cpt_set_EIS_event_table ( control, engineering_parameters, response_index) >
;
; Inputs      : control                 : STRUCTURE of type EIS_flare_control
;               engineering_parameters  : STRUCTURE of type EIS_engineering_parameters
;               response_index          : INT index of sequence table start for event response study
;
; Opt. Inputs : None.
;
; Outputs     : result      : INT flag :
;                             1 : processed science plan OK.
;                             0 : processing failed.
;               table       : BYTARR[20] EIS event table
;
; Opt. Outputs: None.
;
; Keywords    : None.
;
; Calls       : None.
;
; Common      : None.
;
; Restrictions: None.
;
; Side effects: May output ASCII files.
;
; Category    : EIS_CPT.
;
; Prev. Hist. : None.
;
; Written     : Martin Carter RAL 24/06/05
;
; Modified    : Version 0.0, 24/06/05, MKC
;               Version 0.1, 05/07/05, MKC
;                 Corrected raster_id.
;               Version 0.2, 08/09/05, MKC
;                 Changed raster number/ number of rasters tag to raster identifier.
;               Version 0.3, 22/01/08, MKC
;                 Added big-endian comments.
;
; Version     : Version 0.3, 22/01/08
;-
;**********************************************************

FUNCTION eis_cpt_set_eis_event_table, control, engineering_parameters, response_index

  ; set up eis event table

  table = BYTARR(20)

  ; set up sequence no.
  ; NB note big-endian byte/bit order

  table[0] = response_index

  ; set up response raster ID
  ; NB note big-endian byte/bit order

  table[1:2] = eis_cpt_set_raster_id( control.raster_identifier)

  ; set up control flags
  ; NB note big-endian byte/bit order

  IF control.adjust_Y        THEN table[3] = table[3] OR '80'XB

  IF control.adjust_X        THEN table[3] = table[3] OR '40'XB

  table[3] = table[3] OR ISHFT(control.X_min_limit, 3)

  table[3] = table[3] OR control.Y_min_limit

  ; set up X threshold
  ; NB note big-endian byte/bit order

  table[4:7] = eis_cpt_ulongtobytes(control.X_threshold)

  ; set up Y threshold
  ; NB note big-endian byte/bit order

  table[8:11] = eis_cpt_ulongtobytes(control.Y_threshold)

  ; set up Y start address
  ; NB note big-endian byte/bit order

  table[12:15] = eis_cpt_ulongtobytes(engineering_parameters.CAM_readout_parameters.addresses[1])

  ; set up Y height address
  ; NB note big-endian byte/bit order

  table[16:19] = eis_cpt_ulongtobytes(engineering_parameters.CAM_readout_parameters.addresses[3])

  ; return table

  RETURN, table

END





