Release Notes
*************
This is the release notes for the pycanlib module.
Contents
^^^^^^^^
* Release Notes
* New Features and Fixed Problems in V1.7.741 (16-SEP-2018)
* New Features and Fixed Problems in V1.6.615 (13-MAY-2018)
* New Features and Fixed Problems in V1.5.525 (12-FEB-2018)
* New Features and Fixed Problems in V1.4.373 (13-SEP-2017)
* New Features and Fixed Problems in V1.3.242 (05-MAY-2017)
* New Features and Fixed Problems in V1.2.163 (15-FEB-2017)
* New Features and Fixed Problems in V1.1.23 (28-SEP-2016)
* New Features and Fixed Problems in V1.0.10 (15-SEP-2016)
New Features and Fixed Problems in V1.7.741 (16-SEP-2018)
==========================================================
* "canlib.kvmlib": - Added "canlib.kvmlib.event_count_estimation" -
Added "canlib.kvmlib.kme"
Previous kvmlib.kmeXXX functions are now deprecated.
* "canlib.canlib": - Added "canlib.canlib.ScriptStatus" - Added
enums to "canlib.canlib.ChannelCap" - Fixed
"canlib.canlib.canWriteSync"
* "canlib.kvlclib": - Added API to access information about reader
formats. - Added kvlclib.Property to replace old
PROPERTY_XXX constants which are now deprecated.
* Added kvlclib.reader_formats and kvlclib.writer_formats to
replace now deprecated kvlclib.WriterFormat.getFirstWriterFormat
and kvlclib.WriterFormat.getNextWriterFormat.
New Features and Fixed Problems in V1.6.615 (13-MAY-2018)
==========================================================
* Updated for CANlib SDK v5.23.
* Getting version numbers should now be done with "dllversion()",
which will return "canlib.BetaVersionNumber" if the dll is marked as
Beta. Also added "canlib.prodversion()" to return the CANlib product
version number.
* "canlib.device":
* New "canlib.device.Device" class (available as "canlib.Device")
that is a simpler version of kvDevice. "canlib.device.Device"
objects can be defined using an EAN and serial number, or a
connected device can be searched for using
"canlib.device.Device.find". These objects do not require the
device to stay connected, and can be used to later create most
other "canlib" objects, e.g. "canlib.canlib.Channel",
"canlib.kvmlib.Memorator", etc.
* New "canlib.device.connected_devices" which returns an iterator
of "canlib.device.Device" objects, one for each device currently
connected.
* "canlib.ean":
* "canlib.ean.EAN" objects can be tested for equality, both with
other "canlib.ean.EAN" objects and with strings.
* Added "CanNotFound" exception.
* "canlib.ean.EAN" objects can now be directly instantiated from
string, i.e. "ean = canlib.EAN(ean_string)" instead of "ean =
canlib.EAN.from_string(ean_string)".
* "canlib.ean.EAN" objects can be converted back into any of the
representations that can be used to create them. See the
documentation of "canlib.ean.EAN" for more info.
* "canlib.ean.EAN" objects can be indexed and iterated upon,
yielding the digits as "int"s.
* "canlib.canlib":
* "canlib.canlib.EnvVar" object raises "EnvvarNameError" when
given an illegal name, instead of "AssertionError".
* "canlib.canlib.openChannel" can now set the bitrate of the
channel opened.
* "canlib.canlib.Channel" objects automatically close their
handles when garbage collected
* "canlib.canlib.Channel" has new methods
"canlib.canlib.Channel.scriptRequestText" and
"canlib.canlib.Channel.scriptGetText" to get text printed with
"printf()" by a script. This text is returned as a
"canlib.canlib.ScriptText" object.
* "canlib.kvamemolibxml":
* A new, object oriented way of dealing with kvamemolibxml using
"canlib.kvamemolibxml.Configuration" objects.
* "canlib.kvmlib":
* Improved object model
* New "canlib.kvmlib.openDevice" function that returns a
"canlib.kvmlib.Memorator" object representing a connected
Memorator device. See the documentation of
"canlib.kvmlib.Memorator" for instructions on how to use this
new class to more easily interface with your Memorators.
* New "canlib.kvmlib.openKmf" function for opening .KMF files
that returns a "canlib.kvmlib.Kmf" object that is similar to
"canlib.kvmlib.Memorator". See the docstring of
"canlib.kvmlib.Kmf" for more information.
* "canlib.linlib":
* Getting version number with "canlib.linlib.dllversion" (requires
CANlib SDK v5.23 or newer).
* Explicit "canlib.linlib.Channel.close" function for forcing a
linlib channel’s internal handle to be closed.
* "canlib.canlib":
* Added support for accessing information within compiled t
program (.txe) files.
* Added wrapper function for "kvScriptTxeGetData".
* Added compiled t program (.txe) interface class
"canlib.canlib.Txe".
* "canlib.kvadblib":
* enums now returns non-empty dictionary in attribute definition
returned from "EnumDefinition.definition"
New Features and Fixed Problems in V1.5.525 (12-FEB-2018)
==========================================================
* Updated for CANlib SDK v5.22.
* Added support for LIN bus API (LINlib)
* Added support for Database API (kvaDbLib) Needs version v5.22 of
CANlib SDK to get supported dll.
Restructuring of code in order to make the API simpler and the code
base more maintainable have resulted in the following changes (old
style is deprecated, shown in details while running Python with the
-Wd argument):
* "canlib.kvMessage" has been renamed "canlib.Frame"
* "canlib.Frame" objects are now accepted and returned when
writing and reading channels.
* The new "canlib.kvadblib" module uses these "canlib.Frame"
objects heavily.
* "canlib.canlib":
* Added wrapper functions for "canReadStatus" and
"canRequestChipStatus"
* Deprecated use of "canlib.canlib.canlib()" objects; all methods
have been moved to the module.
* See the docstring of "canlib.canlib.CANLib" for more
information
* Simplified the names of the channel-classes (old names are
deprecated):
* The channel class is now "canlib.canlib.Channel", instead of
"canlib.canChannel".
* "canlib.canlib.ChannelData_Channel_Flags" is now
"canlib.canlib.ChannelFlags"
* "canlib.canlib.ChannelData_Channel_Flags_bits" is now
"canlib.canlib.ChannelFlagBits"
* "canlib.canlib.Channel" now uses "canlib.Frame" objects for
reading and writing.
* "canlib.Channel.read" now returns a "canlib.Frame" object
instead of a tuple. However, "canlib.Frame" objects are largely
compatible with tuples.
* "canlib.Channel.write" takes a single argument, a
"canlib.Frame" object. The previous call signature has been
taken over by "canlib.Channel.write_raw".
* Likewise for "canlib.Channel.writeWait" and its new friend
"canlib.Channel.writeWait_raw".
* The class "canlib.canlib.canVersion" has been removed, and
"canlib.canlib.getVersion" now returns a "canlib.VersionNumber".
The new class still supports conversion to string and accessing
".major" and ".minor" attributes.
* "canlib.kvmlib":
* Added wrapper functions for kvmKmeReadEvent.
* Corrected encoding for Python 3 in kmeOpenFile().
* Deprecated names for several classes to make them more logical
and more pythonic:
* "canlib.kvmlib.memoMsg" is now "canlib.kvmlib.LogEvent"
* "canlib.kvmlib.logMsg" is now "canlib.kvmlib.MessageEvent"
* "canlib.kvmlib.rtcMsg" is now "canlib.kvmlib.RTCEvent"
* "canlib.kvmlib.trigMsg" is now "canlib.kvmlib.TriggerEvent"
* "canlib.kvmlib.verMsg" is now "canlib.kvmlib.VersionEvent"
* The class "canlib.kvmlib.kvmVersion" has been r