I cannot transmit from IR-Tower to RCX using LNPD. I
achieve to transmit from RCX to Tower commenting some
errorcheck in file transceiver.c in lnpd (check for
variable 'badframe' value).
When transmitting from Tower to RCX it seems to
receive thrash although the lnpd daemon is writting the
correct buffer to the IR port (known via verbose flag).
I know it because I resend the bytes received by the
RCX (in function lnp_receive_byte) back to the IR-Tower
through a call to the integrity layer handler function
passing a buffer with the last N bytes received from
Tower. It seems not to receive the header correctly and
then the rest of bytes of the packet don't pass to the
state-machine reception algorithm in lnp_receive_byte
(in RCX).
I think it could be caused by differences in any
parameter of the serial protocol used betwer RCX and
IR-Tower (bauds, parity bit, stop bit,. ..) that
corrupts the communication. Maybe some adjust to lnpd
should work.
When transmitting from IR-Tower to IR-Tower there is
no problem.
Gerard.
Logged In: NO
I think the problem is caused by the use of the parity bit. lnpd
does not use it at all, just like legOS 0.2.4 (and older?) did.
More recent versions of BrickOS seem to have odd parity
enabled by default which causes problems with the older lnpd.
It might be possible to solve the problem by enabling the
appropriate flags in rcxtty.c:
ios.c_cflag = CREAD | CLOCAL | CS8; // | PARENB | PARODD;
Hope that helps...
Stephan, <sho@informatik.uni-kiel.de>
Logged In: YES
user_id=1227386
Any news on this? Is there a working solution/workaround?