From: Richard Lynch [mailto:[EMAIL PROTECTED] 
Sent: 3. march 2005 20:56

>> $fp = fopen("COM1", "rwb");
> You might try this:
> $input = fopen("COM1", "rb");
> $output = fopen("COM1", "wb");
> Use $output to write, and $input to read.

On a windows one would have to close the connection every time then since that 
OS only allow _one_ connection to the serial ports.

> Another possibility would be to check the manual...

I´ve been it around, as I wrote in the first mail, but something must have been 
misspelled by me, cause I took the example from fgetc:

$fp = fopen("COM1", "w+b");
while (false !== ($char = fgetc($fp))) {
  echo ".$char";
}

And nothing happened, so I figured that the switch might me locked somehow, I 
turned it off and on again and suddenly all the start up info from the switch 
was shown on my screen. I now use the example as a wrapper:

// open connection
$fp = fopen("COM1", "w+b");

// listen for output from $fp
while (false !== ($char = fgetc($fp))) {
  // save chars in buffer, if NOT returns or newlines
  if($char != "\r" && $char != "\n") {
    $buffer .= $char;

  // We need to know if things went wrong
  if(trim($buffer) == "Error")
    $response[] = "Error";

  // execute commands
  if(trim($buffer) == "SecOff >") {
    $command = "$Sec[$SecOff]\r\n";
    fwrite($fp, $command);
    print "writing: $command\n";
    $SecOff++;
    $buffer = "";
  }             
}

I´m working on it as we speak, this is just a part of the script. It´s so nice 
to have a break through finally :-)

> I don't thing 'rwb' is the correct way to fopen for read/write access.

> 'wb+' would be a better answer, I think.

I know, that´s how I´ve done it. During try&fail tests I´ve tried like 
everything. My mistake to not check the code properly before mailing it here...

Have a nice weekend out there :o)

-- 
Sincerly
Kim Madsen
Systemdeveloper / ComX - http://www.comx.dk

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to