Skip to content

Releases: derek-will/SocketCANSharp

0.13.0

22 Feb 19:57
Compare
Choose a tag to compare
  • Added support for setting CAN Network Interface parameters via Netlink (#69)
  • Added support for setting Bitrates via CanNetworkInterface class (#97)
  • Added suppport for setting link up and down via CanNetworkInterface class (#100)
  • Added support for getting and setting CAN Controller Mode Flags via CanNetworkInterface class (#95)
  • Added CAN Controller State Property to CanNetworkInterface class (#103)
  • Added CAN Controller Auto-Restart Delay Property to CanNetworkInterface class (#94)
  • Added CAN Controller Restart Method to CanNetworkInterface class (#96)
  • Added TerminationResistance property to CanNetworkInterface class (#98)
  • Added setter to MTU property of CanNetworkInterface class (#104)
  • Modified GetAllInterfaces method of CanNetworkInterface class to use RTNETLINK under the hood (#107)
  • Refactored CreateCanIdWithFlags to use compound assignment (#112)
  • Fixed bug where ParseCanToCanRules would fail when more than one netlink message was present in the supplied buffer (#115)
  • Cleaned up NetlinkRoutingAttributeTests unit tests (#99)
  • Added unit test for GetAllInterfaces method of SocketCanUtils (#108)
  • Improved unit test of the CanNetworkInterface version of GetAllInterfaces (#109)
  • Updated project documentation (#101, #102, #105, #110, #113)

0.12.0

29 Nov 19:32
Compare
Choose a tag to compare
  • Added feature summary chart to README (#77)
  • Added functionality to RawCanSocket class to determine whether the read frame was a transmission success indication and/or localhost indication (#39)
  • Added initial CAN XL support (#50)
  • Added initial CAN XL VCID support (#81)
  • Added instructions for running SocketCAN# on Windows via the WSL (#80)
  • Added Iot.Device.SocketCan comparison documentation (#83)
  • Tested and confirmed Alpine Linux support (#76)
  • Added initial support for obtaining the timestamp of the latest packet passed to the user via SIOCGSTAMP and updated CAN bus sniffer example app to include timestamp info (#86)
  • Updated example apps to .NET 8 (#87)
  • Added CAN device setup script (#89)
  • Various minor improvements and fixes (#88, #90, #91)

0.11.0

04 Aug 02:08
Compare
Choose a tag to compare
  • Added CAN_GW Netlink socket support (#49, #75).
  • Added object-oriented implementation for accessing CAN_GW Netlink socket (#71).
  • Added CAN_GW example application (#70).
  • Updated README files to include reference to CAN_GW functionality (#72).
  • Updated CAN network interface support to include the following CAN FD attributes: IFLA_CAN_DATA_BITTIMING and IFLA_CAN_DATA_BITTIMING_CONST (#66).
  • Added test environment setup script (#67).
  • Added README file to Nuget Package (#68).

0.10.0

03 Feb 04:40
Compare
Choose a tag to compare
  • Added ability to retrieve CAN network interface information via Netlink (#26)
  • Added properties to CanNetworkInterface class for various interface properties (#61)
  • Updated sample projects and test suite to .NET 6 (#58)
  • Updated README to include reference to the CanNetlinkReader example application (#63)
  • Added MaximumTransmissionUnit property to CanNetworkInterface class (#64)
  • Overrode ToString method on core classes and structs (#46)
  • Added utility methods and classes for accessing standard basic information (#62)
  • Added J1939 bus sniffer sample appliication (#60)

0.9.0

17 Nov 02:50
Compare
Choose a tag to compare
  • Added BcmCanSocket class (#14)
  • Improved Unit Testing Suite (#53, #54, #55, #56, #57)
  • Added CAN_BCM examples to README (#52)
  • Added nuget package download count to README (#51)

0.8.0

21 Sep 01:53
Compare
Choose a tag to compare
  • Added support for recvmsg function along with the MSG_CONFIRM and MSG_DONTROUTE flags for indicating whether a CAN Frame is from the current socket or from a socket on the localhost (#20, #21).
  • Added J1939CanSocket class to enable object-oriented usage of the CAN_J1939 sockets (#13).
  • Added support for the CAN_ISOTP_CF_BROADCAST option flag for the non-standard feature of 1-to-N functionally addressed segmented transfers without using Flow Control (#37).
  • Added support for using CAN_BCM sockets within 32-bit processes (#45).
  • Harmonized the Timeval type to work in both 32-bit and 64-bit processes (#43).
  • Harmonized the EpollEvent struct to work in both 32-bit and 64-bit processes (#44).
  • Fixed issue with marshalling sockaddr_can (managed counterpart: SockAddrCan) on pre-5.4 kernels (#40).
  • Fixed issue with the detection of invalid epoll file descriptors on ARM64 (#47).
  • Updated README with J1939 Example Code (#42).
  • Updated README examples to include using statements around the SafeFileDescriptorHandle instances (#38).

0.7.0

28 Jul 01:58
Compare
Choose a tag to compare
  • Changed Target Framework form .NET 5 to .NET Standard 2.0 per official recommendations. As part of framework target change: removed usage of SafeSocketHandle in favor of SafeFileDescriptorHandle (#35).
  • Added support and associated unit tests for using MSG_PEEK and MSG_TRUNC message flags with recv function on ISO-TP sockets (#33, #36).
  • Added support for invoking getpeername function which is useful when working with J1939 sockets (#28).

0.6.0

16 May 00:12
Compare
Choose a tag to compare
  • Added check to verify that CAN IDs which exceed 0x7FF (11 bits) have the CAN_EFF_FLAG set on them (#31).
  • Updated ISO-TP unit test to also check for the new behavior when attempting to read from an unbound socket (#32).
  • Added support for getsockname in libc P/Invoke code (#27).
  • Added address property to both the RawCanSocket and IsoTpCanSocket classes (#29, #30).
  • Updated README to include example of RawCanSocket class (#34).

0.5.0

19 Apr 01:41
Compare
Choose a tag to compare
  • Added RawCanSocket class for high-level abstraction (#12).
  • Added ability to get MTU of a CanNetworkInterface and directly via SIOCGIFMTU ioctl call (#22).
  • Added ability for creating a CanNetworkInterface instance by name and index using SIOCGIFINDEX and SIOCGIFNAME ioctl calls (#24, #25).
  • General housecleaning (#23).

0.4.0

26 Mar 02:12
Compare
Choose a tag to compare
  • Added P/Invoke support for epoll API: epoll_create, epoll_ctl, epoll_wait (#1).
  • Added a higher level class for managing an epoll instance (#19).
  • Added shortcut for accessing errno (#18).
  • Fixed some minor documentation issues (#16, #17).
  • Added nuget package information to README (#15).