Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-18698

Finishing FibreSpectrograph (AuxTel) Interface

    Details

    • Epic Name:
      Finishing FibreSpectrograph (AuxTel) Algorithm
    • Story Points:
      15
    • WBS:
      1.04C.15.3 (AuxTel)
    • Team:
      Telescope and Site

      Description

      Finishing FibreSpectrograph (AuxTel) Algorithm

      Version 1 consists of:

      1. Standard state and configurable CSC format with state implementation
      2. Ability to take an exposure of integration time that is in the range specified by the vendor API. Also implementation of the a "stop exposing" command. 
      3. Creation of a fits file containing the intensity per pixel and another column containing the wavelength solution for that pixel 
        1. The wavelength solution is from the vendor code which is ok for now. In the future we'll need to be able to specify our own wavelength solution
        2. Line 1 must contain the data from pixel 1 etc.
      4. Implementation of the http server to publish the fits file to the LFA
      5. Temperature control need not be implemented in v1 and will be left for a future version. However, a sensible temperature for the device should be set (say 15C). 
        1. Because exposures for the moment will have large signal dark current is not an issue.

        Attachments

          Issue Links

          Stories in Epic (Custom Issue Matrix)

          Key Summary Story Points Assignee Status
           
          DM-21373

          Add an internal timeout counter to the spectrograph polling

          1 John Parejko Done
           
          DM-21368

          Check that exposure time is in valid range

          1 John Parejko Done
           
          DM-21281

          Test activating an already-activated spectrograph, and add unittests as necessary

          1 John Parejko Done
           
          DM-21188

          Implement exposure start/stop

          4 John Parejko Done
           
          DM-21194

          Convert AVS mock into spectrograph simulator

          2 John Parejko Done
           
          DM-21066

          Implement initial spectrograph Mock system

          4 John Parejko Done
           
          DM-21139

          Refactor FiberSpectrograph and implement get_status

          4 John Parejko Done
           
          DM-20491

          Update units and desciption for CSCs

          2 Harini Sundararaman [X] (Inactive) Done
           
          DM-18710

          FIbreSpectrograph Code port from LabView to Python-part 1

          4 Harini Sundararaman [X] (Inactive) Done
           
          DM-20740

          Implement FiberSpectrograph CSC version 1

          4 John Parejko Done
           
          DM-19773

          Debug device not detected issue

          1 Harini Sundararaman [X] (Inactive) Done
           
          DM-19771

          Debug FITSIO LabVIEW Library error

          2 Harini Sundararaman [X] (Inactive) Done
           
          DM-19719

          Resolving makeFile issues c++ APIs

          1 Harini Sundararaman [X] (Inactive) Done
           
          DM-19518

          Setup Sundararaman development environment

          2 Harini Sundararaman [X] (Inactive) Done
           
          DM-18670

          Fiber Spectrograph CSC producing fits files with the incorrect range

          Harini Sundararaman [X] (Inactive) Won't Fix
           
          DM-19914

          Update FiberSpectrograph LabVIEW code to use SAL 3.10

          3 Harini Sundararaman [X] (Inactive) Won't Fix
           
          DM-18711

          FIbreSpectrograph Code port from LabView to Python-part 2

          4 Harini Sundararaman [X] (Inactive) Invalid
           
          DM-18669

          Fiber Spectrograph EUI only showing a piece of the spectrum

          Harini Sundararaman [X] (Inactive) Invalid

            Activity

            Hide
            Parejkoj John Parejko added a comment -

            Note that as of DM-21139, we can get the current spectrograph temperature (and temperature set point) in degrees C, but cannot set it. It defaults internally to 5C, which seems fine to me.

            Show
            Parejkoj John Parejko added a comment - Note that as of DM-21139 , we can get the current spectrograph temperature (and temperature set point) in degrees C, but cannot set it. It defaults internally to 5C, which seems fine to me.
            Hide
            aclements Andy Clements added a comment -

            Adding start/end dates from P6

            Show
            aclements Andy Clements added a comment - Adding start/end dates from P6
            Hide
            Parejkoj John Parejko added a comment - - edited

            Remaining questions unrelated to writing files that may belong on this epic, or may belong on a different one:

            What do we do about saturated values? You can query the device for what pixels it thought were saturated, but what do we do with that information?

            Where do we document design decisions made during the construction of this CSC? Examples include:

            • How heartbeats work: there is no "USB heartbeat", instead commands will just immediately fail if the device is no longer connected.
            • Running two FiberSpectrograph CSCs from the same python instance may cause odd behavior (it's not clear to me how to correctly disconnect one spectrograph while leaving a library in the same instance still in a good state).
            • The behaviour of libavs when running two different python instances is not what I would have expected from the vendor docs (see comments on DM-21821). This may affect whether we can easily run two spectrographs from the same computer (having each computer run exactly one simplifies things, because we then don't have to encode the serial numbers anywhere; just connect to the only available device).
            • Status commands (e.g. temperature) have to wait for an ongoing exposure. It appears that GetParameter and GetAnalogIn both do nothing until the exposure has been read out.
            Show
            Parejkoj John Parejko added a comment - - edited Remaining questions unrelated to writing files that may belong on this epic, or may belong on a different one: What do we do about saturated values? You can query the device for what pixels it thought were saturated, but what do we do with that information? Where do we document design decisions made during the construction of this CSC? Examples include: How heartbeats work: there is no "USB heartbeat", instead commands will just immediately fail if the device is no longer connected. Running two FiberSpectrograph CSCs from the same python instance may cause odd behavior (it's not clear to me how to correctly disconnect one spectrograph while leaving a library in the same instance still in a good state). The behaviour of libavs when running two different python instances is not what I would have expected from the vendor docs (see comments on DM-21821 ). This may affect whether we can easily run two spectrographs from the same computer (having each computer run exactly one simplifies things, because we then don't have to encode the serial numbers anywhere; just connect to the only available device). Status commands (e.g. temperature) have to wait for an ongoing exposure. It appears that GetParameter and GetAnalogIn both do nothing until the exposure has been read out.
            Hide
            rowen Russell Owen added a comment -

            If we think the saturation information is likely to be correct then I suggest adding a mask plane, especially if it's not something we can trivially compute ourselves.

            Show
            rowen Russell Owen added a comment - If we think the saturation information is likely to be correct then I suggest adding a mask plane, especially if it's not something we can trivially compute ourselves.
            Hide
            aheyer Andrew Heyer added a comment -

            John, Documentation for all TSSW Software can be found here https://confluence.lsstcorp.org/pages/viewpage.action?pageId=1507888

            Expand the parent folder named "Commandable Sal Components (CSC)"

            Here you will see that the CSC's are divided into 3 categories, the OCS, MTCS, and ATCS. You can place the documentation for your CSC wherever you see fit. 

            Side note the OCS I believe is being superseded by the Script Queue, I will. I believe Andy or Russell can verify this.  

            Show
            aheyer Andrew Heyer added a comment - John, Documentation for all TSSW Software can be found here  https://confluence.lsstcorp.org/pages/viewpage.action?pageId=1507888 Expand the parent folder named "Commandable Sal Components (CSC)" Here you will see that the CSC's are divided into 3 categories, the OCS, MTCS, and ATCS. You can place the documentation for your CSC wherever you see fit.  Side note the OCS I believe is being superseded by the Script Queue, I will. I believe Andy or Russell can verify this.  
            Hide
            aclements Andy Clements added a comment -

            We believe this component to be mostly completed.   on-going development, testing and documentation happening in DM-18699.  Please review.  Thanks.

            Show
            aclements Andy Clements added a comment - We believe this component to be mostly completed.   on-going development, testing and documentation happening in DM-18699 .  Please review.  Thanks.
            Hide
            pingraham Patrick Ingraham added a comment -

            System has been deployed and undergone light testing in Tucson. Integration with the LFA remains but it appears the plumbing is there.

            Show
            pingraham Patrick Ingraham added a comment - System has been deployed and undergone light testing in Tucson. Integration with the LFA remains but it appears the plumbing is there.

              People

              • Assignee:
                Parejkoj John Parejko
                Reporter:
                jbuffill James Buffill [X] (Inactive)
                Reviewers:
                Patrick Ingraham
                Watchers:
                Andrew Heyer, Andy Clements, James Buffill [X] (Inactive), John Parejko, Patrick Ingraham, Russell Owen
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Start date:
                  End date:

                  Summary Panel