; FAST FIELDS INSTRUMENT MODE: 64
; LOW-ALTITUDE LF1; Ne2; MEDIUM SPEED: 3WIRE - REV 6.
; 03/06/97 REE
MODEID = 64             ;TELL THE GSE THE IDENTIFIER
SLOT = 12                ;AND THE SLOT P={0..7}, F={8..15}
CURRENT = 550           ;POWER REQUIREMENT (IF KNOWN)
MODELOAD                ;FORMAT OF THE COMMAND LOG
CMDLOG FLD06407.LOG
.CMDS 148               ;#COMMANDS IN THE LOAD FILE
;
; Rev. 5 - LOW-ALTITUDE LF1, Ne2, Low Gain AC. DC in ADC 16k.
;        - Fast survey speed = 192 kbits/s.
;        - ADC V1, V58, V910, V8, (NA), Mag3, V56, V78. 
;        - HSBM 256 ksmpls/s. No B. V14, V78, V56, V910. 
;        - DSP X-SPEC on ADC7,8 (V56, V78).
;        - WPC FUll SPEED in LF.
;        - SFA SWEEP TO 4 MHZ on AXIAL.
;        - Select bias table 0,2 for sun/eclipse (LOW ALTITUDE).
;
; Rev 6  - HSBM Triggers Lowered
;        - DSP Cross Spectral Fix
;
; Rev 7  - Loading into slot 12 (F4)
;
; << 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 0x88A2           ;Sel BBF3 (Disabled), LFF2, 256 kHz filter
.loadw 0xCD9A
.loadw 0x9090           ;min trigger- Disable HF
.loadw 0xCD99
.loadw 0xBB00           ;265 ksmpls/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
.CD400078               ; IBIAS2        -6.25 nA
.CD410090               ; STUB2         +300 mV
.CD420078               ; IBIAS1        -6.25 nA
.CD430090               ; STUB1         +300 mV
.CD440000               ; GUARD          0.0 V
.CD450001               ; SPH2          V_Mode
;
; BEB2
.CD480080               ; IBIAS3        0 nA
.CD490080               ; STUB3         0 V
.CD4A0081               ; IBIAS4        1 nA
.CD4B0080               ; STUB4         0 V
.CD4C0000               ; GUARD         0 V
.CD4D0001               ; SPH3          V_Mode
;
; BEB3
.CD5000C0               ; VBIAS6        +15 V
.CD510090               ; STUB6         +300 mV
.CD520078               ; IBIAS5        -6.25 nA
.CD530090               ; STUB5         +300 mV
.CD540000               ; GUARD          0.0 V
.CD55000A               ; SPH6  I_Mode, low gain
;
; BEB4
.CD5800C0               ; VBIAS7        +15 V
.CD590090               ; STUB7         +300 mV
.CD5A0078               ; IBIAS8        -6.25 V
.CD5B0090               ; STUB8         +300 mV
.CD5C0000               ; GUARD          0.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 0x81              ; Sphere 2 in current mode in SUN: ENABLED.
.load 0x81              ; Sphere 2 in current mode in ECLIPSE: ENABLED.
.load 0x64              ; ECLIPSE: Table=2, SUN: Table=0.
;
; ANALOG A/B
.CD80001E               ; SVY 1/64 SPEED, V5-V6, V7-V8 Selected
.CD823A10               ; ADC1 to ADC 4: V1, V58, V910, V8; Ne2 in SVY
.CD830358               ; ADC5 to ADC 8: V12(Not Used), Mag3, V56, V78
.CD84FFFF               ; ADC7 MUX: 16k
.CD85FFFF               ; ADC8 MUX: 16k 
.CD860001               ; TRIGGERS
.CD881C00               ; ANB, NO PWT
; SFA
.CDA80D20               ; SWP to 2MHz, cal off, TRACKER OFF, Axial SWP to 4 MHz.
.CDA937E7               ; HFDIST, HSBM V14, V78, V56, V910
.CDAA2600               ; SFA TRACK
;
; ANALOG C
.CDA00004               ; ANC full speed, LF, 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
.CD908388               ; ADC2678
.CD948087               ; AVERAGE 2^7, X-SPCTRL 7,8
;
; FORMATTER
.CDD90067               ; Rate SFA,ADC,BBF
.CDD82810               ; APID ON/OFF: ALL ADC's ON EXCEPT ADC5.
.CLRBIT 0xD5 8          ; prh 3/3/95 d5->0xd5
; 
;.ADR 0x1BCBB           ;SET UP THE HSBM DRIVER
;.LOAD 0X7F             ;DELAY AND ALGORITHM
;.table 12 0x47         ; Delay and set up algorithm. 
;.load 0x42             ; HSBM output enable in burst only.
;  .BIASTBL1            ;Set bias table to 1. *** REMOVE FOR REV. 2.9 ***
;  .SETBIAS             ;Execute bias cmds.   *** REMOVE FOR REV. 2.9 ***
.HEMSET                 ;Execute hemisphere cmds.
.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 0x0010           ; Turn on all APID's, except ADC5.
.LOADW 0xCDD8
.LOADW 0x0064           ; BBF=1/8, SFA_AVE = 1/8.  
.LOADW 0xCDD9
.LOADW 0x001A           ; SURVEY = 1/4 max.
.LOADW 0xCD80
.LOADW 0x8388           ; DSP remains on ADC2678.
.LOADW 0xCD90
.LOADW 0x8084           ; DSP average 16 sweeps, X-SPEC 7,8.
.LOADW 0xCD94
.LOADMW 2 0     ;END OF COMMAND SET

; Define the Fast->Slow transition    
;
DEFSLOWF.CMD
.LOADW 0x2810           ; Turn off BBF, HFQ. 
.LOADW 0xCDD8
.LOADW 0x0067           ; BBF=1/8, SFA_AVE = 1/64.
.LOADW 0xCDD9
.LOADW 0x001E           ; SURVEY = 1/64.
.LOADW 0xCD80
.LOADW 0x8388           ; DSP remains on ADC2678.
.LOADW 0xCD90
.LOADW 0x8087           ; DSP average 128 sweeps, X-SPEC 7,8.
.LOADW 0xCD94
.LOADMW 2 0     ;END OF COMMAND SET
;
; << END THE MODE DEFINITION >>
;
ENDDEF.CMD

