// File: /workspace/github_cpp_makefile_star2_O1/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 0x29e284(%rip), %rax    # 0x30d0f0
movsd (%rax), %xmm0
leaq 0x29e301(%rip), %r13    # 0x30d178
movsd %xmm0, (%r13)
leaq 0x29e27c(%rip), %rax    # 0x30d100
movsd (%rax), %xmm0
leaq 0x29e2f1(%rip), %r15    # 0x30d180
movsd %xmm0, (%r15)
leaq 0x29e2a5(%rip), %rax    # 0x30d140
movsd (%rax), %xmm0
leaq 0x29e30a(%rip), %rcx    # 0x30d1b0
movsd %xmm0, (%rcx)
leaq 0x1abf57(%rip), %rax    # 0x21ae08
movl (%rax), %edx
leaq 0x29e30e(%rip), %rax    # 0x30d1c8
movl %edx, (%rax)
leaq 0x29e245(%rip), %rdx    # 0x30d108
movsd (%rdx), %xmm0
leaq 0x29e2ba(%rip), %r12    # 0x30d188
movsd %xmm0, (%r12)
leaq 0x29e291(%rip), %rdx    # 0x30d16c
movl (%rdx), %edx
leaq 0x29e2e8(%rip), %r14    # 0x30d1cc
movl %edx, (%r14)
leaq 0x29e262(%rip), %rdx    # 0x30d150
movsd (%rdx), %xmm0
leaq 0x29e2c7(%rip), %rbx    # 0x30d1c0
movsd %xmm0, (%rbx)
leaq 0x29e21c(%rip), %rdx    # 0x30d120
movsd (%rdx), %xmm0
leaq 0x29e281(%rip), %r11    # 0x30d190
movsd %xmm0, (%r11)
leaq 0x29e20d(%rip), %rdx    # 0x30d128
movsd (%rdx), %xmm0
leaq 0x29e272(%rip), %r10    # 0x30d198
movsd %xmm0, (%r10)
leaq 0x29e1fe(%rip), %rdx    # 0x30d130
movsd (%rdx), %xmm0
leaq 0x29e263(%rip), %rsi    # 0x30d1a0
movsd %xmm0, (%rsi)
leaq 0x29e1f0(%rip), %rdx    # 0x30d138
movsd (%rdx), %xmm0
leaq 0x29e255(%rip), %rdx    # 0x30d1a8
movsd %xmm0, (%rdx)
leaq 0x29e1ea(%rip), %rdi    # 0x30d148
movsd (%rdi), %xmm0
leaq 0x29e24f(%rip), %r9     # 0x30d1b8
movsd %xmm0, (%r9)
leaq 0x29ee83(%rip), %rdi    # 0x30ddf8
movl (%rdi), %r8d
testb $0x1, %r8b
je 0x6ef8f
leaq 0x29ee7b(%rip), %rax    # 0x30de00
movsd (%rax), %xmm0
movsd %xmm0, (%r13)
testb $0x2, %r8b
je 0x6efa5
leaq 0x29ee6c(%rip), %rax    # 0x30de08
movsd (%rax), %xmm0
movsd %xmm0, (%r15)
testb $0x4, %r8b
je 0x6efbc
leaq 0x29ee5e(%rip), %rax    # 0x30de10
movsd (%rax), %xmm0
movsd %xmm0, (%r12)
btl $0x8, %r8d
jae 0x6efcf
leaq 0x29ee4e(%rip), %rax    # 0x30de18
movl (%rax), %eax
movl %eax, (%r14)
testb $0x8, %r8b
je 0x6efe4
leaq 0x29ee44(%rip), %rax    # 0x30de20
movsd (%rax), %xmm0
movsd %xmm0, (%rbx)
testb $0x10, %r8b
je 0x6effa
leaq 0x29ee37(%rip), %rax    # 0x30de28
movsd (%rax), %xmm0
movsd %xmm0, (%r11)
testb $0x20, %r8b
je 0x6f010
leaq 0x29ee29(%rip), %rax    # 0x30de30
movsd (%rax), %xmm0
movsd %xmm0, (%r10)
btl $0x9, %r8d
jae 0x6f026
leaq 0x29ee2a(%rip), %rax    # 0x30de48
movsd (%rax), %xmm0
movsd %xmm0, (%rcx)
btl $0xa, %r8d
jae 0x6f03d
leaq 0x29ee1c(%rip), %rax    # 0x30de50
movsd (%rax), %xmm0
movsd %xmm0, (%r9)
btl $0xd, %r8d
jae 0x6f056
leaq 0x29ee0d(%rip), %rax    # 0x30de58
movl (%rax), %eax
leaq 0x29e174(%rip), %rcx    # 0x30d1c8
movl %eax, (%rcx)
btl $0xb, %r8d
jae 0x6f06c
leaq 0x29edd4(%rip), %rax    # 0x30de38
movsd (%rax), %xmm0
movsd %xmm0, (%rsi)
btl $0xc, %r8d
jae 0x6f082
leaq 0x29edc6(%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 0x7096f