Nous utilisons des cookies sur notre site web afin de vous fournir le meilleur service possible et d'améliorer encore notre site web. En cliquant sur le bouton "Accepter tout", vous acceptez l'utilisation de tous les cookies. Vous pouvez limiter les cookies utilisés en cliquant sur "Accepter la sélection". Vous trouverez de plus amples informations et une option pour révoquer votre sélection dans notre politique de confidentialité.

Nécessaire :

Ces cookies sont nécessaires pour la fonctionnalité de base. Cela vous permet de vous inscrire sur notre site web et notre forum ou de commander des produits avec notre boutique en ligne.

Statistiques :

Avec ces cookies, nous collectons des données d'utilisation anonymisées pour notre site web. Par exemple, nous pouvons voir quel contenu est intéressant pour nos visiteurs et quelles résolutions sont utilisées. Nous utilisons ces informations pour optimiser notre site web et vous offrir la meilleure expérience utilisateur possible.



PCAN-Basic API for Linux Version History

2021-10-04 - Version 4.5.2


  • Fixed year in "start time" comments for .trc files


2021-09-24 - Version 4.5.1


  • Fixed CAN_Uninitialize when Tx queue is not empty, waiting time was 50ms instead of 500ms
  • CAN_Uninitialize clears Tx queue before closing (avoiding any driver's extra waiting time)
  • Fixed issue when calling CAN_Uninitialize(PCAN_NONEBUS) and continue using the API (involving parameter PCAN_AVAILABLE_CHANNELS)
  • Fixed side-effects in CAN_SetValue on non-ARM systems (see previous ARM patch)
  • Fixed syslog log_level
  • library initialization now also initializes internal parameters

2021-09-02 - Version 4.5.0


  • Added support to new API entry point: CAN_LookUpChannel
  • Added automatic compilation of libpcanbasic 32 bit version
  • Added mechanism to ignore status frame on reset (and CAN_Initialize, use definition KEEP_STATUS_FRAME_ON_RESET to disable)
  • Added timestamps usage to examples
  • Added support to future PCAN Linux 8.13 features (ioctl resets)
  • Added missing functions to handle logging of LOG_FUNCTION_READ, LOG_FUNCTION_WRITE
  • Header upgraded to match PCANBasic Windows v4.5.3
  • Fixed possible infinite loop in pcanbasic_parse_fd_init


  • Fixed $STARTTIME in trc file to match PEAK-TRACE spec.
  • Replaced uses of deprecated 'gettimeofday' with 'clock_gettime'
  • Function pcanbasic_get_device now initializes a status parameter to get same error code as on Windows
  • Function pcanbasic_get_channel now have a TCANStatus param to improve and give information to caller
  • Factorized duplicate code with internal function pcanbasic_get_fd.
  • Updated MakeFile to specify precisely exported functions (see def file)
  • Fixed returned code (in case of erros) for every entry points to match exactly PCANBasic Windows behaviour
  • Given pathes are now internally converted and stored as absolute pathes (internal pathes are dynamically allocated)
  • Enabling logging now checks and immediately opens the log file (same as Windows)
  • CAN_Read/CAN_ReadFD and CAN_Write/CAN_WriteFD now check if the corresponding CAN_Initialize/CAN_InitializeFD was used (PCAN_ERROR_ILLOPERATION)
  • CAN_Write/CAN_WriteFD now supports PCAN_ERROR_XMTFULL error code
  • Changed trace to support chronological ordering: libpcanfd msg-echoing is enabled by default (if supported, FD fw only)
  • Fixed CAN_SetValue to return an error when the size of the buffer is invalid
  • Improved CAN_SetValue to better handle buffer with a size smaller than expected (ARM)

2020-04-27 - Version 4.4.3


  • CAN_SetValue for PCAN_DEVICE_ID and PCAN_5VOLTS_POWER now requires an initialized channel (as mentionned by documentation)
  • Calls to deprecated function gettimeofday(..) was replaced with clock_gettime(clk_ref,...)
  • Trace file now have a starttime set a few milliseconds prior initialisation
  • Trace file can display negative relative timestamp
  • Fixed minor typos in logs
  • Compilation now supports distinct preprocessor's definitions of LOG_LEVEL and _DEBUG
  • PCAN_PARAMETER_CHANNEL_VERSION now includes channel's type and PEAK copyright (to match string returned by PCANBasic Windows API)

2020-12-16 - Version 4.4.2


  • Fixed compilation error in -std=gnu90
  • 'Initialize' functions will try to retrieve a more precise error when 'pcanfd_open' fails
  • API version string will end with "(debug)" if library is built in debug mode
  • Refactored logging in debug mode and fixed syslog logging
  • pcaninfo changed to v1.2.0: Outputs version of the installed PCAN-Basic API

2020-08-14 - Version 4.4.1


  • Added checks to prevent possible buffer overflows when copying CAN/CANFD message's DATA
  • Added mutex in API entries to provide more robust thread-safe system

2020-08-07 - Version 4.4.0


  • Updated libpcanbasic/pcanbasic to match features from Windows PCAN-Basic 4.4
  • Updated libpcanbasic/pcaninfo to display a short or detailed list of devices
  • Updated pcanbasic_java/libpcanbasic_jni to support features from PCAN-Basic 4.4
  • Updated pcanbasic_java/examples to support features from PCAN-Basic 4.4

2020-03-05 - Version 4.3.4

  • Fixed pcanbasic/ so that shared object can be built under Xenomai 3.1

2020-02-19 - Version 4.3.3

  • Updated the included licensing information

2019-10-09 - Version 4.3.2


  • PCAN-Basic example now supports Python 3
  • Added change logs to the sub projects (libpcanbasic, pcanbasic_java and libpcanbasic_jni)


  • loadLibrary will try "pcanbasic_jni" first and fallback to "PCANBasic_JNI" on failure

2019-04-15 - Version

  • Added support to param PCAN_FIRMWARE_VERSION (0x29)
  • Added support to sysfs params: clk_drift, dev_name, init_flags, mass_storage_mode, nom_sample_point, nom_tq, data_sample_point, data_tq, and ts_fixed
  • Fixed check on pcanfd_open's return value as RT system can return the value 0

2018-08-03 - Version

  • Added missing support of device PCAN_USBX6

2018-03-16 - Version

  • Added a 50ms temporisation when closing a channel that still has Tx pending messages

2018-03-06 - Version

  • Fixed PCANBasic status when receiving EAGAIN from libpcanfd (error is either QXMTFULL or QRCVEMPTY whether read or write function is called)

2018-03-03 - Version

  • Fixed CAN FD timestamp issue
  • Added PCANBasic_enu_linux_addenda.txt that lists differences within documentation compared to Windows

2017-11-03 - Version

  • Fixed alignments in generated trace file (timestamp and 11bit CAN ids)

2017-10-31 - Version

  • Fixed wrong month number in generated trace file
  • Fixed ill use of snprintf in trace file leading to trace only first byte of message data

2017-10-09 - Version

  • Added support of features of PCAN-Basic 4.2 for Windows® (only with PCAN Linux driver > 8.5.x):
    • Reception of status frames: PCAN_ALLOW_STATUS_FRAMES
    • Reception of RTR frames: PCAN_ALLOW_RTR_FRAMES
    • Reception of error frames: PCAN_ALLOW_ERROR_FRAMES
    • Interframe Transmit Delay: PCAN_INTERFRAME_DELAY
  • The package now includes documentation (same as the Windows® version, open .chm files with "xchm" for instance)

2017-10-04 - Version

  • Fixed PCAN_TRACE_xxx features (the feature was never launched when a session was activated by the user)
  • Header now includes new features of PCAN-Basic 4.2 for Windows® (not yet implemented, status will return "illegal operation")

2017-02-17 - Version 4.1.1

  • Patched overflow timestamp issue
  • Corrected a few status error (bad convertions from errno to status)

2016-09-08 - Version

  • Fixed memory leaks issues within "pcanjni" library
  • Replaced the PCANBasic java example with the sample in pcanjni folder

2016-07-20 - Version

  • Changed the version number to match PCAN-Basic for Windows
  • Fixed C99 problem in make file
  • Fixed a bug in Java implementation

Please note: The old API 2.0.4.x is still included to support PEAK linux driver prior version 8.x).

2016-05-20 - Version + Version legacy driver

  • CAN_GetErrorText now returns PCAN_ERROR_ILLPARAMVAL on unknown error status
  • v2.0.4.6: Fixed an issue when retrieving/setting PCAN_DEVICE_NUMBER
  • Java 'peak.can' package updated to match the Windows version of PCAN-Basic

2016-03-16 - Version + Version legacy driver

  • v4.0.0.3: Fixed a null pointer exception when calling CAN_Unitialize(PCAN_NONEBUS) and continuing using the API

2016-03-01 - Version + Version legacy driver

  • v4.0.0.2: Upgraded pcaninfo to match changes in PCAN driver v8.0.17

2016-01-29 - Version + Version legacy driver

  • v4.0.0.1: Upgraded to match changes in PCAN driver v8.0.7

2016-01-18 - Version 4.0.0 + Version legacy driver

  • v2.0.4.5: Fixed GetStatus function. Please note: PCAN driver v7.16.0 is required
  • v2.0.4.5: Known issue: USB channel's handles will be offset if the minor number of the first PCAN-USB device is not 0 (or n=32 in cat /proc/pcan)

2016-01-12 - Version 4.0.0

  • Upgraded PCAN-Basic Linux API to match the Windows version 4.0.2 of PCAN-Basic
  • Please note: PCAN driver v8.0.6 is required

2015-11-04 - Version 2.0.4

  • Fixed impossibility to write an enhanced message with RTR flag

2014-10-17 - Version 2.0.3

  • Changed licences from GPL to LGPL
  • Fixed an issue with using CAN2 of PCAN-USB Pro

2014-01-08 - Version 2.0.2

  • Changed DWORD definition in pcanbasic_jni.c to ensure 32-bits implementation whatever Linux arch data model is used

2013-11-12 - Version 2.0.1

  • Changed all "c_ulong" types to "c_uint" to ensure 32-bits implementation whatever Linux arch data model is used

2013-11-08 - Version 2.0.0

  • Fixed a problem running in 32-bits applications with 64-bits Kernel in python and C++ examples

2013-11-05 - Version 1.0.0

  • Included the version number in PCANBAsic.h and removed the TPCANMsg struc definition to use the one in <pcan.h>
  • Examples setup an initial bitrate of 500k now