// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathgps.cpp
// Function: update_osc_params()
void update_osc_params()
{
   user_time_constant = time_constant;           // get current values
   user_damping_factor = damping_factor;
   user_jam_sync = jam_sync;
   user_holdover_time = x72_holdover_val;

   user_osc_gain = osc_gain;
   user_pullin = pullin_range;

   user_initial_voltage = initial_voltage;
   user_min_volts = min_volts;
   user_max_volts = max_volts;
   user_min_range = min_dac_v;
   user_max_range = max_dac_v;

   user_max_freq_offset = max_freq_offset;

   // update current values with user set values from command line
   if(user_set_osc_param & PARAM_TC)       user_time_constant = cmd_tc;
   if(user_set_osc_param & PARAM_DAMP)     user_damping_factor = cmd_damp;
   if(user_set_osc_param & PARAM_GAIN)     user_osc_gain = cmd_gain;
   if(user_set_osc_param & PARAM_PULLIN)   user_pullin = cmd_pullin;

   if(user_set_osc_param & PARAM_INITV)    user_initial_voltage = cmd_initdac;
   if(user_set_osc_param & PARAM_MINV)     user_min_volts = cmd_minv;
   if(user_set_osc_param & PARAM_MAXV)     user_max_volts = cmd_maxv;

   if(user_set_osc_param & PARAM_JAMSYNC)  user_jam_sync = cmd_jamsync;
   if(user_set_osc_param & PARAM_MAXFREQ)  user_max_freq_offset = cmd_maxfreq;
   if(user_set_osc_param & PARAM_HOLDOVER) user_holdover_time = cmd_holdover;

   if(user_set_osc_param & PARAM_MINRANGE) user_min_range = cmd_minrange;
   if(user_set_osc_param & PARAM_MAXRANGE) user_max_range = cmd_maxrange;
   user_set_osc_param = 0;

   set_discipline_params(0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
leaq 0x29e309(%rip), %rax    # 0x30d0f0
movsd (%rax), %xmm0
leaq 0x29e386(%rip), %r13    # 0x30d178
movsd %xmm0, (%r13)
leaq 0x29e301(%rip), %rax    # 0x30d100
movsd (%rax), %xmm0
leaq 0x29e376(%rip), %r15    # 0x30d180
movsd %xmm0, (%r15)
leaq 0x29e32a(%rip), %rax    # 0x30d140
movsd (%rax), %xmm0
leaq 0x29e38f(%rip), %rcx    # 0x30d1b0
movsd %xmm0, (%rcx)
leaq 0x1abfdc(%rip), %rax    # 0x21ae08
movl (%rax), %edx
leaq 0x29e393(%rip), %rax    # 0x30d1c8
movl %edx, (%rax)
leaq 0x29e2ca(%rip), %rdx    # 0x30d108
movsd (%rdx), %xmm0
leaq 0x29e33f(%rip), %r12    # 0x30d188
movsd %xmm0, (%r12)
leaq 0x29e316(%rip), %rdx    # 0x30d16c
movl (%rdx), %edx
leaq 0x29e36d(%rip), %r14    # 0x30d1cc
movl %edx, (%r14)
leaq 0x29e2e7(%rip), %rdx    # 0x30d150
movsd (%rdx), %xmm0
leaq 0x29e34c(%rip), %rbx    # 0x30d1c0
movsd %xmm0, (%rbx)
leaq 0x29e2a1(%rip), %rdx    # 0x30d120
movsd (%rdx), %xmm0
leaq 0x29e306(%rip), %r11    # 0x30d190
movsd %xmm0, (%r11)
leaq 0x29e292(%rip), %rdx    # 0x30d128
movsd (%rdx), %xmm0
leaq 0x29e2f7(%rip), %r10    # 0x30d198
movsd %xmm0, (%r10)
leaq 0x29e283(%rip), %rdx    # 0x30d130
movsd (%rdx), %xmm0
leaq 0x29e2e8(%rip), %rsi    # 0x30d1a0
movsd %xmm0, (%rsi)
leaq 0x29e275(%rip), %rdx    # 0x30d138
movsd (%rdx), %xmm0
leaq 0x29e2da(%rip), %rdx    # 0x30d1a8
movsd %xmm0, (%rdx)
leaq 0x29e26f(%rip), %rdi    # 0x30d148
movsd (%rdi), %xmm0
leaq 0x29e2d4(%rip), %r9     # 0x30d1b8
movsd %xmm0, (%r9)
leaq 0x29ef08(%rip), %rdi    # 0x30ddf8
movl (%rdi), %r8d
testb $0x1, %r8b
je 0x6ef0a
leaq 0x29ef00(%rip), %rax    # 0x30de00
movsd (%rax), %xmm0
movsd %xmm0, (%r13)
testb $0x2, %r8b
je 0x6ef20
leaq 0x29eef1(%rip), %rax    # 0x30de08
movsd (%rax), %xmm0
movsd %xmm0, (%r15)
testb $0x4, %r8b
je 0x6ef37
leaq 0x29eee3(%rip), %rax    # 0x30de10
movsd (%rax), %xmm0
movsd %xmm0, (%r12)
btl $0x8, %r8d
jae 0x6ef4a
leaq 0x29eed3(%rip), %rax    # 0x30de18
movl (%rax), %eax
movl %eax, (%r14)
testb $0x8, %r8b
je 0x6ef5f
leaq 0x29eec9(%rip), %rax    # 0x30de20
movsd (%rax), %xmm0
movsd %xmm0, (%rbx)
testb $0x10, %r8b
je 0x6ef75
leaq 0x29eebc(%rip), %rax    # 0x30de28
movsd (%rax), %xmm0
movsd %xmm0, (%r11)
testb $0x20, %r8b
je 0x6ef8b
leaq 0x29eeae(%rip), %rax    # 0x30de30
movsd (%rax), %xmm0
movsd %xmm0, (%r10)
btl $0x9, %r8d
jae 0x6efa1
leaq 0x29eeaf(%rip), %rax    # 0x30de48
movsd (%rax), %xmm0
movsd %xmm0, (%rcx)
btl $0xa, %r8d
jae 0x6efb8
leaq 0x29eea1(%rip), %rax    # 0x30de50
movsd (%rax), %xmm0
movsd %xmm0, (%r9)
btl $0xd, %r8d
jae 0x6efd1
leaq 0x29ee92(%rip), %rax    # 0x30de58
movl (%rax), %eax
leaq 0x29e1f9(%rip), %rcx    # 0x30d1c8
movl %eax, (%rcx)
btl $0xb, %r8d
jae 0x6efe7
leaq 0x29ee59(%rip), %rax    # 0x30de38
movsd (%rax), %xmm0
movsd %xmm0, (%rsi)
btl $0xc, %r8d
jae 0x6effd
leaq 0x29ee4b(%rip), %rax    # 0x30de40
movsd (%rax), %xmm0
movsd %xmm0, (%rdx)
movl $0x0, (%rdi)
xorl %edi, %edi
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x70a37