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 |
InitializeFD(TPCANHandle Channel,
TPCANBitrateFD BitrateFD)
Initializes a FD capable PCAN Channel
See PCAN_BR_* values Bitrate string must follow the following
construction rules: - parameters and values must be separated by '=' -
Couples of Parameter/value must be separated by ',' - Following Parameter
must be filled out: f_clock, data_brp, data_sjw, data_tseg1, data_tseg2,
nom_brp, nom_sjw, nom_tseg1, nom_tseg2. - Following Parameters are
optional (not used yet): data_ssp_offset, nom_samp
Example: f_clock_mhz=80, nom_brp=1, nom_tset1=63, nom_tseg2=16,
nom_sjw=7, data_brp=4, data_tset1=12, data_tseg2=7, data_sjw=1
|
TPCANStatus |
Read(TPCANHandle Channel,
TPCANMsg MessageBuffer,
TPCANTimestamp TimestampBuffer)
Transmits a CAN message
|
TPCANStatus |
ReadFD(TPCANHandle Channel,
TPCANMsgFD MessageBuffer,
TPCANTimestampFD TimestampBuffer)
Reads a CAN message from the receive queue of a FD capable PCAN Channel
|
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. static method
peak.can.basic.RcvEventDispatcher.dispatchRcvEvent is used to notify each
Receive-Event
|
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
|
TPCANStatus |
WriteFD(TPCANHandle Channel,
TPCANMsgFD MessageBuffer)
Transmits a CAN message over a FD capable PCAN Channel
|
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'n'PLAY: The type of hardware and operation modeIOPort
- NON PLUG'n'PLAY: The I/O address for the parallel portInterrupt
- NON PLUG'n'PLAY: Interrupt number of the parallel portpublic TPCANStatus InitializeFD(TPCANHandle Channel, TPCANBitrateFD BitrateFD)
See PCAN_BR_* values Bitrate string must follow the following construction rules: - parameters and values must be separated by '=' - Couples of Parameter/value must be separated by ',' - Following Parameter must be filled out: f_clock, data_brp, data_sjw, data_tseg1, data_tseg2, nom_brp, nom_sjw, nom_tseg1, nom_tseg2. - Following Parameters are optional (not used yet): data_ssp_offset, nom_samp
Example: f_clock_mhz=80, nom_brp=1, nom_tset1=63, nom_tseg2=16, nom_sjw=7, data_brp=4, data_tset1=12, data_tseg2=7, data_sjw=1
Channel
- The handle of a FD capable PCAN ChannelBitrateFD
- The speed for the communication (FD Bitrate string)public TPCANStatus Uninitialize(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 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 ReadFD(TPCANHandle Channel, TPCANMsgFD MessageBuffer, TPCANTimestampFD TimestampBuffer)
Channel
- The handle of a FD capable PCAN ChannelMessageBuffer
- A TPCANMsgFD structure buffer to store the CAN
messageTimestampBuffer
- A TPCANTimestampFD buffer to get the reception
time of the messagepublic TPCANStatus Write(TPCANHandle Channel, TPCANMsg MessageBuffer)
Channel
- The handle of a PCAN ChannelMessageBuffer
- A TPCANMsg buffer with the message to be sentpublic TPCANStatus WriteFD(TPCANHandle Channel, TPCANMsgFD MessageBuffer)
Channel
- The handle of a FD capable PCAN ChannelMessageBuffer
- A TPCANMsgFD buffer with the message to be sentpublic TPCANStatus FilterMessages(TPCANHandle Channel, int FromID, int ToID, TPCANMode Mode)
Channel
- The handle of a PCAN ChannelFromID
- The lowest CAN ID to be receivedToID
- The 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 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 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 SetRcvEvent(TPCANHandle Channel)
Channel
- The handle of a PCAN Channelpublic TPCANStatus ResetRcvEvent(TPCANHandle Channel)
Channel
- The handle of a PCAN Channelpublic boolean initializeAPI()