peak.can.basic
Class PCANBasic

java.lang.Object
  extended by peak.can.basic.PCANBasic

public class PCANBasic
extends java.lang.Object

This is the main class for using the PCANBasic API with your java applications. Steps to use this api:

 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);

A minimalistic program that writes every can message that it receives (ping-pong)
looks like this:
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 Summary
PCANBasic()
           
 
Method Summary
 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PCANBasic

public PCANBasic()
Method Detail

Initialize

public TPCANStatus Initialize(TPCANHandle Channel,
                              TPCANBaudrate Btr0Btr1,
                              TPCANType HwType,
                              int IOPort,
                              short Interrupt)
Initializes a PCAN Channel

Parameters:
Channel - The handle of a PCAN Channel
Btr0Btr1 - The speed for the communication (BTR0BTR1 code)
HwType - NON PLUG&PLAY: The type of hardware and operation mode
IOPort - NON PLUG&PLAY: The I/O address for the parallel port
Interrupt - NON PLUG&PLAY: Interrupt number of the parallel port
Returns:
a TPCANStatus error code

Uninitialize

public TPCANStatus Uninitialize(TPCANHandle Channel)
Uninitializes one or all PCAN Channels initialized by CAN_Initialize Giving the TPCANHandle value "PCAN_NONEBUS", uninitialize all initialized channels

Parameters:
Channel - The handle of a PCAN Channel
Returns:
A TPCANStatus error code

SetValue

public 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. If a parameter is not available, a PCAN_ERROR_ILLPARAMTYPE error will be returned

Parameters:
Channel - The handle of a PCAN Channel
Parameter - The TPCANParameter parameter to get
Buffer - Buffer for the parameter value
BufferLength - Size in bytes of the buffer
Returns:
A TPCANStatus error code

FilterMessages

public TPCANStatus FilterMessages(TPCANHandle Channel,
                                  int FromID,
                                  int ToID,
                                  TPCANMode Mode)
Configures the reception filter. The message filter will be expanded with every call to this function. If it is desired to reset the filter, please use the CAN_SetParameter function

Parameters:
Channel - The handle of a PCAN Channel
FromID - The lowest CAN ID to be received
ToIDThe - highest CAN ID to be received
Mode - Message type, Standard (11-bit identifier) or Extended (29-bit identifier)

GetValue

public 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. If a parameter is not available, a PCAN_ERROR_ILLPARAMTYPE error will be returned

Parameters:
Channel - The handle of a PCAN Channel
Parameter - The TPCANParameter parameter to get
Buffer - Buffer for the parameter value
BufferLength - Size in bytes of the buffer
Returns:
A TPCANStatus error code

GetErrorText

public 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)

Parameters:
error - A TPCANStatus error code
language - Indicates a 'Primary language ID'
buffer - Buffer for a null terminated char array
Returns:
A TPCANStatus error code

Read

public TPCANStatus Read(TPCANHandle Channel,
                        TPCANMsg MessageBuffer,
                        TPCANTimestamp TimestampBuffer)
Transmits a CAN message

Parameters:
Channel - The handle of a PCAN Channel
MessageBuffer - A TPCANMsg buffer with the message to be read
TimestampBuffer - A TPCANTimestamp structure buffer to get the reception time of the message. If this value is not desired, this parameter should be passed as NULL
Returns:
A TPCANStatus error code

Write

public TPCANStatus Write(TPCANHandle Channel,
                         TPCANMsg MessageBuffer)
Transmits a CAN message

Parameters:
Channel - The handle of a PCAN Channel
MessageBuffer - A TPCANMsg buffer with the message to be sent
A - TPCANStatus error code

SetRcvEvent

public 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

Parameters:
Channel - The handle of a PCAN Channel
Returns:
A TPCANStatus error code

ResetRcvEvent

public TPCANStatus ResetRcvEvent(TPCANHandle Channel)
Resets the handle of the Receive-Event for the Channel.

Parameters:
Channel - The handle of a PCAN Channel
Returns:
A TPCANStatus error code

Reset

public TPCANStatus Reset(TPCANHandle Channel)
Resets the receive and transmit queues of the PCAN Channel A reset of the CAN controller is not performed.

Parameters:
Channel - The handle of a PCAN Channel
Returns:
A TPCANStatus error code

GetStatus

public TPCANStatus GetStatus(TPCANHandle Channel)
Gets the current status of a PCAN Channel

Parameters:
Channel - The handle of a PCAN Channel
Returns:
A TPCANStatus error code

initializeAPI

public boolean initializeAPI()
Initializes the PCANBasic API

Returns:
a boolean to indicate if API is successfully loaded