// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathgps.cpp
// Function: parse_crx()
void parse_crx()
{
int i;

   if(get_msg_field()) {  // eat the TPS2
   }

   if(get_msg_field()) {  // PPS status
      i = atoi(msg_field);
      if(i) pps_enabled = 1;
      else  pps_enabled = 0;
      have_pps_enable = 87;
   }

   if(get_msg_field()) {  // PPS mode
      i = atoi(msg_field);
   }

   if(get_msg_field()) {  // PPS period
      i = atoi(msg_field);
      if(i == 1) {
         pps_rate = RATE_PP2S;
         have_pps_rate = 87;
      }
      else if(i == 0) {
         pps_rate = RATE_1PPS;
         have_pps_rate = 87;
      }
   }

   if(get_msg_field()) {  // PPS pulse width (msecs)
      esip_pps_width  = atoi(msg_field);
      have_pps_duty = 87;
   }

   if(get_msg_field()) {  // cable delay
      cable_delay = atof(msg_field);
      cable_delay /= 1.0E9;
      have_cable_delay = 87;
   }

   if(get_msg_field()) {  // PPS polaity
      i = atoi(msg_field);
      pps_polarity = i;
      have_pps_polarity = 87;
   }

   if(get_msg_field()) {  // pps_type
      i = atoi(msg_field);
      esip_pps_type = i;
      have_esip_pps_type = 87;
   }

   if(get_msg_field()) {  // pps accuracy (ns)
      i = atoi(msg_field);
      pps_offset = ((OFS_SIZE) i);
      have_pps_offset = 87;
   }

   if(get_msg_field()) {  // sawtooth
      dac_voltage = (float) atof(msg_field);
      have_sawtooth = 87;
   }

   if(get_msg_field()) {  // accuracy theshold
      i = atoi(msg_field);
      if(0 && (i >= 5) && (i <= 9999)) {
         pps_threshold = (float) atoi(msg_field);
         have_pps_threshold = 87;
      }
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
callq 0x810b1
callq 0x810b1
testl %eax, %eax
je 0x83e36
leaq 0x2b7c28(%rip), %rdi    # 0x33ba40
callq 0x95e0
testl %eax, %eax
leaq 0x289efa(%rip), %rax    # 0x30dd20
setne (%rax)
leaq 0x2894ac(%rip), %rax    # 0x30d2dc
movl $0x57, (%rax)
callq 0x810b1
callq 0x810b1
testl %eax, %eax
je 0x83e75
leaq 0x2b7bf5(%rip), %rdi    # 0x33ba40
callq 0x95e0
cmpl $0x1, %eax
je 0x83e5d
testl %eax, %eax
jne 0x83e75
movb $0x2, %al
jmp 0x83e5f
movb $-0x7e, %al
leaq 0x289ebd(%rip), %rcx    # 0x30dd23
movb %al, (%rcx)
leaq 0x289461(%rip), %rax    # 0x30d2d0
movl $0x57, (%rax)
callq 0x810b1
testl %eax, %eax
je 0x83ea0
leaq 0x2b7bbb(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x289edf(%rip), %rcx    # 0x30dd70
movl %eax, (%rcx)
leaq 0x289eca(%rip), %rax    # 0x30dd64
movl $0x57, (%rax)
callq 0x810b1
testl %eax, %eax
je 0x83ed5
leaq 0x2b7b90(%rip), %rdi    # 0x33ba40
callq 0x9470
divsd 0x8516b(%rip), %xmm0    # 0x109028
leaq 0x289f04(%rip), %rax    # 0x30ddc8
movsd %xmm0, (%rax)
leaq 0x2893e5(%rip), %rax    # 0x30d2b4
movl $0x57, (%rax)
callq 0x810b1
testl %eax, %eax
je 0x83f00
leaq 0x2b7b5b(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x289e27(%rip), %rcx    # 0x30dd18
movl %eax, (%rcx)
leaq 0x2893e6(%rip), %rax    # 0x30d2e0
movl $0x57, (%rax)
callq 0x810b1
testl %eax, %eax
je 0x83f2b
leaq 0x2b7b30(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x289e58(%rip), %rcx    # 0x30dd74
movl %eax, (%rcx)
leaq 0x289e53(%rip), %rax    # 0x30dd78
movl $0x57, (%rax)
callq 0x810b1
testl %eax, %eax
je 0x83f5f
leaq 0x2b7b05(%rip), %rdi    # 0x33ba40
callq 0x95e0
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
leaq 0x28886a(%rip), %rax    # 0x30c7b8
movsd %xmm0, (%rax)
leaq 0x2892df(%rip), %rax    # 0x30d238
movl $0x57, (%rax)
callq 0x810b1
testl %eax, %eax
je 0x83f94
leaq 0x2b7ad1(%rip), %rdi    # 0x33ba40
callq 0x9470
cvtsd2ss %xmm0, %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x288a7d(%rip), %rax    # 0x30ca00
movsd %xmm0, (%rax)
leaq 0x289436(%rip), %rax    # 0x30d3c4
movl $0x57, (%rax)
popq %rbp
jmp 0x810b1