// File: /workspace/github_cpp_makefile_star2_O1/sundale[P]gcode/saicanon.cc
// Function: SET_MOTION_CONTROL_MODE(int, double)
extern void SET_MOTION_CONTROL_MODE(CANON_MOTION_MODE mode, double tolerance)
{
  motion_tolerance = 0;
  if (mode == CANON_EXACT_STOP)
    {
      PRINT0("SET_MOTION_CONTROL_MODE(CANON_EXACT_STOP)\n");
      _motion_mode = CANON_EXACT_STOP;
    }
  else if (mode == CANON_EXACT_PATH)
    {
      PRINT0("SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)\n");
      _motion_mode = CANON_EXACT_PATH;
    }
  else if (mode == CANON_CONTINUOUS)
    {
      motion_tolerance = tolerance;
      PRINT1("SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, %f)\n", tolerance);
      _motion_mode = CANON_CONTINUOUS;
    }
  else
    PRINT0("SET_MOTION_CONTROL_MODE(UNKNOWN)\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq $0x0, 0x9e1d(%rip) # 0xfc68
cmpl $0x3, %edi
je 0x5f7c
cmpl $0x2, %edi
je 0x5ef1
cmpl $0x1, %edi
jne 0x6012
cmpq $0x0, 0x8482(%rip)      # 0xe2f0
jne 0x5e81
movq 0x7141(%rip), %rax      # 0xcfb8
movq (%rax), %rax
movq %rax, 0x846f(%rip)      # 0xe2f0
movq 0x8468(%rip), %rdi      # 0xe2f0
movl 0x731e(%rip), %edx      # 0xd1ac
leal 0x1(%rdx), %eax
movl %eax, 0x7315(%rip)      # 0xd1ac
leaq 0x3382(%rip), %rsi      # 0x9220
xorl %eax, %eax
callq 0x4240
callq 0x5504
cmpq $0x0, 0x843e(%rip)      # 0xe2f0
jne 0x5ec5
movq 0x70fd(%rip), %rax      # 0xcfb8
movq (%rax), %rax
movq %rax, 0x842b(%rip)      # 0xe2f0
movq 0x8424(%rip), %rcx      # 0xe2f0
leaq 0x34ae(%rip), %rdi      # 0x9381
movl $0x2a, %esi
movl $0x1, %edx
callq 0x42f0
movl $0x1, 0x72c4(%rip)      # 0xd1b0
jmp 0x600c
cmpq $0x0, 0x83f7(%rip)      # 0xe2f0
jne 0x5f0c
movq 0x70b6(%rip), %rax      # 0xcfb8
movq (%rax), %rax
movq %rax, 0x83e4(%rip)      # 0xe2f0
movq 0x83dd(%rip), %rdi      # 0xe2f0
movl 0x7293(%rip), %edx      # 0xd1ac
leal 0x1(%rdx), %eax
movl %eax, 0x728a(%rip)      # 0xd1ac
leaq 0x32f7(%rip), %rsi      # 0x9220
xorl %eax, %eax
callq 0x4240
callq 0x5504
cmpq $0x0, 0x83b3(%rip)      # 0xe2f0
jne 0x5f50
movq 0x7072(%rip), %rax      # 0xcfb8
movq (%rax), %rax
movq %rax, 0x83a0(%rip)      # 0xe2f0
movq 0x8399(%rip), %rcx      # 0xe2f0
leaq 0x344e(%rip), %rdi      # 0x93ac
movl $0x2a, %esi
movl $0x1, %edx
callq 0x42f0
movl $0x2, 0x7239(%rip)      # 0xd1b0
jmp 0x600c
movsd %xmm0, -0x8(%rbp)
movsd %xmm0, 0x9cdf(%rip)     # 0xfc68
cmpq $0x0, 0x835f(%rip)      # 0xe2f0
jne 0x5fa4
movq 0x701e(%rip), %rax      # 0xcfb8
movq (%rax), %rax
movq %rax, 0x834c(%rip)      # 0xe2f0
movq 0x8345(%rip), %rdi      # 0xe2f0
movl 0x71fb(%rip), %edx      # 0xd1ac
leal 0x1(%rdx), %eax
movl %eax, 0x71f2(%rip)      # 0xd1ac
leaq 0x325f(%rip), %rsi      # 0x9220
xorl %eax, %eax
callq 0x4240
callq 0x5504
cmpq $0x0, 0x831b(%rip)      # 0xe2f0
jne 0x5fe8
movq 0x6fda(%rip), %rax      # 0xcfb8
movq (%rax), %rax
movq %rax, 0x8308(%rip)      # 0xe2f0
movq 0x8301(%rip), %rdi      # 0xe2f0
leaq 0x33e1(%rip), %rsi      # 0x93d7
movsd -0x8(%rbp), %xmm0
movb $0x1, %al
callq 0x4240
movl $0x3, 0x71a4(%rip)      # 0xd1b0
addq $0x10, %rsp
popq %rbp
retq
cmpq $0x0, 0x82d6(%rip)      # 0xe2f0
jne 0x602d
movq 0x6f95(%rip), %rax      # 0xcfb8
movq (%rax), %rax
movq %rax, 0x82c3(%rip)      # 0xe2f0
movq 0x82bc(%rip), %rdi      # 0xe2f0
movl 0x7172(%rip), %edx      # 0xd1ac
leal 0x1(%rdx), %eax
movl %eax, 0x7169(%rip)      # 0xd1ac
leaq 0x31d6(%rip), %rsi      # 0x9220
xorl %eax, %eax
callq 0x4240
callq 0x5504
cmpq $0x0, 0x8292(%rip)      # 0xe2f0
jne 0x6071
movq 0x6f51(%rip), %rax      # 0xcfb8
movq (%rax), %rax
movq %rax, 0x827f(%rip)      # 0xe2f0
movq 0x8278(%rip), %rcx      # 0xe2f0
leaq 0x3387(%rip), %rdi      # 0x9406
movl $0x21, %esi
movl $0x1, %edx
addq $0x10, %rsp
popq %rbp
jmp 0x42f0