rcx.josx.rcxcomm
Class LNPHandler

java.lang.Object
  extended by rcx.josx.rcxcomm.PacketHandler
      extended by rcx.josx.rcxcomm.LNPHandler

public class LNPHandler
extends PacketHandler

A Packet handler that implements the outer LNP packet format. It uses the Tower call to send and receive LNP packets.


Constructor Summary
LNPHandler()
          Creates an LNP packet handler and opens the tower
 
Method Summary
 void close()
          Close the Tower.
 int getError()
          Get the last error on the Tower
 boolean isAddressing()
          Test if last received packet is addressing (or integrity)
 boolean isPacketAvailable()
          Check if a packet is available
 int receivePacket(byte[] buffer)
          Receive a packet.
 boolean sendPacket(byte[] packet, int len)
          Send a packet.
 void setListen(boolean listen)
          Set or unset the listen flag to keep a PC serial tower alive
 
Methods inherited from class rcx.josx.rcxcomm.PacketHandler
isAckAvailable, open, receiveAck, reset
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LNPHandler

public LNPHandler()
Creates an LNP packet handler and opens the tower

Method Detail

isAddressing

public boolean isAddressing()
Test if last received packet is addressing (or integrity)

Returns:
true if an addressing packet, false if an integrity packet

getError

public int getError()
Get the last error on the Tower

Overrides:
getError in class PacketHandler
Returns:
the error number, or zero for success

setListen

public void setListen(boolean listen)
Set or unset the listen flag to keep a PC serial tower alive

Overrides:
setListen in class PacketHandler
Parameters:
listen - true to set listen mode, else false

sendPacket

public boolean sendPacket(byte[] packet,
                          int len)
Send a packet.

Specified by:
sendPacket in class PacketHandler
Parameters:
packet - the bytes to send
len - the number of bytes to send
Returns:
true if the send was successful, else false

receivePacket

public int receivePacket(byte[] buffer)
Receive a packet.

Specified by:
receivePacket in class PacketHandler
Parameters:
buffer - the buffer to receive the packet into
Returns:
the number of bytes received

isPacketAvailable

public boolean isPacketAvailable()
Check if a packet is available

Specified by:
isPacketAvailable in class PacketHandler
Returns:
true if a Packet is available, else false

close

public void close()
Close the Tower.

Overrides:
close in class PacketHandler