Skip to content

SuperCAN v1.0.15

Compare
Choose a tag to compare
@jgressmann jgressmann released this 05 Apr 17:28

test harness

  • add tests to ensure test device time stamps aren't all zero

Windows

  • increase compiler warnings to level 4 for all projects
  • add troubleshooting guide document

DLL 0.5.0

bugfixes

  • fixes race condition in sc_can_stream_uninit

    The race condition occurred because sc_can_stream_uninit (and others)
    would cancel but not wait on the completion of pending I/O. There
    was a small window in which the I/O would complete after the buffer it
    was using had already been freed.

  • fixes various hangs related to device failure

features

  • adds sc_version to retrieve the library version

  • adds support for logging on library and on device level

  • adds support for external rx wait loop

    A user may want to wait on more than one handle in addition to
    the USB wait handle. Instead of letting the user pass in any number
    of handles, enable retrieval of the next USB wait handle.

    This way the user is in control, the library avoids handle copying
    and the library internal logic is much simpler.

    The API call is sc_can_stream_rx_next_wait_handle(stream, [out] handle)

  • adds optimized CAN stream processing function

    sc_can_stream_rx_process_signaled_wait_handle relies on the caller
    to check if the wait handle is in fact signaled.

See demo application for use.

COM server 0.6.0

bugfixes

  • CSuperCAN: add missing member initialization
  • ScDev:
    • fixes member initialization

    • fixes hang in RX thread:

      This change protects the server against a failed device. The server
      will now be able to shut down properly despite of the device
      malfunctioning.

    • make SetBus return an error on access failure

  • XSuperCAN: adds lock to protect singleton against concurrent access

features

  • interface (IDL) extensions (backward compatible)
    • adds interface ISuperCAN2 to support

      • retrieving the COM server version
      • setting COM server log level
    • adds interface ISuperCANDevice2 to add support setting the device log level

      Server / DLL level Log messages are delivered through OutputDebugString.
      Device level log messages are delivered through the ring buffer.

See demo application for use.

misc

  • Release builds: enable intrinsic functions

demo app 1.5.8

  • fixes error message

  • add support for logging

    Pass --debug-log-level INT to set the log level.

Note that the app will work with older COM servers, but not with older versions of the DLL.