Current TODO list -- 25/9/95
****************************

IDL
***

1) Cope with table full crashes cleanly.
   CLOSED 26/9/95. CPT now makes a duplicate copy of databases
   and runs from these. On successful completion renames the
   duplicates back to the originals.

2) Include CB5ENS mnemonic explicitly in series tables.
   CLOSED 27/11/95. Changed format and checked can be written explicitly.

3) Check whether SFT defined for each raster and if not raise issue.
   CLOSED 4/5/95. SFT defined for each study.

4) Settle on READY BOTH as standard mode and implement CDHS state 
   parameter reflecting standard running state mode.
   CLOSED 4/5/95. Added READY BOTH to start of each series table.

5) Implement GIS complications.
   CLOSED 18/12/95.

6) Check whether any tests should be reinstated now planning databases
   more stable.
   CLOSED : reinstated nrasters<>0 test.

7) Check whether nrasters1 = 0 allowed and checked for.
   CLOSED 24/11/95. Checked that raster repn sesnible.

8) Check state of mixing deferred and fixed pointings within study.
   Problem was that cpt uses first raster position to label series table.
   If deferred used within study will not change labelling.
   Believe deferred pointing only refers to first raster.
   Write note in cpt detailing this.
   CLOSED 18/12/95. Found this was not the case. Added separate deferred pointing to
                    series_id database.

9) Consider effect of SFT on pointing delay calculations.

10) Add in IEF flags.
    CLOSED 3/10/95. 

11) Consider what to do with CPT databases if crash occurs.
    CLOSED 26/9/95. CPTR makes duplicate of databases then renames these 
    on successful completion.

12) Update CPT documentation.

13) Write CDHS state database routines mimicking existing get_state
    routine.
    CLOSED 25/8/95. Wrote routine cp_get_state.

14) Macro does not step to middle of raster. Does cpt handle raster
    position correctly ?
    CLOSED 25/8/95. CPT uses OPS to point to position of raster in x,y. 
                    Then uses mirror and slit offsets to point to bottom left of 
                    raster.

15) Write extra items to IAP.

16) Confirm or change VDS exposure time set up with Bill and CDP.
    CLOSED 26/9/95. Current algorithm for VDS exposure units okeyed.
    
17) Incorporate VDS window offsets in state database and cpt.
    CLOSED 25/8/95. Wrote routine cp_get_state and incorporated into
                    cpt. NB If CDHS state parameters change
                    then will need to reset commprep database.

18) Write routine get_cdhs_index to interrogate the index of a given
    CDHS ID.
    CLOSED.

19) Overlap GIS lookup tables with VDS operations and detail to 
    planning people.
    CLOSED 18/12/95. Not sensible to do this.

20) Calculate GIS lut checksums at end of each study.
    CLOSED 18/12/95. 

21) Check Bills mech_point and sensor_point routines.

22) Command READY BOTH at start of each study to cope with flare
    like events.
    CLOSED 26/9/95. Command sent at start of each study.

23) Confirm that writing CB5ABORT at start of each study necessary in
    view of Eddie's response.
    CLOSED 26/9/95. Needed to abort flag study. Implemented.

24) Confirm how raster duration currently calculated.

25) respond to Bill's note 23/8/95.
    CLOSED 23/8/95.

26) Update official version once DZ updated his SW.
    CLOSED 3/10/95.

27) Update OPS delay calculation to include SFT movement.

28) Add command to calculate GIS lookup table checksums.
    CLOSED 18/12/95.

29) Think about realtime operation of CDS.

30) Keep track of current study counter value.
    CLOSED 25/9/95 This is a job for the automatic mode software 
    rather than CPT.

31) Think about error conditions in code (need to avoid code 
    STOPping in widget session).
    IDL provides a mechanism for dealing with errors in the code.
    MESSAGE has been used throughout CPT so that errors are 'hard'.
    Where a different treatent is required this can be accomplished 
    globally by setting error treatment to 'soft'.     
    CLOSED 3/10/95. Added in ERRMSG to a number of shared routines.

32) Implement SCI_ALT study loads.

33) Check SFT command sent to CDHS at appropriate points.
    CLOSED 26/9/95. SFT enabled and disabled before and after each 
                    raster within do_raster.pro. NB SFT only defined for each study.
                    Want to enable and disable on a study basis else calculating the 
                    pointing for each raster within the study will be difficult.

34) Change default array sizes and make arrays grow as needed.
    Set maximum no. of tables in a study to the maximum possible.
    CLOSED 28/9/95. Grow table lists and fileout arrays. Set maximum
                    no. of series tables in a study to 48.

35) Note Bill has changed cp_get_state so my editing version is no longer 
    current. Need mechanism for uodating shared files.
    CLOSED 3/10/95.

36) Add in ERRMSG keyword to shared routines cp_get_state, 
    get_ops_delay, cp_get_indeces, cp_get_mnemonic.
    CLOSED 28/9/95. Added ERRMSG keyword but uses hard error
                    if keyword not used.

37) Call cp_input_wd something more friendly.
    CLOSED 24/10/95. Called cp_state.

38) Note that list_detail gets any study which intersects the time interval defined.
    CLOSED 8/1/96.

39) If SFT not required explicitly turn it off.
    CLOSED 2/11/95. turned off in wr_series_file.

40) Need to interface to IEF database routines.
    CLOSED. Provided get_ief, get_iefwin, get_ieftab, get_def, add_ief, add_ieftab,
            add_iefwin.

41) Update shorthex utility to deal with arrays.
    CLOSED 3/10/95.

42) Update CPT to recognize deferred and fixed flag studies.
    CLOSED. Logic in place.

43) Invent some mechanism whereby CDS knows that the state database has
    been updated.
    CLOSED. Adopted idea that any parameter from CDHS state database that 
            may affect tables is taken into account explicitly.

44) Implement changes to flag operation.
    CLOSED. Flag stuff implemented.

45) Implement engineering studies.
    CLOSED 18/12/95.

46) Put in code to reflect maximum CB5WAIT time allowed.
    CLOSED. Created routine macro_delay.

47) Need to insert maximum time delay for repointing within a flag study and
    for a study following a flag study.
    Within a flag study there is only one raster allowed. This may or may not have 
    a pointing associated. Need to remove the OPS position commands in a flag study 
    series table.

48) Does the study duration take into account the time taken to get to the start position
    of the study ? I will assume that it does not.

49) Added VDS centre line to VDS_STATE.
    CLOSED 24/10/95.

50) Create routines to access IEF parameter databases.
    CLOSED.
    
51) Add silent keyword to get_series_id and get_raster_id.
    CLOSED 24/10/95.

52) Write documentation for IEF database.

53) Deal with removal of emergency study from deferred command store.
    CLOSED 20/12/95. CDP wrote DCS edit utility.

54) Add /silent to calls to dbbuild.
    CLOSED 23/10/95. Added to get_series_id and get_raster_id.

55) Add CB5STCLR whenever new>=1 is used.
    CLOSED 7/11/95.

56) After a flag receiver study do not know current state i.e solar x,y, gset_id, slit number since
    these will depend on whether flag went off or not.
    Tempting to add return to study position and slit number at end of flag study since will not 
    otherwise know how to get back to calling study position.

57) Consider whether to include CDHS state parameters at end of raster table in raster_id database.

58) Write routines list_ief, list_ieftab, list_iefwin, list_eng, get_eng, add_eng.
    CLOSED 18/12/95. Did not need *_eng routines.

59) Make solar x and y in internal mode agree with planning SW.
    Attempt is closer but should still try to resolve discrepancy.

60) Change series table format to agree with either CB5FILS or UPDATE.
    CLOSED 24/11/95. Changed to CB5FILS format. However, still cannot use CB5FILS directly
                     because will be in wrong directory.

61) Test flag stuff.

62) Reinstate dexwin database with some mechanism for taking care of background windows.
    At present background windows indistinguishable from science data extraction windows.
    Different background windows will make different dexwin IDs. So dexin_id database not
    presently needed. Can't it stay that way ?
    CLOSED 18/12/95. No dexwin_id database.

63) Only use OPS movement within a study if outside of mirror movement range.
    CLOSED 5/12/95. At the expense of different numbers of commands per
                    raster for different situations

64) Invert the deferred pointings and the repeat studies loops.
    CLOSED 8/12/95.

65) Modify the CDHS state database so that includes delays after commands and
    so that loadable means in series table.
    CLOSED 20/12/95.

66) Dump dummy series table at start of realtime engineering study to wake operator up.
    CLOSED 8/12/95. STM should use the series ID to recognize a perl script engineering
                    table.

67) Reverse processing of series and include next series ID in series_id database.
    CLOSED 20/12/95.

68) Replace CB5IEF and CBG lookup table hex values with mnemonics.

69) Remove GIS power up for unused detectors and GIS lookup table calculations.
    CLOSED 2/1/96.

70) Investigate whether the OPS commands in the deferred command store can go through 
    macro and so keep it informed of the current position.
    CLOSED 3/1/96

71) Resolve question about background windows for VDS.  
    CLOSED. Background windows are added to the normal dataextraction windows before
            CPT sees them. The background windows are stored in the state database.

72) Add in CDP routine to translate data extraction windows.
    CLOSED 19/2/96. Included dexwin_id state database.
                   
Done :

-Implemented raster/series repeats.
-No real time scratch area incorporated.
-Created CDHS state database.
-Solar feature tracking implemented.
-get_ops_pos updated to full calculation.
-ops_point checked out and updated to include state database calls.
-CB5SIC mnemonic explicitly include in series tables.
-Implmented different pointing modes.
-modified relative pointing mode to give offsets relative to the
 first raster position.
-Confirmed n_pointings=0 for study with fixed pointing
-Non-Time tagged studies implemented sequentially.
-Added check that slit number in valid range in cpt.
-Traced slit number 0 problem to CDP.
-Implemented state database.
-Emergency study implemented. 
-Written routines get_cdhs_raster get_cdhs_series to interrogate the
 CPT databases.
-Updated my verion of cpt to include changes made by CDP.
-zero study ID in series tables.
-Send cb5abort at beginning of each study.

Bugs :

-Corrected bug in pointing loop where pointing not updated.
-Bug where study spans more than one series table and table already 
 loaded and is fundamental.
-Found mismatch between CPT and planning interpretation of relative
 pointing.
-5/9/95   Corrected bug in get_cdhs_index which affected behaviour when all
          CDHS table used.
-25/9/95  Fix bug in cp_get_indeces which returns error flags rather
          than error messages. Now issues MESSAGE on error condition.
-11/10/95 Fixed bug where GIS exposure time not correctly set up.
          Modified TTC output to better reflect correct state of things for
          non time tagged studies.
-17/10/95 Corrected bug in code to do with how VDS offsets added in.
-21/11/95 Corrected bug in wr_vdswin_file where the table length was not written out.
-23/11/95 Fixed bug in raster span calculation
          Fixed bug in initializing current_state in cpt_details.

PERL
****

1) Do we want perl scripts to write files containing the command hex values ?
   Closed 21/11/95. Hex values written out for series, raster, dexwin and vdswin tables.

2) Investigate current state of command validation software.
   Closed 21/11/95. CDP has written table validation into STM SW.

3) Update update perl script documentation.

4) Better document routines.

5) Do global leap seconds.
   CLOSED 27/11/95. Have previously just added 29 secs. to UTC time.

6) Write deferred command store edit script.
   Including delete deferred store from time.
   CLOSED 20/12/95.

7) Write script to access the current study counter and update the CDS.
   CLOSED 8/1/96. Created LOADSEQNO.

8) Update routines to reflect new environment variable names.
   CLOSED 20/12/95.

9) Get DFLOAD to check times before loading them.

10) Correct loading problems in RTLOAD and UPDATE.
    CLOSED 20/12/95.

11) Add count of no. of mlbs sent in PSLOAD, DFLOAD and UPDATE.
    CLOSED 27/11/95. Added for PSLOAD and DFLOAD.

12) Modify UPDATE so that runs from CB5FILS type script.
    CLOSED 20/12/95.

13) Modify CB5FIL* scripts to output hex files a la PSLOAD.

14) Get scripts to accept CB5IEF and CBG* commands as above.

15) Update home version of LOADPLAN.

Done :

-Created script to load CDHS state database update file.

Bugs :

-PSLOAD gave invalid table length error : corrected bug in PSLOAD.
-Chopped of end of line character in getarg.

OTHER
*****

1) Need sensible place to put update file from CDHS state database.
   CLOSED.

2) Need sensible place to put CDHS state database and control its 
   modification.
   CLOSED.

3) Start putting CDHS state database into proper use.
   CLOSED.

4) Implement flare like event proposal.

5) Confirm idea that mode tables should only contain relay switches
   and assess implications, consider also engineering tables.
   CLOSED.

6) Sort out mechanism warning error problem.

7) Keep track of current study counter.
   CLOSED 8/1/96.

8) Need IEF database routines and mk_flag.

9) Suggest that outside of science data gathering should use 2 sec.
   telemetry acquisition to aid fault diagnosis.
   CLOSED 9/10/95. Cannot issue CBCAAQI from macro so would have to do 
   from deferred command store.

10) Suggest that engineering studies be incorporated into the science
    plan.
    CLOSED 6/10/95. Suggested at CDS SW meeting.

11) Implement M2/3 engineering studies.
    CLOSED. RAH did it.

12) Check out sun sensor values in telemetry and science stream.

13) Investigate further the crash situation set off by CB2PMODE.

14) Check with DP and Eric about viability of RBOTH mode in light of
    Khalid's reservations.
    CLOSED. No one else seems worried.

15) Query whether script is ready to switch off relevant relays in case of deadlock 
    on CDHS.
    CLOSED. No one else seems worried.

16) Think about coding up Peter Mcwhirters scheme for blocking up spatial resolution.

17) Check with VDS people that OK to enable windows all the time rather than after each
    window load.
    CLOSED.

18) Check that need housekeeping lockout mode enabled. All testing without this.
    CLOSED. Yes we do.

19) Query Alec about the GIS prefix invalid symptom.

20) Write up memory dump operation.

21) Add user input routines to MK_ENG.
    CLOSED. Removed user interface. Can write wrap around routine if needed.

22) Sort out the GIS telemetry problem.

23) Sort out the MCU backup problem.
    CLOSED 19/2/96. Found small bug.

24) Resolve GIS block command issue.

Done :

-Checked out BS9RTIM0 error reported 20/3/95. Due to CDS_OBS
 going to SNZ and aborting secondary processor.
-Confirmed that CDHS does not check slit number valid range correctly.
-DEXWIN overflow error on CDHS traced to table load problem in egse.
-Written proposal for coping with flare like events.