; FAST FIELDS INSTRUMENT MODE: 49
; GENERAL SCIENCE 2 NON-CAMP: 3WIRE - REV: 6.
; 03/03/97 REE   
MODEID = 49             ;TELL THE GSE THE IDENTIFIER
SLOT = 10               ;AND THE SLOT P={0..7}, F={8..15}
CURRENT = 550           ;POWER REQUIREMENT (IF KNOWN)
MODELOAD                ;FORMAT OF THE COMMAND LOG
CMDLOG FLD04906.LOG
.CMDS 148               ;NUMBER OF COMMANDS IN THE LOAD FILE
;
; Rev. 5 - HIGH-ALTITUDE GENERAL SCI, Ne6,7,  DC in ADC 4k - TYPE B.
;        - Fast survey speed = 192 kbits/s.
;        - ADC V14HG, V58HG, V910, TRKV14, V12HG, Mag3, 4k, 4k. 
;        - HSBM 2 Msmpls/s. No B. V12, V58, Mag3, V910. 
;        - DSP SPEC ADC1-6.
;        - WPC FUll SPEED in LF.
;        - SFA TRK MAG.
; Rev. 6 - Slow down WPC to 1/4 speed.
;
; << START THE MODE DEFINITION >>
;
STARTDEF.CMD
;
; Turn on sequence
;
.TABLE 12 0             ;Set FMODE = MODEID
.LOAD MODEID            ;
;
.CDD8FEFF               ;Turn off ADC, BBF, SFA, HFQ and SVY 1 & 2 data.
.setbit 0xD5 8          ;Turn off WPC telemetry
.TABLE 0 0		;Disable burst for 30 seconds
.LOAD 30
.setbit 0xF9 0          ;Turn on system 7, Fields Survey
.setbit 0xF8 14         ;Turn on system 4, Fluxgate Magnetometer
.setbit 0xF8 6          ;Turn on system 6, BEBs 1 & 2, spheres 1-4
.setbit 0xF8 7          ;Turn on system 23, BEBs 3 & 4, spheres 4-8
.setbit 0xF8 8          ;Turn on system 24, Axial BEBs, spheres 9, 10
.cmdwt 128
.setbit 0xF9 1          ;Turn on system 8, Analog B (burst)
.setbit 0xF8 15         ;Turn on system 3, Search Coil Magnetometer
.setbit 0xF9 2          ;Turn on system 9, SFA digital and HF clock
.cmdwt 128
.setbit 0xF9 3          ;Turn on system 10, SFA/DFS
.setbit 0xF9 4          ;Turn on system 11, WPC, BBF, and HFQ
;
; Now modify the turn on sequence in the HSBM driver
;
.table 15 08            ;Beginning of sequence 
.loadw 0x0005           ;Turn on HSBM power
.loadw 0xC4F9
.loadw 0x0008           ;Wait 64 ms
.loadw 0xE800
.loadw 0xFBC2           ;Reset
.loadw 0xCD98
.loadw 0x0100           ;Wait 2 seconds
.loadw 0xE800
.table 15 32
.loadw 0x8803           ;Sel BBF1, LFF2, 1MHz filter
.loadw 0xCD9A
.loadw 0xB898           ;min trigger
.loadw 0xCD99
.loadw 0xBB03           ;2 MS/s, Mem sz=7, 2 Mbit/s transfer (TEAMS FIX)
.loadw 0xCD98

.setbit 0xF9 7          ;Turn on DSP ROMs, system 14
.setbit 0xF9 6          ;Turn on DSP, system 13
.cmdwt 500
; BEB1
.CD400070               ; IBIAS2        -12.5 nA
.CD410088               ; STUB2  	+150 mV
.CD420070               ; IBIAS1        -12.5 nA
.CD430088               ; STUB1  	+150 mV
.CD440080               ; GUARD 	-5.0 V
.CD450001               ; SPH2  	V_Mode
;
; BEB2
.CD480080               ; IBIAS3        0 nA
.CD490080               ; STUB3   	0 V
.CD4A0080               ; IBIAS4        0 nA
.CD4B0080               ; STUB4  	0 V
.CD4C0000               ; GUARD 	0 V
.CD4D0001               ; SPH3  	V_Mode
;
; BEB3
.CD5000C0               ; VBIAS6        +15 V
.CD510088               ; STUB6  	+150 mV
.CD520070               ; IBIAS5        -12.5 nA
.CD530088               ; STUB5  	+150 mV
.CD540080               ; GUARD 	-5.0 V
.CD55000A               ; SPH6  I_Mode, low gain
;
; BEB4
.CD5800C0               ; VBIAS7        +15 V
.CD590088               ; STUB7  	+150 mV
.CD5A0070               ; IBIAS8        -12.5 V
.CD5B0088               ; STUB8  	+150 mV
.CD5C0080               ; GUARD 	-5.0 V
.CD5D000A               ; SPH7  I_Mode, low gain
;
; AXBEB
.CD600080               ; IBIAS9           0 nA
.CD610080               ; IBIAS10          0 nA
.CD620005               ; V9, V10       V_Mode
;
.TABLE 6 0x77           ; Load in eclipse/sun fields configurations.
.load 0x8C		; Spheres 6,7 in current mode in SUN: ENABLED.
.load 0x84		; Sphere 6 in current mode in ECLIPSE: ENABLED.
.load 0x75		; ECLIPSE: Table=3, SUN: Table=1.
;
; ANALOG A/B
.CD800006               ; SVY 1/64 SPEED  *** INCREASE MAG RATE 10/96 ***
.CD823102               ; ADC1 to ADC 4
.CD830A9D               ; ADC5 to ADC 8
.CD84042C               ; ADC7 MUX: Mag1,Mag2,V12,D8
.CD850055               ; ADC8 MUX: Ne7,V910,V58,V14     *** TYPE B ***
.CD860009               ; TRIGGERS
.CD880C00               ; ANB, SFATRK
;
; SFA
.CDA8052A               ; SWP to 2MHz, cal off, TRACKER ON.
.CDA977FB               ; HFDIST
.CDAA2600               ; SFA TRACK
;
; ANALOG C
.CDA00006               ; ANC 1/4 speed, Low Frequency, BCOR TRIG = 0
.CDA16EA2               ; ESA HEAD POS?
.CDA20000               ; BCOR OFF
.CDA40000               ; FREQ-T
; 
; DSP Bug fix
;
; suspend normal execution but continue to reset watch_dog
.CD9200c0
.CD94a00f
.CD940584
; reprogram a nop over a data request (*r4=r5)
.CD9207d8
.CD940000
.CD940000
; reprogram a pcgoto _go_adc_hsbm_nrdy over a return (r14)
.CD9207e0
.CD94bfef
.CD94ff74
; interchange _get_data line 17 and line 18
; r1 |= hd_block
.CD9206c4
.CD941b41
.CD940004
; r19 |= hsbm_on
.CD9206c8
.CD941b55
.CD940800
; allow values less than 2
.CD920d74
.CD94016f
.CD940044
; return to normal execution
.CD9200c0
.CD941eb5
.CD9402b0
;
; DSP
.CD9080FC               ; ADC1 to ADC6
.CD948007               ; AVERAGE 2^7
;
; FORMATTER
.CDD90067               ; Rate SFA,ADC,BBF
.CDD82800               ; APID ON/OFF: ALL ADC's ON.
.CLRBIT 0xD5 8		; prh 3/3/95 d5->0xd5
; 
;.ADR 0x1BCBB           ;SET UP THE HSBM DRIVER  *** Removed ***
;.LOAD 0X7F             ;DELAY AND ALGORITHM     *** See Below ***
;.table 12 0x47         ; Delay and set up algorithm. 
;.load 0x42             ; HSBM output enable in burst only.
;.SETBIAS               ;Execute commands in bias table. *** Remove for 2.9 ***
.HEMSET			;Execute commands for setting the hemisphere
.SWPSTART 0             ;Bias sweep starting value
.SWPSTEP 2              ;Bias sweep step value
.SWPLENG 127            ;Set number of steps in bias sweep
.SWPMAGPH 16            ;MagPhase at start of sweep (not used).
.SWPBDT 2               ;Bias delay time per point
.SWPMAGST 0             ;Wait for mag phase (not used).
.SWPSECST 0             ;Wait for 1 second
.SWPB2 1                ;Sweep up then down
.SWPPAIR 1              ;Sweep both in sync
.SWPBOOMS 1 2           ;Select spheres to sweep
.SWPASWP 12             ;Sweep @ (2^ASWP)*spins/32 (~10 min)
;
.61000001               ;Turn on HSBM, system 12 - executes after procedure
.60000001               ;Turn on DSP driver
;
; Define the Slow->Fast transition.
;
DEFFASTF.CMD
.LOADW 0x0000		; Turn on all APID's.
.LOADW 0xCDD8
.LOADW 0x0064		; BBF=1/8, SFA_AVE = 1/8.  
.LOADW 0xCDD9
.LOADW 0x0002 		; SURVEY = 1/4.
.LOADW 0xCD80
.LOADW 0x80FC		; DSP remains on ADC1-6.
.LOADW 0xCD90
.LOADW 0x8004 		; DSP average 16 sweeps.
.LOADW 0xCD94
.LOADMW 2 0     ;END OF COMMAND SET

; Define the Fast->Slow transition    
;
DEFSLOWF.CMD
.LOADW 0x2800		; Turn off BBF, HFQ. 
.LOADW 0xCDD8
.LOADW 0x0067 		; BBF=1/8, SFA_AVE = 1/64.
.LOADW 0xCDD9
.LOADW 0x0006		; SURVEY = 1/64.
.LOADW 0xCD80
.LOADW 0x80FC 		; DSP remains on ADC1-6.
.LOADW 0xCD90
.LOADW 0x8007 		; DSP average 128 sweeps.
.LOADW 0xCD94
.LOADMW 2 0     ;END OF COMMAND SET
;
; << END THE MODE DEFINITION >>
;
ENDDEF.CMD

