Releases: mac-can/PCBUSB-Wrapper
Releases · mac-can/PCBUSB-Wrapper
Release of August 2, 2024
Major changes:
- Integrated changes from PCBUSB library version 0.13:
- Acceptance filtering by setting parameter:
PCAN_ACCEPTANCE_FILTER_11BIT
PCAN_ACCEPTANCE_FILTER_29BIT
PCAN_MESSAGE_FILTER
PCAN_RECEIVE_STATUS
- Suppression of status frames by setting parameter:
PCAN_ALLOW_STATUS_FRAMES
- Suppression of remote frames by setting parameter:
PCAN_ALLOW_RTR_FRAMES
- Acceptance filtering by setting parameter:
- Updated CAN API V3 sources to rev. 1356:
- Implemented acceptance filtering
- Solved an issue with
PCAN_RECEIVE_STATUS
- Updated CAN API V3 testing to rev. 1373:
- GoogleTest framework v1.15.0
- Test suites for acceptance filtering
- Updated CAN API V3 utilities to rev. 1375:
- Filtering options (
can_moni
andcan_test
) - Option to send extended frames (
can_test
) - Fixed a bug with extended frames (
can_moni
)
- Filtering options (
- Updated the Python wrapper and examples
- Fixed an installation issue on Linux
Note: This release requires version 0.13 (or later) of the PCBUSB library to be installed.
Service Release of June 12, 2024
Major changes:
- Updated CAN API V3 sources to rev. 1312
- Updated CAN API V3 Xcode testing to rev. 1334
- Updated CAN API V3 GoogleTest testing to rev. 1336
- Removed upper size limit of string properties
- Reworked CAN API V3 return values (C vs. C++)
- Optimized PeakCANBasic wrapper (
can_api.c
) - Fixed a bug with compiler switch
__MAC_11_0
- Fixed some findings from static code analysis
- Moved the run-time loader into a separate file
- Integrated generic CAN API V3 Utilities (rev. 1323)
- Updated release documents
Service Release of April 26, 2024
Major changes:
- Added common
Version.h
to the project - Updated CAN API V3 sources to rev. 1270
- Updated CAN API V3 testing sources to rev. 1273
- Removed unused attributes from class
CPeakCAN
- Changed the resolution of
CTimer
to 64 bit - Added option
--list-bitrates
to the utilities - Updated
Makefile
s andbuild_no.sh
- Improved compiler and linker flags
- Updated the Python wrapper
- Updated the examples
- Updated the deployment rules
Service Release of November 7, 2023
Major changes:
- Updated PCBUSB header file (version 4.8.0)
- Updated CAN API V3 sources to rev. 1212
- Updated CAN API V3 testing sources to rev. 1219
- Updated the trial program
- Updated deployment rules
- Replaced deprecated
gettimeofday()
andusleep()
- Added linker option
-rpath /usr/local/lib
(issue #15)
Tested with PCBUSB-Library version 0.12.2
Service Release of September 21, 2023
Major changes:
- Updated CAN API V3 testing sources to rev. 1201
- Updated CAN API V3 sources to rev. 1187 and applied the changes
- Fixed a small bug in
btr_compare_bitrates
- Reworked formatting of message flags
- Fixed a small bug in
- Reworked handling of receive queue empty
- Fixed a possible string truncation
- Made the utilities more generic
- Updated the examples
- Linux support
Tested with PCBUSB-Library version 0.12.1
Service Release of August 25, 2023
Major changes:
- Updated
PCBUSB-Library
header (version 4.7.0.1) - Added a compatibility check from
PCAN_CHANNEL_VERSION
(v0.9 or higher) - Updated CAN API V3 sources to SVN rev. 1155 and apply the changes:
- Added old error code -40 as
queue overrun error
and renumbered errorerror frame received
from -40 to -19 - Removed unused error code
CANERR_ERR_FRAME
(note: the error code -19 is marked as reserved) - Removed flag
fdoe
andbrse
from structcan_speed_t
(note: the flags are marked as reserved) - Integrated reworked module
can_btr
:btr_check_bitrate
: if FDOE w/o BRSE then check data phase field acc.OPTION_CANBTR_DATA_FIELDS
btr_bitrate2speed
: no range checks anymore, calculation is done completely in floatbtr_bitrate2index
: returns the index if an index is givenbtr_bitrate2string
: no range checks anymore (exceptfrequency
greater than 0)btr_sja10002bitrate
: set data phase field acc.OPTION_CANBTR_DATA_FIELDS
btr_compare_bitrates
: comparision on basis of transmission rates (new function)- Removed flag
fdoe
andbrse
from structbtr_speed_t
(standalone variant) - Documented all interface functions by Doxygen comments
- Added header file
CANBTR_Defaults.h
- Reworked the bit-rate string scanner (
btr_string2bitrate
):- Return a flag if any data phase key is found
- Return a flag if no. samp. key is found
- Return
BTRERR_ILLPARA
on error - Removed the range checks
- Set miminum frequency to 1
- Check for duplicated keys
- Accept only case sensitive keys
- Reworked the bit-rate string printer (
btr_bitrate2string
):- Added a parameter to output data phase keys
- Added a parameter to output no. samp. key
- Added a parameter for maximum buffer size
- Fixed a bug with
strtol
if a correct value is outside the range of representable values (note:long
is 32 bit wide for MS compilers and 64 bit for gcc based compilers!)
- Added property values for transmit queue properties (note: values for filtering has been shifted by 8)
- Fixed a bug with saturation of CAN FD DLC conversion
- Updated description of compiler switches
- Added old error code -40 as
- Reworked status message and error frame handling (mode flag
err
and message flagsts
) - Synchronized the Utilities with PCBUSB-Utilities v0.5.7
- Fixed an issue with option
--verbose
- Fixed an issue with option
- Added CAN API V3 Tests with GoogleTest
- Updated CAN API V3 Xctest suites
- Updated the trial program
Tested with PCBUSB-Library version 0.12.1
Service Release of August 2, 2022
Major changes:
- Updated CAN API V3 sources to SVN rev. 1082
- Updated CAN API V3 Testing sources to SVN rev. 1084
- Fixed a bug with transceiver off in
can_reset
- Fixed a bug with BTR0BTR1 register in CAN FD mode
- Fixed a bug with mapping CAN FD bit-rate to Peak string
- Realized feature
NXTD
andNRTR
(software solution) - Updated class
CPeakCAN
(some property values) - Updated the trial program
- Updated the Python wrapper
- Updated the utilities
Tested with PCBUSB-Library version 0.11.2
Service Release of February 6, 2022
Major changes:
- Updated CAN API sources to rev. 1036
- Fixed a bug with property GET_DEVICE_TYPE (re-renamed property
GET_DEVICE_CHANNEL
intoGET_DEVICE_TYPE
to display the device type as specified instead of the channel no of the device) - Fixed a bug with reading property
GET_DEVICE_VENDOR
andGET_DEVICE_DLLNAME
(they can also be read without a handle) - Fixed a bug with message flag
sts
on reception - Added operations
GetFirstChannel
andGetNextChannel
to classCPeakCAN
to query channel information - Updated the utilities to get the list of channels from the library (like
can_boards[]
in C interface)
Service Release of January 5, 2022
Major changes:
- Updated CAN API sources to rev. 1020 and applied the changes
- Renamed C interface function
can_software
incan_firmware
- Reworked output of function
can_hardware
andcan_firmware
- Added a check for minimum required PCBUSB library version (v0.9 and above)
- Fixed an issue with missing copy constructor (to avoid dynamic allocation of class members)
- Fixed a bug with uncleared initialization flag when all handles have been released
- Fixed a bug with vendor-specific property values
- Fixed a bug with enumeration of PCAN channels
- Activated option for PCBUSB issue 198 (old messages in URB of the reception queue)
- Added an Xctest target for CAN API V3 C interface to the trial program:
- workaround to run the test suites with
PCBUSB.dylib
in Xcode - workaround for PCANBasic init delay issue and PCBUSB flag QXMTFULL issue
- workaround to run the test suites with
- Set all Xcode deployment targets to macOS 11.0 (
Makefile
s still work on OS X 10.13) - Updated the
Makefile
s to build the artifacts as Universal macOS Binary
Service Release of June 8, 2021
Major changes:
- Added a check for valid identifier range in
can_write
- Added a check for valid messages flags in
can_write
- Added a check for operation capability in
can_init
- Added a check for operation mode bit
FDOE
when bitBRSE
is set - Fixed a mistake with channel name displayed instead of device name
- Fixed a bug with casting from CAN API channel to PCAN handle
- Fixed an out-of-bound violation in companion module
can_btr
- Repaired the Python examples (they still not work with Python 2.7)
- Switched to a dual-license: BSD-2-Clause OR GPL-3.0-or-later