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.



  • Nobody/Anonymous

    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>

  • Stephen M. Moraco

    • assigned_to: nobody --> stephmo
  • zorxd

    zorxd - 2006-11-12

    Logged In: YES

    Any news on this? Is there a working solution/workaround?


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks