|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--com.dalsemi.comm.CanBus
Class allowing access to 87C390 CANBus Controllers. Each controller can access 15 message centers numbered 1 - 15. Each message center can be programmed either transmit or receive, except message center 15. Message center 15 is unique in the fact it can only receive, and can also buffer two back to back frames.
| Field Summary | |
static byte |
CANBUS0
|
static byte |
CANBUS1
|
| Constructor Summary | |
CanBus(byte portnum)
Create a new CanBus instance. |
|
| Method Summary | |
void |
autoAnswerRemoteFrameRequest(int messageCenter,
int ID,
byte[] data)
Set up a message center to auto reply to remote frame requests. |
boolean |
autoBaud()
Attempt to autobaud to traffic on the CAN Bus. |
void |
close()
Close this CANBus Controller This releases all resources for this CAN controller |
void |
disableController()
Shut down this CAN controller. |
void |
disableMessageCenter(int messageCenter)
Shut down this message center for changes. |
void |
enableController()
Startup this CAN controller. |
void |
enableMessageCenter(int messageCenter)
Startup this message center. |
int |
getRXErrorCount()
Get the receiver error count. |
int |
getTXErrorCount()
Get the transmitter error count. |
void |
open()
Open this CANBus Controller This is done automatically during the constructor. |
void |
receive(CanFrame frame)
Receive a CAN data frame. |
boolean |
receivePoll(CanFrame frame)
Receive a CAN data frame. |
void |
resetController()
Reset this CAN controller. |
void |
sendDataFrame(int ID,
boolean extendedID,
byte[] data)
Send a CAN Data Frame from first available message center. |
void |
sendFrame(CanFrame frame)
Send a CAN frame from first available message center. |
void |
sendRemoteFrameRequest(int ID,
boolean extendedID,
byte[] data)
Send a CAN Remote Frame Request from first available message center. |
void |
set11BitGlobalIDMask(int mask)
Set the 11 Bit (STANDARD) Global ID Mask. |
void |
set11BitMessageCenterArbitrationID(int messageCenter,
int ID)
Set an 11 Bit Arbitration ID for a message center. |
void |
set29BitGlobalIDMask(int mask)
Set the 29 Bit (EXTENDED) Global ID Mask. |
void |
set29BitMessageCenter15IDMask(int mask)
Set the 29 Bit Message Center 15 ID Mask. |
void |
set29BitMessageCenterArbitrationID(int messageCenter,
int ID)
Set an 11 Bit Arbitration ID for a message center. |
void |
setBaudRateDivisor(int divisor)
Set baud rate divisor from the CPU crystal. |
void |
setMessageCenterMessageIDMaskEnable(int messageCenter,
boolean maskEnable)
Enable or disable Message ID Masking for a specific message center Note: If masking is disabled, this message center ID must match ALL bits of incoming ID. |
void |
setMessageCenterRXMode(int messageCenter)
Set a specific message center as receiver or transmitter Note: Message Center 15 is always RECEIVE only. |
void |
setMessageCenterTXMode(int messageCenter)
Set a specific message center as receiver or transmitter Note: Message Center 15 is always RECEIVE only. |
void |
setMessageCenterWriteOverEnable(int messageCenter,
boolean writeover)
Set the state of write over in a specific message center. |
void |
setSampleRate(int value)
Set SMP (Sample Rate) This method sets whether to use one or three samples per bit time during CAN communication. |
void |
setSiestaMode()
Put the CAN Controller in SIESTA mode When Bus activity is detected, the controller will wake up and participate on the bus. |
void |
setSynchronizationJumpWidth(int value)
Set SJW (Synchronization Jump Width) This method sets the SJW necessary for adjusting TSEG1 and TSEG2 to compensate for sync problems during CAN communication. |
void |
setTSEG1(int value)
Set TSEG1 (Timing Segment 1 = PROP_SEG + PHASE_SEG1) This method sets TSEG1 to a specified number of time quanta. |
void |
setTSEG2(int value)
Set TSEG2 (Timing Segment 2 = PHASE_SEG2) This method sets TSEG2 to a specified number of time quanta. |
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| Field Detail |
public static final byte CANBUS0
public static final byte CANBUS1
| Constructor Detail |
public CanBus(byte portnum)
throws CanBusException
portnum - Either CANBUS0 or CANBUS1| Method Detail |
public void open()
throws CanBusException
public void close()
throws CanBusException
public void setBaudRateDivisor(int divisor)
throws CanBusException
divisor - 8 bit clock divisorpublic void setSynchronizationJumpWidth(int value)
value - 1 to 4 (1tqu to 4tqu)public void setSampleRate(int value)
value - 1 or 3public void setTSEG1(int value)
value - 2tqu to 16tqupublic void setTSEG2(int value)
value - 2tqu to 8tqupublic void resetController()
public void disableController()
public void enableController()
public void enableMessageCenter(int messageCenter)
messageCenter - to enablepublic void disableMessageCenter(int messageCenter)
messageCenter - to enable
public void receive(CanFrame frame)
throws CanBusException
frame - A frame in which to place the incoming data.
public boolean receivePoll(CanFrame frame)
throws CanBusException
frame - A frame in which to place the incoming data.
public void sendFrame(CanFrame frame)
throws CanBusException
frame - A CAN frame
public void sendDataFrame(int ID,
boolean extendedID,
byte[] data)
throws CanBusException
ID - for framedata - to send in frame
public void sendRemoteFrameRequest(int ID,
boolean extendedID,
byte[] data)
throws CanBusException
ID - for framedata - to send in frame
public void autoAnswerRemoteFrameRequest(int messageCenter,
int ID,
byte[] data)
messageCenter - Which message center to use for this reply.ID - for framedata - to send in framepublic void set11BitGlobalIDMask(int mask)
mask - 11 bit maskpublic void set29BitGlobalIDMask(int mask)
mask - 29 bit maskpublic void set29BitMessageCenter15IDMask(int mask)
mask - 29 bit mask
public void set11BitMessageCenterArbitrationID(int messageCenter,
int ID)
messageCenter - which message center to changeID - 11 bit ID
public void set29BitMessageCenterArbitrationID(int messageCenter,
int ID)
messageCenter - which message center to changeID - 29 bit ID
public void setMessageCenterWriteOverEnable(int messageCenter,
boolean writeover)
messageCenter - which message center to changewriteover - set to true to allow overwrite.public void setMessageCenterTXMode(int messageCenter)
messageCenter - which message center to changemode - TRANSMIT or RECEIVEpublic void setMessageCenterRXMode(int messageCenter)
messageCenter - which message center to changemode - TRANSMIT or RECEIVE
public void setMessageCenterMessageIDMaskEnable(int messageCenter,
boolean maskEnable)
messageCenter - which message center to changemaskEnable - true to allow Global Mask, false to require exact match of ID
public boolean autoBaud()
throws CanBusException
public int getTXErrorCount()
public int getRXErrorCount()
public void setSiestaMode()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||