#!/usr/bin/perl
use Lab::Instrument::TDS2024B;
use Getopt::Long;


my $layout;
my $format;
my $filename = 'ScreenCap_2024B';
my $force;
my $tmc_address;
my $visa_name;
my $usb_serial;
my $help = 0;

    
Getopt::Long::GetOptions("layout=s" => \$layout,
	   "format=s" => \$format,
	   "filename=s" => \$filename,
	   "force" => \$force,
	   "tmc_address" => \$tmc_address,
	   "visa_name" => \$visa_name,
	   "usb_serial" => \$usb_serial,
	   "help" => \$help,
    ) or die("error in command line arguments");

if ($help) {
    print "usage: $0 [options]\n";
    print " --filename=image_filename [def: ScreenCap_2024B.X, X=format]\n";
    print " --format=(BMP|EPS|JPEG|PCX|TIFF...\n";
    print " --layout=(PORTRAIT|LANDSCAPE)\n";
    print " --force    forces overwriting output file\n";
    print " --tmc_address=X...   /dev/usbtmcX\n";
    print " --visa_name=USB::0xAAAA::0xBBBB::0xCCCC  visa style address\n";
    print " --usb_serial=serial  select by serial number, if multiple\n";

    exit(0);
}

my $args = {};
$args->{tmc_address} = $tmc_address if defined $tmc_address;
$args->{visa_name} = $visa_name if defined $visa_name;
$args->{usb_serial} = $usb_serial if defined $usb_serial;

my $s = new Lab::Instrument::TDS2024B($args);


$args = {};
if ($filename eq 'ScreenCap_2024B') {
    if (defined($format)) {
	$filename .= ".".lc($format);
    } else {
	$filename .= ".".lc($s->get_hardcopy_format());
    }
    $force = 1;
}

$args->{file} = $filename;
$args->{force} = $force if defined $force;
$args->{layout} = $layout if defined $layout;
$args->{format} = $format if defined $format;

$s->get_image($args);
exit(0);
