You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					190 lines
				
				3.4 KiB
			
		
		
			
		
	
	
					190 lines
				
				3.4 KiB
			| 
											5 years ago
										 | # https://www.gps.gov/technical/icwg/IS-GPS-200E.pdf
 | ||
|  | meta:
 | ||
|  |   id: gps
 | ||
|  |   endian: be
 | ||
|  |   bit-endian: be
 | ||
|  | seq:
 | ||
|  |   - id: tlm
 | ||
|  |     type: tlm
 | ||
|  |   - id: how
 | ||
|  |     type: how
 | ||
|  |   - id: body
 | ||
|  |     type:
 | ||
|  |       switch-on: how.subframe_id
 | ||
|  |       cases:
 | ||
|  |         1: subframe_1
 | ||
|  |         2: subframe_2
 | ||
|  |         3: subframe_3
 | ||
|  |         4: subframe_4
 | ||
|  | types:
 | ||
|  |   tlm:
 | ||
|  |    seq:
 | ||
| 
											3 years ago
										 |      - id: preamble
 | ||
| 
											5 years ago
										 |        contents: [0x8b]
 | ||
|  |      - id: tlm
 | ||
|  |        type: b14
 | ||
|  |      - id: integrity_status
 | ||
|  |        type: b1
 | ||
|  |      - id: reserved
 | ||
|  |        type: b1
 | ||
|  |   how:
 | ||
|  |     seq:
 | ||
|  |       - id: tow_count
 | ||
|  |         type: b17
 | ||
|  |       - id: alert
 | ||
|  |         type: b1
 | ||
|  |       - id: anti_spoof
 | ||
|  |         type: b1
 | ||
|  |       - id: subframe_id
 | ||
|  |         type: b3
 | ||
|  |       - id: reserved
 | ||
|  |         type: b2
 | ||
|  |   subframe_1:
 | ||
|  |     seq:
 | ||
|  |       # Word 3
 | ||
|  |       - id: week_no
 | ||
|  |         type: b10
 | ||
|  |       - id: code
 | ||
|  |         type: b2
 | ||
|  |       - id: sv_accuracy
 | ||
|  |         type: b4
 | ||
|  |       - id: sv_health
 | ||
|  |         type: b6
 | ||
|  |       - id: iodc_msb
 | ||
|  |         type: b2
 | ||
|  |       # Word 4
 | ||
|  |       - id: l2_p_data_flag
 | ||
|  |         type: b1
 | ||
|  |       - id: reserved1
 | ||
|  |         type: b23
 | ||
|  |       # Word 5
 | ||
|  |       - id: reserved2
 | ||
|  |         type: b24
 | ||
|  |       # Word 6
 | ||
|  |       - id: reserved3
 | ||
|  |         type: b24
 | ||
|  |       # Word 7
 | ||
|  |       - id: reserved4
 | ||
|  |         type: b16
 | ||
|  |       - id: t_gd
 | ||
|  |         type: s1
 | ||
|  |       # Word 8
 | ||
|  |       - id: iodc_lsb
 | ||
|  |         type: u1
 | ||
|  |       - id: t_oc
 | ||
|  |         type: u2
 | ||
|  |       # Word 9
 | ||
|  |       - id: af_2
 | ||
|  |         type: s1
 | ||
|  |       - id: af_1
 | ||
|  |         type: s2
 | ||
|  |       # Word 10
 | ||
|  |       - id: af_0_sign
 | ||
|  |         type: b1
 | ||
|  |       - id: af_0_value
 | ||
|  |         type: b21
 | ||
|  |       - id: reserved5
 | ||
|  |         type: b2
 | ||
|  |     instances:
 | ||
|  |       af_0:
 | ||
|  |         value: 'af_0_sign ? (af_0_value - (1 << 21)) : af_0_value'
 | ||
|  |   subframe_2:
 | ||
|  |     seq:
 | ||
|  |       # Word 3
 | ||
|  |       - id: iode
 | ||
|  |         type: u1
 | ||
|  |       - id: c_rs
 | ||
|  |         type: s2
 | ||
|  |       # Word 4 & 5
 | ||
|  |       - id: delta_n
 | ||
|  |         type: s2
 | ||
|  |       - id: m_0
 | ||
|  |         type: s4
 | ||
|  |       # Word 6 & 7
 | ||
|  |       - id: c_uc
 | ||
|  |         type: s2
 | ||
|  |       - id: e
 | ||
|  |         type: s4
 | ||
|  |       # Word 8 & 9
 | ||
|  |       - id: c_us
 | ||
|  |         type: s2
 | ||
|  |       - id: sqrt_a
 | ||
|  |         type: u4
 | ||
|  |       # Word 10
 | ||
|  |       - id: t_oe
 | ||
|  |         type: u2
 | ||
|  |       - id: fit_interval_flag
 | ||
|  |         type: b1
 | ||
|  |       - id: aoda
 | ||
|  |         type: b5
 | ||
|  |       - id: reserved
 | ||
|  |         type: b2
 | ||
|  |   subframe_3:
 | ||
|  |     seq:
 | ||
|  |       # Word 3 & 4
 | ||
|  |       - id: c_ic
 | ||
|  |         type: s2
 | ||
|  |       - id: omega_0
 | ||
|  |         type: s4
 | ||
|  |       # Word 5 & 6
 | ||
|  |       - id: c_is
 | ||
|  |         type: s2
 | ||
|  |       - id: i_0
 | ||
|  |         type: s4
 | ||
|  |       # Word 7 & 8
 | ||
|  |       - id: c_rc
 | ||
|  |         type: s2
 | ||
|  |       - id: omega
 | ||
|  |         type: s4
 | ||
|  |       # Word 9
 | ||
|  |       - id: omega_dot_sign
 | ||
|  |         type: b1
 | ||
|  |       - id: omega_dot_value
 | ||
|  |         type: b23
 | ||
|  |       # Word 10
 | ||
|  |       - id: iode
 | ||
|  |         type: u1
 | ||
|  |       - id: idot_sign
 | ||
|  |         type: b1
 | ||
|  |       - id: idot_value
 | ||
|  |         type: b13
 | ||
|  |       - id: reserved
 | ||
|  |         type: b2
 | ||
|  |     instances:
 | ||
|  |       omega_dot:
 | ||
|  |         value: 'omega_dot_sign ? (omega_dot_value - (1 << 23)) : omega_dot_value'
 | ||
|  |       idot:
 | ||
|  |         value: 'idot_sign ? (idot_value - (1 << 13)) : idot_value'
 | ||
|  |   subframe_4:
 | ||
|  |     seq:
 | ||
|  |       # Word 3
 | ||
|  |       - id: data_id
 | ||
|  |         type: b2
 | ||
|  |       - id: page_id
 | ||
|  |         type: b6
 | ||
|  |       - id: body
 | ||
|  |         type:
 | ||
|  |           switch-on: page_id
 | ||
|  |           cases:
 | ||
|  |             56: ionosphere_data
 | ||
|  |     types:
 | ||
|  |       ionosphere_data:
 | ||
|  |         seq:
 | ||
|  |           - id: a0
 | ||
|  |             type: s1
 | ||
|  |           - id: a1
 | ||
|  |             type: s1
 | ||
|  |           - id: a2
 | ||
|  |             type: s1
 | ||
|  |           - id: a3
 | ||
|  |             type: s1
 | ||
|  |           - id: b0
 | ||
|  |             type: s1
 | ||
|  |           - id: b1
 | ||
|  |             type: s1
 | ||
|  |           - id: b2
 | ||
|  |             type: s1
 | ||
|  |           - id: b3
 | ||
|  |             type: s1
 | ||
|  | 
 |