[INSTRM-1052] Add per-lamp time cards for DCB Created: 15/Aug/20  Updated: 22/Nov/23  Resolved: 08/Dec/22

Status: Done
Project: Instrument control development
Component/s: ics_actorkeys, ics_dcbActor
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: cloomis Assignee: arnaud.lefur
Resolution: Done Votes: 0
Labels: SPS
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
is blocked by PIPE2D-1125 Provide Lamp key on SM3 data headers Done
is blocked by INSTRM-1117 create datetime module in actorcore Done
Relates
relates to INSTRM-2118 handle IIS per-lamp cards Open
Story Points: 1
Sprint: SM1PD-2020 K, SM1PD-2020 M, SM1PD-2020 L, SM1PD-2021 A 12

 Description   

Add per-lamp time cards for the DCB lamps, modeled on the pfiLamps design. Do not add the measured flux cards (yet). In other words, for the following, we just want W_DCNET, etc.

So the DCB could generate keys like, say, neonLamp=time,flux, and probably some attenuator cards or fields when that system is understood.

Note that for the purposes of lamp-controlled FITS header cards, the keyword should be correct either at the start of integration or at the start of readout. Currently the cards are grabbed at the start of integration, so if we keep to generating the "on" keywords at the dcb prepare stage and "off" ones at the end of the dcb go stage we will be OK.

I don't see us putting in the engineering time to measure the actual exposure times for this PDU, so I propose just reporting the requested time. For the pfiLamps controller that will be exact.

== From pflampsActor design doc:

For a given lamp (neon, say):

  • W_CLNET, a float, states the requested lamp on time. 0 means off.
  • W_CLNEV, a float, shows the lamp's component of the measured photodiode voltage.

The HgCd lamp is slightly different. We control a single HgCd lamp, but measure a mercury line and a cadmium line independently. So for that lamp, there will be:

  • W_CLHGCC, the float for the commanded HgCd lamp state.
  • W_CLHGV, the measured Hg photodiode voltage
  • W_CLCDV, the measured Cd photodiode voltage


 Comments   
Comment by arnaud.lefur [ 05/Nov/20 ]

The keywords would be:

lamp=state,onTime,offTime

the ccdActor could then generate correct headers keys at the end of the integration following this logic:

offTime = shutterCloseTime if offTime < onTime else offTime
start = min(max(onTime, shutterOpenTime), shutterCloseTime)
end = max(min(offTime, shutterCloseTime), shutterOpenTime)
lampExptime = end - start
lampState = lampExptime > 0
Comment by hassan [ 28/Jan/22 ]

cloomis and arnaud.lefur to discuss the design further.

Comment by arnaud.lefur [ 30/Nov/22 ]

I've implemented a version which is proven to work, at least in simulation.
SM3 data acquisition is currently pending on this. Waiting on cloomis to review before merging and installing at the summit.

Comment by arnaud.lefur [ 08/Dec/22 ]

merged to master.

Generated at Sat Feb 10 16:31:24 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.