Releases: mac-can/PCBUSB-Wrapper
Releases · mac-can/PCBUSB-Wrapper
Release of February 28, 2025
Major changes:
- Updated CAN API V3 sources to rev. 1467
- Added an IPC interface (RocketCAN)
- Added an ASCII parser for CAN messages*
- Updated GoogleTest framework to v1.15.2
- Updated CAN API V3 testing to rev. 1478
- Integrated IPC interface (server and client)
- Updated CAN API V3 utilities to rev. 1481
- Added new utility
can_send(ASCII parser) - Added new utility
can_port(RocketCAN server) - Added new utility
can_simu(RocketCAN server w/o HW) - Optimized commandline argument handling
- Added new utility
- Updated Python wrapper to v0.3.2
- Updated C++ examples
- Created IPC examples
*) The syntax is taken from SocketCAN utility can-utils/cansend
Release of August 2, 2024
Major changes:
- Integrated changes from PCBUSB library version 0.13:
- Acceptance filtering by setting parameter:
PCAN_ACCEPTANCE_FILTER_11BITPCAN_ACCEPTANCE_FILTER_29BITPCAN_MESSAGE_FILTERPCAN_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_moniandcan_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.hto 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
CTimerto 64 bit - Added option
--list-bitratesto the utilities - Updated
Makefiles 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-Libraryheader (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 errorand renumbered errorerror frame receivedfrom -40 to -19 - Removed unused error code
CANERR_ERR_FRAME(note: the error code -19 is marked as reserved) - Removed flag
fdoeandbrsefrom 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_FIELDSbtr_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 (exceptfrequencygreater than 0)btr_sja10002bitrate: set data phase field acc.OPTION_CANBTR_DATA_FIELDSbtr_compare_bitrates: comparision on basis of transmission rates (new function)- Removed flag
fdoeandbrsefrom 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_ILLPARAon 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
strtolif a correct value is outside the range of representable values (note:longis 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
errand 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
NXTDandNRTR(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_CHANNELintoGET_DEVICE_TYPEto display the device type as specified instead of the channel no of the device) - Fixed a bug with reading property
GET_DEVICE_VENDORandGET_DEVICE_DLLNAME(they can also be read without a handle) - Fixed a bug with message flag
stson reception - Added operations
GetFirstChannelandGetNextChannelto classCPeakCANto 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_softwareincan_firmware - Reworked output of function
can_hardwareandcan_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.dylibin 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 (
Makefiles still work on OS X 10.13) - Updated the
Makefiles to build the artifacts as Universal macOS Binary