Software Frontend Scheme Bill Peters 27 Jan 98 (The following scheme is admittedly complex. If someone can simplify it without loosing generality, I'd be happy to hear about it.) There are two frontend areas, #1 and #2, that specify receiver parameters such as rest frequency, sideband, etc. The only difference between Frontend #1 and Frontend #2 is the synthesizer used: #1 specifies the synthesizer frequency of Synthesizer #1 and #2 specifies Synthesizer #2. (Currently, only the SIS490 uses synthesizer #2.) FEORGA checks which frontends are in use and sends the appropriate synthesizer setting(s). Which frontends are "in use" is selected by specifying which frontend is associated with each active Backend. The active backends are specified by the BACKEND command. The associated frontend(s) are specified through the BE_FE command: BE_FE [] where is the backend name or number, and is the frontend number. In order of backend numbers 1-8, the backend names are: DRUM, HOLO, AOSA, AOSB, AOSC, NASA, FBS, and CHIRP. (AOSA and AOSB are 1 GHz wide AOS with about 900 kHz resolution, AOSC is a 250 MHz wide AOS with about 400 kHz resolution.) The second is used only if the can be connected to two Frontends simultaneously. (This is currently only possible for DRUM.) In the case of the SIS345 receiver, there are two channels, A and B. For this receiver, the frontend should be specified 1A or 1B as appropriate. BE_FE also prints out the current Frontend associations for each backend. (Type it with no parameters to just see this output.) Repeat BE_FE for each Backend whose associated Frontend is to be changed. (Note that the old scheme of specifying the Frontend by the /RECEIVER adverb no longer works.) The RX command has been changed so that one can specify more than one receiver name, one for each frontend. The /R_NAME adverb is no more. Instead, you type one or two receiver names directly after the RX (e.g. RX SIS230 SIS490). And the functions of the old /CHN1 and /CHN2 adverbs are now accomplished by the BE_FE command as explained above. The RX command also sets up the Harmonic and Multiiplier for the Gunn for each receiver (via the FESET command). To specify that only Frontend #2 is to be changed by the RX command, use * for the name of Receiver #1. (To only change Frontend #1, either omit the Receiver #2 name or use an * for it.) Finally, the RX command specifies the positions of the RF switches in order to route the Synthesizer #1 to the required receiver and the receiver IF's to the MPIfR IF Switch Box (see below). Currently, only the SIS230 and SIS490 receivers may be used simultaneously. When the SIS345 receiver is used, only one frontend area is used. The two channels of the 345, A and B, are associated with the same frontend, #1. The RX command now has an adverb /PT_MODEL which specifies which receiver's pointing model offsets should be used to point the telescope. Use the normal receiver names for /PT_MODEL. It should be one of the two receivers specified by the RX command (or a previous RX command, if both receivers aren't specified this time). If the receiver name for /PT_MODEL is not the name stored in one of the active frontends, the name stored in the first active frontend is used for pointing. Once a scan has been started, the name of the receiver used for the offsets is stored in a SIC character variable, MOD_NAME. RX /PT_MODEL ? will print this name. The LINE command is used to specify the line name and frequency. (It should no longer be necessary to specify these separately for the L_MODE and C_MODE commands.) When specifying the rest frequency, one should use the /RECEIVER adverb to specify which frontend area, 1 or 2, is to be modified. As usual, if /RECEIVER is omitted, the default value is assumed. Temporarily, one can only verify what the LINE and FESET parameters are in effect for a particular Frontend by doing SHOW FE1 or SHOW FE2 in OBSINP. When using the SIS345, if one forgets to specify the letter A or B on the frontend number in the BE_FE command, the data headers will indicate that the backend(s) were connected to channel A. Since the computer cannot yet control the MPIfR IF Switch Box, the data will be unaffected. POINTING commands with two frontend's in use are similar to when one uses the two-channel SIS345 receiver: The continuum data for both frontends is recorded in the Raw Data, but only the Drumbeat channel selected by the DISPL_CHAN command is processed and recorded in the Pointing data base. But one can use an Offline Chef session to fit another channel and record the results. Each receiver IF goes to two Drumbeat channels. Odd number channels are AC coupled and even numbered channels are DC coupled. Normally one uses the AC coupled channels. When SIS345 is used, the first channel goes to Drumbeat 1 & 2, and the second one goes to Drumbeat 3 & 4. When SIS230 and SIS490 are used together, the SIS230 goes to Drumbeat 1 & 2, and SIS490 goes to Drumbeat 3 & 4. But if only the SIS490 is used, Drumbeat 1 & 2 get the signal. When using both SIS230 and SIS490, one should specify BE_FE DRUM 1 2, if using SIS230 alone or the two channel SIS345 receiver, specify BE_FE DRUM 1. If using SIS490 alone, specify BE_FE DRUM 2. Which spectrometer is fed with which receiver's IF is determined by the MPIfR IF Switch Box. Currently AOSA & FBS get the same signal and AOSB & AOSC also get the same signal. With a proper setting of the IF Switch Box, one can put SIS230 or SIS490 into all four, or SIS230 into one pair and SIS490 into the other pair. Similarly, when using SIS345, the Switch Box choose which pair get which SIS345 channel, or one can choose to feed a single channel into both pairs. It is the observer's responsibility to type the BE_FE command(s) that assign the backends to the frontends actually selected by the Switch Box. Examples: 1) SIS230 alone: RX SIS230 LINE CO(2-1)/RECEIVER 1 BE_FE DRUM 1 BE_FE AOSA 1 BE_FE AOSB 1 BE_FE AOSC 1 BE_FE FBS 1 BACKEND AOSA AOSB AOSC FBS (A POINTING command will automatically connect DRUM and temporarily disconnect the spectrometers.) 2) SIS345 alone. AOSA & FBS -> channel A, AOSB & AOSC -> channel B. Process the pointing data for the second channel on line. RX SIS345 LINE CO(3-2)/RECEIVER 1 BE_FE DRUM 1 BE_FE AOSA 1A BE_FE AOSB 1B BE_FE AOSC 1B BE_FE FBS 1A BACKEND AOSA AOSB AOSC FBS DISPL_CHAN 3 (Drumbeat always gets both channels A and B.) 3) SIS490 alone: RX * SIS490 LINE CO(4-3)/RECEIVER 2 BE_FE DRUM 2 BE_FE AOSA 2 BE_FE AOSB 2 BE_FE AOSC 2 BE_FE FBS 2 BACKEND AOSA AOSB AOSC FBS (If you didn't mind changing the name of the Frontend #1 receiver, you could have specified a name instead of the *. Whether or not a frontend is actually used depends upon whether it is specified for any of the active backends.) 4) SIS230 and SIS490. AOSA & FBS -> SIS230, AOSB & AOSC -> SIS490. Pointing offsets for SIS490. Process SIS490 pointing data on line: RX SIS230 SIS490/PT_MODEL SIS490 LINE CO(2-1)/RECEIVER 1 LINE CO(4-3)/RECEIVER 2 BE_FE DRUM 1 2 BE_FE AOSA 1 BE_FE AOSB 2 BE_FE AOSC 2 BE_FE FBS 1 BACKEND AOSA AOSB AOSC FBS DISPL_CHAN 3