# Procedure to Load CRISP TPU data structures for CONTOUR SPT
# Paul Carr
# 14 Dec 2001
# This procedure loads Gene Heyler's parameters and the latest
# JPL ephemeris processed by N. Pinkine.
ARGS(BC)
PAUSE
WRITE "routing CRISP real time packets to PQ 2"
CMD CD_RT_TLM_PKT_SEL PQ2 EN ALL SYS 0x600
PAUSE # continue to load DS 3
# ID=3, OffsetMatrix
cmd CRS_TPU_UP_STRCT_3 \
0.0 0.0 (-1.0) \
0.0 1.0 0.0 \
1.0 0.0 0.0
WAIT 10
PAUSE # verify command received, then continue
CMD CRS_TPU_MEM_STR_READ 3
WAIT 5
PAUSE # verify command received, then continue
# ID=4, Tracker control params
cmd CRS_TPU_UP_STRCT_4 \
0.50 \ # MirrAng_Thrsh
2.00 \ # Mirror feed forward
2.00 \ # Filter lag
1.00 \ # roll control gain 1.0
0.50 \ # ab-tracker gain 0.5
512.00 \ # x_goal (pix)
512.00 \ # y_goal (pix)
0.6887 \ # system focal length (m)
3 # G&C msg usage rate (sec)
WAIT 10
PAUSE # verify command received, then continue
CMD CRS_TPU_MEM_STR_READ 4
WAIT 5
PAUSE # verify command received, then continue
# ID=5, Tracker static target
WRITE "ID=5, Tracker static target "
cmd CRS_TPU_UP_STRCT_5 \
0.999950 0.000000 (-0.009989)
WAIT 10
PAUSE # verify command received, then continue
CMD CRS_TPU_MEM_STR_READ 5
WAIT 5
PAUSE # verify command received, then continue
# ID=6, EKF control params
WRITE "ID=6, EKF control params"
cmd CRS_TPU_UP_STRCT_6 \
2.0e-04 \ # measurement sigma
8.66e+03 8.10e+01 8.10e+01 1.00e-10 1.00e-10 1.00e-10 \ # state covariance diag
0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 # system noise diag
WAIT 10
PAUSE # verify command received, then continue
CMD CRS_TPU_MEM_STR_READ 6
WAIT 5
PAUSE # verify command received, then continue
# ID=7, ephemeris load part 1
WRITE "ID=7, ephemeris load part 1"
# ID=7 (in four parts)
CMD CRS_TPU_UP_STRCT_7_1 \
1 \ # Cheby span1: # spans
1 \ # coord
121867264.1840 \ # start time
122040064.1840 # stop time
WRITE "ID=7, ephemeris load part 2"
CMD CRS_TPU_UP_STRCT_7_2 \
86400.0000 86400.0000 \
( 0.194260495836E+06) \
( 0.145113114415E+07) \
( 0.311503417264E+02) \
( 0.382369137689E+02) \
( 0.938067389357E-01) \
( -0.140216131655E-03) \
( -0.562500895405E-05) \
( -0.586463267639E-07) \
( 0.268776942939E-07) \
( 0.156406941250E-07) \
( -0.547609597505E-08) \
( 0.464587936815E-08) \
( -0.192061703095E-07)
WRITE "ID=7, ephemeris load part 3"
CMD CRS_TPU_UP_STRCT_7_3 \
86400.0000 86400.0000 \
( 0.215861088073E+06) \
( 0.161109512989E+07) \
( 0.179710753414E+02) \
( 0.209775715421E+02) \
( 0.299692577842E+00) \
( 0.221014795334E-02) \
( 0.170864113556E-04) \
( 0.155711160267E-06) \
( 0.319054228870E-07) \
( 0.172744118445E-07) \
( -0.606741366970E-08) \
( 0.525762733008E-08) \
( -0.213791733813E-07)
WRITE "ID=7, ephemeris load part 4"
CMD CRS_TPU_UP_STRCT_7_4 \
86400.0000 86400.0000 \
( 0.149550716086E+06) \
( 0.111661841991E+07) \
( 0.164953826064E+02) \
( 0.195293923083E+02) \
( 0.212845139343E+00) \
( 0.147931759813E-02) \
( 0.109807537802E-04) \
( 0.975121548136E-07) \
( 0.219261075361E-07) \
( 0.119608290538E-07) \
( -0.424186215786E-08) \
( 0.360930467307E-08) \
( -0.148181838287E-07)
WAIT 10
PAUSE # verify command received, then continue
CMD CRS_TPU_MEM_STR_READ 7
WAIT 10
PAUSE # verify command received, then continue
WRITE "ID=8, ephemeris load part 1"
# ID=8
CMD CRS_TPU_UP_STRCT_8_1 \
1 \ # Cheby span2: # spans
0 \ # coord
0 \ # start time
0 # stop time
WRITE "ID=8, ephemeris load part 2"
CMD CRS_TPU_UP_STRCT_8_2 \
0 \ # x coeff(1)
0 \ # x coeff(2)
0 \ # x coeff(3)
0 \ # x coeff(4)
0 \ # x coeff(5)
0 \ # x coeff(6)
0 \ # x coeff(7)
0 \ # x coeff(8)
0 \ # x coeff(9)
0 \ # x coeff(10)
0 \ # x coeff(11)
0 \ # x coeff(12)
0 \ # x coeff(13)
0 \ # x coeff(14)
0 # x coeff(15)
WRITE "ID=8, ephemeris load part 3"
CMD CRS_TPU_UP_STRCT_8_3 \
0 \ # y coeff(1)
0 \ # y coeff(2)
0 \ # y coeff(3)
0 \ # y coeff(4)
0 \ # y coeff(5)
0 \ # y coeff(6)
0 \ # y coeff(7)
0 \ # y coeff(8)
0 \ # y coeff(9)
0 \ # y coeff(10)
0 \ # y coeff(11)
0 \ # y coeff(12)
0 \ # y coeff(13)
0 \ # y coeff(14)
0 # y coeff(15)
WRITE "ID=8, ephemeris load part 4"
CMD CRS_TPU_UP_STRCT_8_4 \
0 \ # z coeff(1)
0 \ # z coeff(2)
0 \ # z coeff(3)
0 \ # z coeff(4)
0 \ # z coeff(5)
0 \ # z coeff(6)
0 \ # z coeff(7)
0 \ # z coeff(8)
0 \ # z coeff(9)
0 \ # z coeff(10)
0 \ # z coeff(11)
0 \ # z coeff(12)
0 \ # z coeff(13)
0 \ # z coeff(14)
0 # z coeff(15)
WAIT 10
PAUSE # verify commands received, then continue
CMD CRS_TPU_MEM_STR_READ 8
WAIT 10
PAUSE # verify command received, then continue
WRITE "ID=9, ephemeris load part 1"
# ID=9
CMD CRS_TPU_UP_STRCT_9_1 \
1 \ # Cheby span3: # spans
0 \ # coord
0 \ # start time
0 # stop time
CMD CRS_TPU_UP_STRCT_9_2 \
0 \ # x coeff(1)
0 \ # x coeff(2)
0 \ # x coeff(3)
0 \ # x coeff(4)
0 \ # x coeff(5)
0 \ # x coeff(6)
0 \ # x coeff(7)
0 \ # x coeff(8)
0 \ # x coeff(9)
0 \ # x coeff(10)
0 \ # x coeff(11)
0 \ # x coeff(12)
0 \ # x coeff(13)
0 \ # x coeff(14)
0 # x coeff(15)
CMD CRS_TPU_UP_STRCT_9_3 \
0 \ # y coeff(1)
0 \ # y coeff(2)
0 \ # y coeff(3)
0 \ # y coeff(4)
0 \ # y coeff(5)
0 \ # y coeff(6)
0 \ # y coeff(7)
0 \ # y coeff(8)
0 \ # y coeff(9)
0 \ # y coeff(10)
0 \ # y coeff(11)
0 \ # y coeff(12)
0 \ # y coeff(13)
0 \ # y coeff(14)
0 # y coeff(15)
CMD CRS_TPU_UP_STRCT_9_4 \
0 \ # z coeff(1)
0 \ # z coeff(2)
0 \ # z coeff(3)
0 \ # z coeff(4)
0 \ # z coeff(5)
0 \ # z coeff(6)
0 \ # z coeff(7)
0 \ # z coeff(8)
0 \ # z coeff(9)
0 \ # z coeff(10)
0 \ # z coeff(11)
0 \ # z coeff(12)
0 \ # z coeff(13)
0 \ # z coeff(14)
0 # z coeff(15)
WAIT 10
PAUSE # verify commands received, then continue
CMD CRS_TPU_MEM_STR_READ 9
WAIT 10
PAUSE # verify command received, then continue
# ID=10, mirror coefficients
WRITE "ID=10, mirror coefficients"
CMD CRS_TPU_UP_STRCT_10_1 \
0.0000000 \ # MCoeff_aa x(1) modeled
0.0000000 \ # MCoeff_aa x(2)
0.9999851 \ # MCoeff_aa x(3)
(-0.0000000) \ # MCoeff_aa x(4)
0.0000000 \ # MCoeff_aa x(5)
0.0000000 \ # MCoeff_aa x(6)
(-0.0000000) \ # MCoeff_aa x(7)
0.0000000 \ # MCoeff_aa x(8)
(-0.0000000) \ # MCoeff_aa x(9)
0.0000000 # MCoeff_aa x(10)
CMD CRS_TPU_UP_STRCT_10_2 \
(-1.5707318) \ # MCoeff_aa y(1) modeled
(-1.9999178) \ # MCoeff_aa y(2)
(-0.0000000) \ # MCoeff_aa y(3)
0.9999589 \ # MCoeff_aa y(4)
(-0.0000000) \ # MCoeff_aa y(5)
(-0.0000000) \ # MCoeff_aa y(6)
0.0000000 \ # MCoeff_aa y(7)
(-0.0000000) \ # MCoeff_aa y(8)
0.0000000 \ # MCoeff_aa y(9)
(-0.0000000) # MCoeff_aa y(10)
CMD CRS_TPU_UP_STRCT_10_3 \
0.0000000 \ # MCoeff_ab x(1) modeled
0.0000000 \ # MCoeff_ab x(2)
0.9999851 \ # MCoeff_ab x(3)
(-0.0000000) \ # MCoeff_ab x(4)
0.0000000 \ # MCoeff_ab x(5)
(-0.0000000) \ # MCoeff_ab x(6)
(-0.0000000) \ # MCoeff_ab x(7)
(-0.0000000) \ # MCoeff_ab x(8)
0.0000000 \ # MCoeff_ab x(9)
0.0000000 # MCoeff_ab x(10) */
CMD CRS_TPU_UP_STRCT_10_4 \
(-7.8536590) \ # MCoeff_ab y(1) modeled */
(-1.9999178) \ # MCoeff_ab y(2) */
(-0.0000000) \ # MCoeff_ab y(3) */
0.9999589 \ # MCoeff_ab y(4) */
(-0.0000000) \ # MCoeff_ab y(5) */
(-0.0000000) \ # MCoeff_ab y(6) */
0.0000000 \ # MCoeff_ab y(7) */
(-0.0000000) \ # MCoeff_ab y(8) */
0.0000000 \ # MCoeff_ab y(9) */
(-0.0000000) # MCoeff_ab y(10) */
CMD CRS_TPU_UP_STRCT_10_5 \
0.0000000 \ # MCoeff_fa x(1) modeled */
0.0000000 \ # MCoeff_fa x(2) */
0.9999851 \ # MCoeff_fa x(3) */
(-0.0000000) \ # MCoeff_fa x(4) */
0.0000000 \ # MCoeff_fa x(5) */
0.0000000 \ # MCoeff_fa x(6) */
(-0.0000000) \ # MCoeff_fa x(7) */
0.0000000 \ # MCoeff_fa x(8) */
(-0.0000000) \ # MCoeff_fa x(9) */
0.0000000 # MCoeff_fa x(10) */
CMD CRS_TPU_UP_STRCT_10_6 \
7.0750066 \ # MCoeff_fa y(1) lab fitted */
(-4.0324435) \ # MCoeff_fa y(2) */
0.0 \ # MCoeff_fa y(3) */
2.0045665 \ # MCoeff_fa y(4) */
0.43701519 \ # MCoeff_fa y(5) */
0.0 \ # MCoeff_fa y(6) */
(-0.43202675) \ # MCoeff_fa y(7) */
0.0 \ # MCoeff_fa y(8) */
0.0 \ # MCoeff_fa y(9) */
0.10523149 # MCoeff_fa y(10) */
CMD CRS_TPU_UP_STRCT_10_7 \
0.0000000 \ # MCoeff_fb x(1) modeled*/
0.0000000 \ # MCoeff_fb x(2) */
0.9999851 \ # MCoeff_fb x(3) */
(-0.0000000) \ # MCoeff_fb x(4) */
0.0000000 \ # MCoeff_fb x(5) */
0.0000000 \ # MCoeff_fb x(6) */
(-0.0000000) \ # MCoeff_fb x(7) */
0.0000000 \ # MCoeff_fb x(8) */
(-0.0000000) \ # MCoeff_fb x(9) */
0.0000000 # MCoeff_fb x(10) */
CMD CRS_TPU_UP_STRCT_10_8 \
(-1.2071) \ # MCoeff_fb y(1) lab fitted */
(-1.1024) \ # MCoeff_fb y(2) */
0.0 \ # MCoeff_fb y(3) */
0.5560 \ # MCoeff_fb y(4) */
0.5532 \ # MCoeff_fb y(5) */
0.0 \ # MCoeff_fb y(6) */
(-0.5467) \ # MCoeff_fb y(7) */
0.0 \ # MCoeff_fb y(8) */
0.0 \ # MCoeff_fb y(9) */
0.1342 # MCoeff_fb y(10) */
WAIT 10
PAUSE # verify commands received, then continue
CMD CRS_TPU_MEM_STR_READ 10
WAIT 10
PAUSE # verify command received, then continue
# ID=11, gate control params */
CMD CRS_TPU_UP_STRCT_11 \
0.10 \ # gate size */
0.50 \ # alpha */
3 # count */
WAIT 10
PAUSE # verify commands received, then continue
CMD CRS_TPU_MEM_STR_READ 11
WAIT 10
PAUSE # verify command received, then continue
# ID=12, gyro alignment */
CMD CRS_TPU_UP_STRCT_12 \
(-0.5) \
0.5 \
(-0.5) \
0.5 # assumed IRU-to-body alignment, from Gabe */
WAIT 10
PAUSE # verify commands received, then continue
CMD CRS_TPU_MEM_STR_READ 12
WAIT 10
PAUSE # verify command received, then continue