#Wait()
2 messages in this thread
My task still refuses to be woken up by the serial port. I have moved
the read and write Port names from your Serial.mod file to CONSTants in
the .def module. This allows me to do a FindPort() in the client
module. The relevant routine is below.
PROCEDURE ListenUp(VAR MySignalSet : SignalSet);
BEGIN
MySignalSet := SignalSet{}; (* Intialize *)
sp := FindPort(ADR(ReadPortName)); (* where are you, modem? *)
IF sp = NIL THEN
WriteString("Serial port not found");
WriteLn;
ELSE
INCL(MySignalSet,CARDINAL(sp^.mpSigBit)); (* modem wakes us up *);
END;
INCL(MySignalSet,CARDINAL(wp^.UserPort^.mpSigBit)); (* Intuition too *)
END ListenUp;
Pretty simple stuff. I get notification of Intuition events but not of
Serial.device ones. The serial data IS successfully passing through the
port but my processing loop only is entered when an Intuition event
triggers it. That's when I see the data in the serial buffer. I
thought there might be some flag or something that has to be set when
the IO port is created in Serial.mod but I couldn't find anything.
Does this make any sense? — Art
Hmm… The code fragment looks ok to me. Let me look into it and I'll get
back to you (remind me every day so I won't forget).
– Steve –