// File: /workspace/github_cpp_makefile_star2_O2/SYZYGYfpga[P]brain-tools/src/smartvio-brain.cpp
// Function: printHelp(char*)
void printHelp (char *progname)
{
	printf("Usage: %s [option [argument]] <i2c device>\n", progname);
	printf("  <i2c device> is required for all commands. It must contain the\n");
	printf("               path to the Linux i2c device\n");
	printf("\n");
	printf("  Exactly one of the following options must be specified:\n");
	printf("    -r - run smartVIO, queries attached MCU's and sets voltages accordingly\n");
	printf("    -s - set VIO voltages to the values provided by -1 and -2 options\n");
	printf("    -j - print out a JSON object with DNA and SmartVIO information\n");
	printf("    -h - print this text\n");
	printf("    -w <filename> - write a binary DNA to a peripheral, takes the DNA filename\n");
	printf("                    as an argument\n");
	printf("    -d <filename> - dump the DNA from a peripheral to a binary file, takes the\n");
	printf("                    DNA filename as an argument\n");
	printf("\n");
	printf("  The following options may be used in conjunction with the above options:\n");
	printf("    -1 <vio1> - Sets the voltage for VIO1\n");
	printf("    -2 <vio2> - Sets the voltage for VIO2\n");
	printf("          <vio1> and <vio2> must be specified as numbers in 10's of mV\n");
	printf("    -p <number> - Specifies the peripheral number for the -w or -d options\n");
	printf("\n");
	printf("  Examples:\n");
	printf("    Run SmartVIO sequence:\n");
	printf("      %s -r /dev/i2c-1\n", progname);
	printf("    Dump DNA from the MCU on Port 1:\n");
	printf("      %s -d dna_file.bin -p 1 /dev/i2c-1\n", progname);
	printf("    Set VIO1 to 3.3V:\n");
	printf("      %s -s -1 330 /dev/i2c-1\n", progname);
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x417f(%rip), %rdi      # 0x81a3
movq %rbx, %rsi
xorl %eax, %eax
callq 0x3040
leaq 0x4c79(%rip), %rdi      # 0x8cae
callq 0x3310
leaq 0x4cae(%rip), %rdi      # 0x8cef
callq 0x3310
pushq $0xa
popq %rbp
movl %ebp, %edi
callq 0x32b0
leaq 0x4cc4(%rip), %rdi      # 0x8d1b
callq 0x3310
leaq 0x4cf2(%rip), %rdi      # 0x8d55
callq 0x3310
leaq 0x4d32(%rip), %rdi      # 0x8da1
callq 0x3310
leaq 0x4d6c(%rip), %rdi      # 0x8de7
callq 0x3310
leaq 0x4da3(%rip), %rdi      # 0x8e2a
callq 0x3310
leaq 0x4db0(%rip), %rdi      # 0x8e43
callq 0x3310
leaq 0x4df3(%rip), %rdi      # 0x8e92
callq 0x3310
leaq 0x4e0a(%rip), %rdi      # 0x8eb5
callq 0x3310
leaq 0x4e4d(%rip), %rdi      # 0x8f04
callq 0x3310
movl %ebp, %edi
callq 0x32b0
leaq 0x4e6a(%rip), %rdi      # 0x8f34
callq 0x3310
leaq 0x4ea9(%rip), %rdi      # 0x8f7f
callq 0x3310
leaq 0x4ec7(%rip), %rdi      # 0x8fa9
callq 0x3310
leaq 0x4ee5(%rip), %rdi      # 0x8fd3
callq 0x3310
leaq 0x4f20(%rip), %rdi      # 0x901a
callq 0x3310
movl %ebp, %edi
callq 0x32b0
leaq 0x4f58(%rip), %rdi      # 0x9065
callq 0x3310
leaq 0x4f58(%rip), %rdi      # 0x9071
callq 0x3310
leaq 0x40aa(%rip), %rdi      # 0x81cf
movq %rbx, %rsi
xorl %eax, %eax
callq 0x3040
leaq 0x4f56(%rip), %rdi      # 0x908c
callq 0x3310
leaq 0x40a5(%rip), %rdi      # 0x81e7
movq %rbx, %rsi
xorl %eax, %eax
callq 0x3040
leaq 0x4f5e(%rip), %rdi      # 0x90b1
callq 0x3310
leaq 0x40b2(%rip), %rdi      # 0x8211
movq %rbx, %rsi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x3040