 #!/usr/bin/perl -w
use strict;
use Device::SerialPort;

my $serial = Device::SerialPort->new("/dev/ttyUSB0");

$serial->baudrate(115200);
$serial->databits(8);
$serial->purge_all();
$serial->rts_active(0);
$serial->dtr_active(0);

my $count=0;
open(datei, "<TomCat.flash") || die "Datei wurde nicht gefunden\n";
while(<datei>){
$count=$count+1;
}
close(datei);
$serial->read_const_time(1000);
open(datei, "<TomCat.flash") || die "Datei wurde nicht gefunden\n";
my $count2=0;
my $test="";
my $line="";

while(<datei> ){

	$count2=$count2+1;
	$line=$_;
	if ($line =~ /#.*/) {
	printf("Kommentar nicht uebertragen\n"); next; }
	while($line =~s/\n//){
	};

	$serial->write("$line");  
	print "$count2/$count: $line\n";
	my $summe=0;
	my $buffer="";
	if ($count2 == $count){ 
	print "FERTIG!\n";last;}

	while (!($buffer =~ m/\+/)){
		my ($anzahl,$saw)=$serial->read(length($line)+1);
		$summe=$summe+$anzahl;	
		$buffer="$buffer$saw";
	}

	print "  Rueckgabe: $buffer \n";
	if (!($buffer=~/$line/)){

	die "Fehler\n";
	}
	if ($count2==2000){
	sleep(1);
	}
	elsif ($count2==4000){
	sleep(1);
	}
	elsif ($count2==6000){
	sleep(1);
	}
	elsif ($count2==8000){
	sleep(1);
	}
	elsif ($count2==10000){
	sleep(1);
	}
	elsif ($count2==12000){
	sleep(1);
	}
	elsif ($count2==14000){
	sleep(1);
	}
	elsif ($count2==16000){
	sleep(1);
	}
	elsif ($count2==18000){
	sleep(1);
	}
	elsif ($count2==20000){
	sleep(1);
	}
	elsif ($count2==22000){
	sleep(1);
	}
	elsif ($count2==24000){
	sleep(1);
	}
	elsif ($count2==26000){
	sleep(1);
	}
	elsif ($count2==28000){
	sleep(1);
	}
	elsif ($count2==30000){
	sleep(1);
	}
}
close(datei);

exit;

