// File: jkingan[P]ladyheather/heathgps.cpp
// Function: parse_lpfrs_m()
void parse_lpfrs_m()
{
int hh;   // photocell voltage
int gg;   // Rb signal peak voltage
int ff;   // reserved
int ee;   // varactor voltage
int dd;   // EFC input voltage
int cc;   // lamp current
int bb;   // cell current
int aa;   // 90 MHz agc voltage
int i;

   log_packet_id("paramters");

   i = sscanf(nmea_msg, "%x %x %x %x %x %x %x %x", &hh,&gg,&ff,&ee,&dd,&cc,&bb,&aa);
   if(i != 8) {  // expected 8 values.  Loss of message sync?
      restart_prs_polling();
      return;
   }

   lpfrs_hh = ((double) (255-hh)) / 255.0 * 5.0;
   lpfrs_gg = ((double) gg) / 255.0 * 5.0;
   lpfrs_ff = ((double) ff);
   lpfrs_ee = ((double) ee) / 255.0 * 5.0;
   lpfrs_dd = ((double) dd) / 255.0 * 5.0;
   lpfrs_cc = ((double) (255-cc)) / 255.0 * 500.0;  // ma
   lpfrs_bb = ((double) (255-bb)) / 255.0 * 500.0;  // ma
   lpfrs_aa = ((double) gg) / 255.0 * 5.0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x48, %rsp
leaq 0xc7093(%rip), %rdi     # 0x186d23
callq 0x7add0
leaq 0x2dad74(%rip), %rdi    # 0x39aa10
leaq 0xc6e89(%rip), %rsi     # 0x186b2c
leaq -0xc(%rbp), %rdx
leaq -0x10(%rbp), %rcx
leaq -0x14(%rbp), %r8
leaq -0x18(%rbp), %r9
leaq -0x1c(%rbp), %rbx
leaq -0x20(%rbp), %r11
leaq -0x24(%rbp), %r10
leaq -0x28(%rbp), %rax
movq %rbx, (%rsp)
movq %r11, 0x8(%rsp)
movq %r10, 0x10(%rsp)
movq %rax, 0x18(%rsp)
movb $0x0, %al
callq 0x9370
movl %eax, -0x2c(%rbp)
cmpl $0x8, -0x2c(%rbp)
je 0xbfcf0
callq 0xbe120
jmp 0xbfe2d
movl $0xff, %eax
subl -0xc(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd 0xc331c(%rip), %xmm1    # 0x183020
divsd %xmm1, %xmm0
movsd 0xaf450(%rip), %xmm1    # 0x16f160
mulsd %xmm1, %xmm0
leaq 0x2ad18d(%rip), %rax    # 0x36cea8
movsd %xmm0, (%rax)
cvtsi2sdl -0x10(%rbp), %xmm0
movsd 0xc32f4(%rip), %xmm1    # 0x183020
divsd %xmm1, %xmm0
movsd 0xaf428(%rip), %xmm1    # 0x16f160
mulsd %xmm1, %xmm0
leaq 0x2ad16d(%rip), %rax    # 0x36ceb0
movsd %xmm0, (%rax)
cvtsi2sdl -0x14(%rbp), %xmm0
leaq 0x2ad165(%rip), %rax    # 0x36ceb8
movsd %xmm0, (%rax)
cvtsi2sdl -0x18(%rbp), %xmm0
movsd 0xc32bc(%rip), %xmm1    # 0x183020
divsd %xmm1, %xmm0
movsd 0xaf3f0(%rip), %xmm1    # 0x16f160
mulsd %xmm1, %xmm0
leaq 0x2ad145(%rip), %rax    # 0x36cec0
movsd %xmm0, (%rax)
cvtsi2sdl -0x1c(%rbp), %xmm0
movsd 0xc3294(%rip), %xmm1    # 0x183020
divsd %xmm1, %xmm0
movsd 0xaf3c8(%rip), %xmm1    # 0x16f160
mulsd %xmm1, %xmm0
leaq 0x2ad125(%rip), %rax    # 0x36cec8
movsd %xmm0, (%rax)
movl $0xff, %eax
subl -0x20(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd 0xc3265(%rip), %xmm1    # 0x183020
divsd %xmm1, %xmm0
movsd 0xaf429(%rip), %xmm1    # 0x16f1f0
mulsd %xmm1, %xmm0
leaq 0x2ad0fe(%rip), %rax    # 0x36ced0
movsd %xmm0, (%rax)
movl $0xff, %eax
subl -0x24(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd 0xc3236(%rip), %xmm1    # 0x183020
divsd %xmm1, %xmm0
movsd 0xaf3fa(%rip), %xmm1    # 0x16f1f0
mulsd %xmm1, %xmm0
leaq 0x2ad0d7(%rip), %rax    # 0x36ced8
movsd %xmm0, (%rax)
cvtsi2sdl -0x10(%rbp), %xmm0
movsd 0xc320e(%rip), %xmm1    # 0x183020
divsd %xmm1, %xmm0
movsd 0xaf342(%rip), %xmm1    # 0x16f160
mulsd %xmm1, %xmm0
leaq 0x2ad0b7(%rip), %rax    # 0x36cee0
movsd %xmm0, (%rax)
addq $0x48, %rsp
popq %rbx
popq %rbp
retq
nopw %cs:(%rax,%rax)