Go to the documentation of this file.
2 from .. PacketUtils
import *
3 from .. timestamp
import *
7 AC_AttFilterOut_tlm_msg packet (section 7.2)
11 (
'timestamp', CCSDS_timestamp),
15 (
'q_EciToBrf_Est',
'>f8', (4,)),
16 (
'b_gyro_Brf_Est',
'>f8', (3,)),
17 (
'w_EciToBrf_Brf_Est',
'>f8', (3,)),
18 (
'Covar',
'>f8', (6,6)),
19 (
'Covar_eigs',
'>f8', (6,)),
20 (
'Covar_cond',
'>f8'),
21 (
'underweight',
'>f8'),
22 (
'gyro_sig_w',
'>f8'),
23 (
'gyro_sig_b',
'>f8'),
25 (
'Covar_St1',
'>f8', (3,3)),
26 (
'Covar_St2',
'>f8', (3,3)),
27 (
'Covar_St3',
'>f8', (3,3)),
29 (
'att_uncert_thresh',
'>f8', (3,)),
30 (
'gyro_bias_uncert_thresh',
'>f8', (3,)),
31 (
'gyro_bias_est_mag_thresh',
'>f8'),
32 (
'st1_innov_thresh',
'>f8'),
33 (
'st2_innov_thresh',
'>f8'),
34 (
'st3_innov_thresh',
'>f8'),
35 (
'att_corr_thresh',
'>f8'),
36 (
'gyro_bias_corr_thresh',
'>f8'),
38 (
'st1_latest_accept_time',
'>f8'),
39 (
'st1_latest_innov',
'>f8', (6,)),
40 (
'st1_latest_mahalanobis',
'>f8'),
41 (
'st1_latest_reject_time',
'>f8'),
43 (
'st2_latest_accept_time',
'>f8'),
44 (
'st2_latest_innov',
'>f8', (6,)),
45 (
'st2_latest_mahalanobis',
'>f8'),
46 (
'st2_latest_reject_time',
'>f8'),
48 (
'st3_latest_accept_time',
'>f8'),
49 (
'st3_latest_innov',
'>f8', (6,)),
50 (
'st3_latest_mahalanobis',
'>f8'),
51 (
'st3_latest_reject_time',
'>f8'),
53 (
'enable_ST3',
'|u1'),
54 (
'gyro_bias_est_enable',
'|u1'),
59 (
'packed_bits',
'|u1', (3,)),
61 (
'st1_latest_reject_code',
'|u1'),
62 (
'st2_latest_reject_code',
'|u1'),
63 (
'st3_latest_reject_code',
'|u1'),
64 (
'st1_mekf_disagree',
'|u1'),
65 (
'st2_mekf_disagree',
'|u1'),
66 (
'att_corr_excessive',
'|u1'),
67 (
'gyro_bias_corr_excessive',
'|u1'),
68 (
'gyro_bias_mag_excessive',
'|u1'),
69 (
'gyro_meas_missing',
'|u1'),
70 (
'filter_is_init',
'|u1'),
72 (
'gyro_buff_is_init',
'|u1'),
73 (
'gyro_buff_idx_new',
'|u1'),
74 (
'gyro_buff_idx_old',
'|u1'),
75 (
'Padding2',
'|u1', (3,)),
82 expected = Fields.itemsize
83 if len(data) != expected:
84 print(
'APID {}: expected={}, actual={}'.format(apid,expected,len(data)))
86 tmp = np.frombuffer(data, dtype=Fields, count=1)
92 myDict[
'excessive_gyro_meas_missing'],
93 myDict[
'invalid_covar_eigenvalues'],
94 myDict[
'excessive_covar_condition'],
96 myDict[
'filter_initialized'],
97 myDict[
'gyro_buffer_initialized'],
98 myDict[
'excessive_att_uncert'],
99 myDict[
'excessive_bias_uncert'],
100 ) = np.unpackbits(myDict[
'packed_bits'][0])
103 myDict[
'att_X_uncert'],
104 myDict[
'att_Y_uncert'],
105 myDict[
'att_Z_uncert'],
106 ) = np.unpackbits(myDict[
'packed_bits'][1])[:3]
109 myDict[
'bias_X_uncert'],
110 myDict[
'bias_Y_uncert'],
111 myDict[
'bias_Z_uncert'],
112 ) = np.unpackbits(myDict[
'packed_bits'][2])[:3]
114 del myDict[
'packed_bits']
def getDict(structured_array)
def parse_CCSDS_timestamp(timestr)