// File: /workspace/github_cpp_makefile_star2_O2/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 0x75767
callq 0x75767
testl %eax, %eax
je 0x7824b
leaq 0x2ad813(%rip), %rdi    # 0x325a40
callq 0x95e0
testl %eax, %eax
leaq 0x27fae5(%rip), %rax    # 0x2f7d20
setne (%rax)
leaq 0x27f097(%rip), %rax    # 0x2f72dc
movl $0x57, (%rax)
callq 0x75767
callq 0x75767
testl %eax, %eax
je 0x7828a
leaq 0x2ad7e0(%rip), %rdi    # 0x325a40
callq 0x95e0
cmpl $0x1, %eax
je 0x78272
testl %eax, %eax
jne 0x7828a
movb $0x2, %al
jmp 0x78274
movb $-0x7e, %al
leaq 0x27faa8(%rip), %rcx    # 0x2f7d23
movb %al, (%rcx)
leaq 0x27f04c(%rip), %rax    # 0x2f72d0
movl $0x57, (%rax)
callq 0x75767
testl %eax, %eax
je 0x782b5
leaq 0x2ad7a6(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x27faca(%rip), %rcx    # 0x2f7d70
movl %eax, (%rcx)
leaq 0x27fab5(%rip), %rax    # 0x2f7d64
movl $0x57, (%rax)
callq 0x75767
testl %eax, %eax
je 0x782ea
leaq 0x2ad77b(%rip), %rdi    # 0x325a40
callq 0x9470
divsd 0x7ad56(%rip), %xmm0    # 0xf3028
leaq 0x27faef(%rip), %rax    # 0x2f7dc8
movsd %xmm0, (%rax)
leaq 0x27efd0(%rip), %rax    # 0x2f72b4
movl $0x57, (%rax)
callq 0x75767
testl %eax, %eax
je 0x78315
leaq 0x2ad746(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x27fa12(%rip), %rcx    # 0x2f7d18
movl %eax, (%rcx)
leaq 0x27efd1(%rip), %rax    # 0x2f72e0
movl $0x57, (%rax)
callq 0x75767
testl %eax, %eax
je 0x78340
leaq 0x2ad71b(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x27fa43(%rip), %rcx    # 0x2f7d74
movl %eax, (%rcx)
leaq 0x27fa3e(%rip), %rax    # 0x2f7d78
movl $0x57, (%rax)
callq 0x75767
testl %eax, %eax
je 0x78371
leaq 0x2ad6f0(%rip), %rdi    # 0x325a40
callq 0x95e0
cvtsi2sd %eax, %xmm0
leaq 0x27e458(%rip), %rax    # 0x2f67b8
movsd %xmm0, (%rax)
leaq 0x27eecd(%rip), %rax    # 0x2f7238
movl $0x57, (%rax)
callq 0x75767
testl %eax, %eax
je 0x783a6
leaq 0x2ad6bf(%rip), %rdi    # 0x325a40
callq 0x9470
cvtsd2ss %xmm0, %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x27e66b(%rip), %rax    # 0x2f6a00
movsd %xmm0, (%rax)
leaq 0x27f024(%rip), %rax    # 0x2f73c4
movl $0x57, (%rax)
popq %rbp
jmp 0x75767