Testing new measurement software

2007-09-27/lindi: contobs has been migrated to run on debian. Please see http://www.metsahovi.fi/howto/contobs-debian.txt for more instructions.

Last update: 2007-06-28/lindi

The current plan is to teach contobs to talk to different pieces of the new measurement system (antcon, meacon, daqqer, data) over network so that eventually no special VAX hardware is used during measurements. This allows us to gradually move to the new system instead of doing it in one big step (and ending up in a situation where we have no idea what causes the mysterious errors in data).

Please do all tests under the VNC session of the kurpitsa account (window number 21) so that I can take a look at contobs output or use the VAX debugger if you find some bugs. The password for this VNC session is the same as kurpitsa's password on VAX. The gnome-terminal runs the screen program so that all output is gets logged to /home/kurpitsa/screenlog.0 (this unfortunately has the size effect that scrolling does not work).

Starting contobs

These tests require a modified version of contobs that you can start with

run DUA1:[KURPITSA.LINDI.CONTOBS4]CONTOBS.EXE;85

Current status

Test1, test2 and test3 seem to work. Errors in test4 however seem to be larger than in test3.

Dealing with the debugger

Sometimes it is necessary to run contobs with a debugger so here are instructions on how to deal with it. If you are unsure, don't follow these instructions but follow the test chapters instead!

  1. Start a version of contobs with debugging support (this changes all the time, you need to ask first).
  2. When contobs starts this way you will be first dropped to a debugger prompt "DBG>". Type
    set trace/silent/exception do (show calls)
    go
    
    to continue.
  3. When you have selected A/D scale you will be again dropped to debugger (I don't know why!). Just type
    go
    
    this time to continue. "set break/exception" causes contobs to quite eagerly drop into debugger even in normal measurements so you might need to continue from those situations with the "go" command.
  4. When you quit contobs with Ctrl-Y you will again be dropped to a debugger. This time type "exit" to the debugger prompt and then "STOP" to the DCL shell prompt to really stop contobs.

Test1: Sending antenna coordinates over network

The first step is to teach contobs to send antenna coordinates (300 times per second) to antcon.

  1. To test the new features press G to open a connection to antcon. This should print "antenna_io.connect_tcp_send". Then press H to tell contobs to send coordinates over network. This should print "antenna_io.use_tcp_send(true)". Note that the connection timeouts in 30 minutes so if you wait too long between these keypresses you need to press G again.
  2. When you have done some measurements and want to switch back to the old way of sending coordinates with special VAX hardware press I and say "vaxtrack" to antcon (should VAX send "vaxtrack" on its own automatically?). Pressing I should print "antenna_io.use_tcp_recv(false)".
  3. Please mark sources measured with these instructions with the text "test1" in your measurement notes.

    Issues found so far

    1. Ilona started measuring DR21 and got the following errors after 1000 seconds of measurement time:
      %DEBUG-I-DYNMODSET, setting module LEQNP
      %SYSTEM-F-FLTDIV_F, arithmetic fault, floating divide by zero at PC=000545A3, PS
      L=03C000A0
      break on exception at LEQNP.LOOP$23.%LINE 24+107 in %TASK 19
      
          24:     P:=1.0/matx(I,I);
      
      Currently it seems that the exception is normal and the debugger is unnecessarily breaking on it. You should not see this error if you are not using "set break/exception".
    2. Merja has seen the following problem at least two times even without sending coordinates over network. I don't yet understand how contobs can behave differently here. A workaround has been added.
      Errror in procedure Gaunw
      Error in Fitg5.Gfits
      Non_ADA_Error in Fitg5, Five-point Gaussian-fit failed
      ^GError in Five_point_reduction.Enter
      Error in REDUCEBIT
      Error in Enter
      Exception in task REDUCER !
      %ADA-F-EXCCOP, Exception was copied at a raise or accept statement
      -ADA-F-CONSTRAINT_ERRO, CONSTRAINT_ERROR
      -ADA-I-EXCRAIPRI, Exception raised prior to PC = 000593F3
      %ADA-I-TASTERUNH, Task with ID %TASK 19 of type reducer has terminated due to un
      handled exception
      

    Analysis of 070615.GIX;2 vs. 070615_TEST.GIX;2

    1. Peak level is almost the same (137.47 vs. 136.11).
    2. Offsets are smaller in the fit (0.0046/-0.0014 vs. -0.0009/0.0005).

    Test2: Receiving antenna coordinates over network

    The second step is to teach contobs to receive antenna coordinates from antcon.

    1. Press J to open a tcp/ip connection to antcon and then press K to start receiving coordinates from antcon. When you have done some measurements with this test you can switch back to the old way of receiving coordinates by pressing L (this does not require saying "vaxtrack" to antcon in contrast to test1).
    2. Please mark sources measured with these instructions with the text "test2" in your measurement notes. Note that you can and probably should do both test1 and test2 at the same time so that coordinates are both received and sent over network. In this case you can write e.g. "test1+test2".

    Test3: Receiving old A/D converter samples over network

    Using an adam/nudam module (Aux-Analog-5) it is possible to measure the voltage in the old backend.

    1. Press M to open a connection to dammer and then press N to start receiving samples over network. You can revert back to old behavior by pressing Q
    2. If you are confident that pointing works (test1+test2) you can use one-point measurements here since we are only interested in the captured a/d samples.

    Test4: Receiving new A/D converter samples over network

    This test uses the new backend and new a/d converter (in daqqer) to capture samples. Note that you can not run this test together with test3.

    1. Press O to open a connection to daqqer and then press P to start receiving samples over network. You can revert back to old behavior by pressing Q (yes, same as in test3).
    2. The "millivolts" in old and new backend are not directly comparable so you need to always do calibration before measuring some source.

    After this line contobs should no longer talk to any special hardware!

    Test5: Sending ra/dec coordinates over network

    Currently contobs converts ra/dec coordinates to az/el coordinates but in the new measurement system antcon is going to do the conversion. To test this we can tell contobs to send ra/dec coordinates over network so that antcon can do the conversion for us:

    Things to do

    1. (should be fixed) Figure out how to make VMS debugger not to break on exceptions that happen in guanw. and friends.
    2. Figure out a suitable scaling factor between test3 and test4. The reference voltage seems to change after contobs changes sources!
    3. Write test5
    4. (should be fixed) Try to avoid CONSTRAINT_ERROR on bad weather