public class PCANBasic
extends java.lang.Object
1. Create a new PCANBasic object:
example:
can = new PCANBasic(); 2. Call the initializeAPI method
example:
can.initializeAPI();
3. Call the Initialize method passing the TPCANHandle parameter which you want use, TPCANBaudrate and other parameters for Non-PNP devices
example:
can.initialize(TPCANHandle.PCAN_USBBUS1, TPCANBaudrate.PCAN_BAUD_1M);
4. Call the read or write method passing the TPCANHandle parameter which is initialized and you want use
example: TPCANMsg msg = new TPCANMsg();; can.Read(TPCANHandle.PCAN_USBBUS1, msg, null); can.Write(TPCANHandle.PCAN_USBBUS1, msg); (do not forget to check if msg is null after calling the Read method)
5. At the end call the Uninitialize method example: can.Uninitialize(TPCANHandle.PCAN_USBBUS1);
import peak.can.basic.*; public class MinimalisticProgram { public static void main(String[] args) { PCANBasic can = null; TPCANMsg msg = null; TPCANStatus status = null; can = new PCANBasic(); if(!can.initializeAPI()) { System.out.println("Unable to initialize the API"); System.exit(0); } status = can.Initialize(TPCANHandle.PCAN_PCIBUS1, TPCANBaudrate.PCAN_BAUD_1M, TPCANType.PCAN_TYPE_NONE, 0, (short) 0); msg = new TPCANMsg(); while(true) { while(can.Read(TPCANHandle.PCAN_PCIBUS1, msg, null) == TPCANStatus.PCAN_ERROR_OK) { status = can.Write(TPCANHandle.PCAN_PCIBUS1, msg); if(status != TPCANStatus.PCAN_ERROR_OK) { System.out.println("Unable to write the CAN message"); System.exit(0); } } } } }
Constructor and Description |
---|
PCANBasic() |
Modifier and Type | Method and Description |
---|---|
TPCANStatus |
FilterMessages(TPCANHandle Channel,
int FromID,
int ToID,
TPCANMode Mode)
Configures the reception filter.
|
TPCANStatus |
GetErrorText(TPCANStatus Error,
short Language,
java.lang.StringBuffer Buffer)
Returns a descriptive text of a given TPCANStatus error
code, in any desired language
The current languages available for translation are:
Neutral (0x00), German (0x07), English (0x09), Spanish (0x0A),
Italian (0x10) and French (0x0C)
|
TPCANStatus |
GetStatus(TPCANHandle Channel)
Gets the current status of a PCAN Channel
|
TPCANStatus |
GetValue(TPCANHandle Channel,
TPCANParameter Parameter,
java.lang.Object Buffer,
int BufferLength)
Retrieves a PCAN Channel value
Parameters can be present or not according with the kind
of Hardware (PCAN Channel) being used.
|
TPCANStatus |
Initialize(TPCANHandle Channel,
TPCANBaudrate Btr0Btr1,
TPCANType HwType,
int IOPort,
short Interrupt)
Initializes a PCAN Channel
|
boolean |
initializeAPI()
Initializes the PCANBasic API
|
TPCANStatus |
Read(TPCANHandle Channel,
TPCANMsg MessageBuffer,
TPCANTimestamp TimestampBuffer)
Transmits a CAN message
|
TPCANStatus |
Reset(TPCANHandle Channel)
Resets the receive and transmit queues of the PCAN Channel
A reset of the CAN controller is not performed.
|
TPCANStatus |
ResetRcvEvent(TPCANHandle Channel)
Resets the handle of the Receive-Event for the Channel.
|
TPCANStatus |
SetRcvEvent(TPCANHandle Channel)
Sets the handle of the Receive-Event for the Channel.
|
TPCANStatus |
SetValue(TPCANHandle Channel,
TPCANParameter Parameter,
java.lang.Object Buffer,
int BufferLength)
Configures or sets a PCAN Channel value
Parameters can be present or not according with the kind
of Hardware (PCAN Channel) being used.
|
TPCANStatus |
Uninitialize(TPCANHandle Channel)
Uninitializes one or all PCAN Channels initialized by CAN_Initialize
Giving the TPCANHandle value "PCAN_NONEBUS",
uninitialize all initialized channels
|
TPCANStatus |
Write(TPCANHandle Channel,
TPCANMsg MessageBuffer)
Transmits a CAN message
|
public TPCANStatus Initialize(TPCANHandle Channel, TPCANBaudrate Btr0Btr1, TPCANType HwType, int IOPort, short Interrupt)
Channel
- The handle of a PCAN ChannelBtr0Btr1
- The speed for the communication (BTR0BTR1 code)HwType
- NON PLUG&PLAY: The type of hardware and operation modeIOPort
- NON PLUG&PLAY: The I/O address for the parallel portInterrupt
- NON PLUG&PLAY: Interrupt number of the parallel portpublic TPCANStatus Uninitialize(TPCANHandle Channel)
Channel
- The handle of a PCAN Channelpublic TPCANStatus SetValue(TPCANHandle Channel, TPCANParameter Parameter, java.lang.Object Buffer, int BufferLength)
Channel
- The handle of a PCAN ChannelParameter
- The TPCANParameter parameter to getBuffer
- Buffer for the parameter valueBufferLength
- Size in bytes of the bufferpublic TPCANStatus FilterMessages(TPCANHandle Channel, int FromID, int ToID, TPCANMode Mode)
Channel
- The handle of a PCAN ChannelFromID
- The lowest CAN ID to be receivedToIDThe
- highest CAN ID to be receivedMode
- Message type, Standard (11-bit identifier) or
Extended (29-bit identifier)public TPCANStatus GetValue(TPCANHandle Channel, TPCANParameter Parameter, java.lang.Object Buffer, int BufferLength)
Channel
- The handle of a PCAN ChannelParameter
- The TPCANParameter parameter to getBuffer
- Buffer for the parameter valueBufferLength
- Size in bytes of the bufferpublic TPCANStatus GetErrorText(TPCANStatus Error, short Language, java.lang.StringBuffer Buffer)
error
- A TPCANStatus error codelanguage
- Indicates a 'Primary language ID'buffer
- Buffer for a null terminated char arraypublic TPCANStatus Read(TPCANHandle Channel, TPCANMsg MessageBuffer, TPCANTimestamp TimestampBuffer)
Channel
- The handle of a PCAN ChannelMessageBuffer
- A TPCANMsg buffer with the message to be readTimestampBuffer
- A TPCANTimestamp structure buffer to get
the reception time of the message. If this value is not desired, this parameter
should be passed as NULLpublic TPCANStatus Write(TPCANHandle Channel, TPCANMsg MessageBuffer)
Channel
- The handle of a PCAN ChannelMessageBuffer
- A TPCANMsg buffer with the message to be sentA
- TPCANStatus error codepublic TPCANStatus SetRcvEvent(TPCANHandle Channel)
Channel
- The handle of a PCAN Channelpublic TPCANStatus ResetRcvEvent(TPCANHandle Channel)
Channel
- The handle of a PCAN Channelpublic TPCANStatus Reset(TPCANHandle Channel)
Channel
- The handle of a PCAN Channelpublic TPCANStatus GetStatus(TPCANHandle Channel)
Channel
- The handle of a PCAN Channelpublic boolean initializeAPI()