[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

kleines script die 4.



Hallo,
ich hoffe ich nerfe nicht zu stark.
Kann mor bitte jemand helfen, ich finde mein problem
nicht in der DOKO.
Ich will mit srcp 8 die F1 funktion schalten.
alles andere funktioniert gut fahren,licht usw
ich habe einen MM decoder mit 256 adressen und 5
funktionen (einen ld-w-1 von Tams habt ihr bestimmt
schon erraten :-))
mein int schaut so aus.
INIT 1 GL 01 M 2 14 5
mein set so
SET 1 GL 01 1 14 14 1 1 = = =
nach meinen ermessen sollte die lok mit 14/14
loasfahren, licht an und F1 an aber F1 geht nicht an.

Auserdem habe ich mein kleines Perlprogramm angehängt.
Vielleicht kann es ja jemand gebrauchen.
So lassen sich auf einfache weise die siganale und
loks von selbst steuern.
!!! srcp 8

Danke Frank

Konnte es leider nicht anhängen Daher in der Mail
#------------------------------------------------
#!/usr/bin/perl -w
use strict;
my $hostname = "127.0.0.1";
my $ddw;
my $get;
my $go;
my $server_ver;
my $i = 5;
my $schinenbus = "SET 1 GL 01 1 10 14 1 = = = =";
my $br89 = "SET 1 GL 02 1 10 14 1 1 = = =";
my $diesel = "SET 1 GL 03 1 10 14 1 = = = =";
my $br23 = "SET 1 GL 04 1 10 14 1 1 = = =";
my $baby = "SET 1 GL 05 1 10 14 1 = = = =";



#----------------------------------------------------------------
#eigentlicher sokethandler
print "Connektion zum ddw server \n";
use IO::Socket;
$ddw = new IO::Socket::INET (
    PeerAddr => $hostname,
    PeerPort => 12345,
    Proto => 'tcp')|| die "Kein Socket... $!\n";
print "connected\n";
sleep 1;
$server_ver = <$ddw>;
print "$server_ver\n";



#------------------------------------------------------------

init ();
#------------------------------------------------------------

#hier gehts los
f2 ();
#einfach die srcp befehle si schicken    &send ("SRCP
8Befehl");

&send ("$schinenbus");


# ende 
#--------------------------------------------------------------------

sub send {
print "@_\n";
print $ddw "@_\n";
$get = <$ddw>;
print "$get\n";
Win32::Sleep 200;
}
sub init {
#------------------------------------------------------------
#SRCP initialisieren
&send ("SET PROTOCOL SRCP 0.8.2");
&send ("SET CONNECTIONMODE SRCP COMMAND");
&send ("GO");
&send ("INIT 1 POWER");
&send ("SET 1 POWER ON");
print "Booster einschalten\n";
print "Enter drücken\n";
$go = <STDIN>;

print "initialisierung der weichen\n";
while ($i <= 17) {
&send ("INIT 5 GA $i M");
$i++;
}
print "Alle Loks Initialisieren\n";
&send ("INIT 1 GL 01 M 2 14 5");
&send ("INIT 1 GL 02 M 2 14 5");
&send ("INIT 1 GL 03 M 2 14 5");
&send ("INIT 1 GL 04 M 2 14 5");
&send ("INIT 1 GL 05 M 2 14 5");



}
#----------------------------------------------
#weichenstrasse 2
sub f2 {
print $ddw "SET 5 GA 6 1 1 200\n";
print $ddw "SET 5 GA 10 1 1 200\n";
print $ddw "SET 5 GA 14 1 1 200\n";
sleep 1;
print $ddw "SET 5 GA 7 1 1 200\n";
print $ddw "SET 5 GA 11 1 1 200\n";
print $ddw "SET 5 GA 16 1 1 200\n";
print $ddw "SET 5 GA 15 1 1 200\n";
sleep 1;
}



	

	
		
___________________________________________________________ 
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de