#!/usr/local/bin/perl use Device::SerialPort; my $PortName = "/dev/ucom1"; my $pin = $ARGV[0]; my $del = $ARGV[1]; my $PortObj = new Device::SerialPort ($PortName, 0) || die "Can't open $PortName: $!\n"; $PortObj->baudrate(9600) || die("Failed to set baudrate"); $PortObj->parity("none") || die("Failed to set parity"); $PortObj->databits(8) || die("Failed to set databits"); $PortObj->stopbits(1) || die("Failed to set stop bits"); # hit the enter key a few times till we get a prompt for ($i = 0; $i < 10; $i++) { $PortObj->read_const_time(2000); $PortObj->write("\r"); my ($cnt, $result) = $PortObj->read(2); last if ($result =~ /#/); } # send the pulse instruction and wait until it is done $PortObj->read_const_time(($del + 2) * 1000); $PortObj->write("p $pin $del\r"); my ($cnt, $result) = $PortObj->read(2);