[futurebasic] Re: [FB] Serial port USB serial adapters does not work underOS9

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : March 2003 : Group Archive : Group : All Groups

From: Robert Purves <rpurves@...>
Date: Sun, 30 Mar 2003 22:22:21 +1200
On Sunday, March 30, 2003, Masakazu Nakao wrote:

> I check the problem of TermGetStatus under OS 9.2.2
>
> Your code tell me the error comes from
>  stop "Error " + str$( ioErr ) + " opening output"
> IoErr = -98
>
> when I use Keyspan USA28X driver 1.9 (latest version for OS8,9)
>
> Incidentally I found older Keyspan driver v1.8 for Keyspan USA28X.
> It works almost OK with latest FB^3 (official R7 and beta b9)!
>
> "Almost" means it receive extra string data from somewhere.

Error -98 is  portNotCf  in Apple's header filer MacErrors.h:

portNotPwr = -96 /*serial port not currently powered*/
portInUse  = -97 /*driver Open error code (port is in use)*/
portNotCf  = -98 /*driver Open error code (parameter RAM not configured 
for this connection)*/

I don't know what that really means, but we are a little further ahead 
in understanding the Keyspan problem.


If you comment out 8 lines of my previously-posted TermGetStatus 
override fn, it will not try to open for output.  You can then discover 
whether it succeeds in opening for input:

//ioErr = fn PBOpenSync( pb ) // try open for output
//long if ioErr
//stop "Error " + str$( ioErr ) + " opening output"
//termStatus = 2 // open already
//xelse
//ioErr = fn PBCloseSync( pb ) // close output
//if ioErr then stop "Error " + str$( ioErr ) + " closing output"
pb.ioNamePtr& = @gFBSerialInName$(-serPort)
pb.ioRefNum%  = 0
pb.ioPermssn` = _fsRdPerm
ioErr = fn PBOpenSync( pb ) // try open for input
long if ioErr
stop "Error " + str$( ioErr ) + " opening input"
termStatus = 2 // open already
xelse
ioErr = fn PBCloseSync( pb ) // close input
if ioErr then stop "Error " + str$( ioErr ) + " closing input"
end if
//end if


Robert P.