Open
Conversation
* Using cmake target export * CPack configuration * Updated doxygen-awesome-css to v2.3.1 * Fixed wrong project title. Whoops. * Removed "lib" prefix from project name, as CMake adds this automatically * Updated maintainer information * Updated README * Added lib prefix to cpack package name * Updated gitignore * Added new "docs" target for HTML Doxygen generation * Updated CPack config to generate .debs, .rpms, etc. * Added new workflow --------- Co-authored-by: Simon Cahill <simon@simonc.eu>
* Fixed wrong documentation comments. Made strings ref-to-const. Removed useless const qualifier for return values. Fixed return type mismatches. Added in-class-initialisers. * Static integers are now constexpr * Fixed bug where wrong queue size is returned. waitForMessages() now uses ioctl(FIONREAD) to return the size of the queue. * Fixed missing lib prefix. Thanks to @sikmir!
* Refactored CanId type to be constexpr and utilise templates. Removed unnecessary checks from constructor. Switched to bitmasks instead of std::bitset. Changed type `uint32_t`to `canid_t` where applicable. Added more operator overloads. * Restructured test directory * Updated gitignore * Added GTest unit tests for CanId type. * Bumped up version * Re-added ability to generate static library. * Sources and headers are now added to test libraries if required. * Added runner for tests * Added CMakeLists for test directory. * Updated test generators. * Updated runners. * Added missing gtest dependency * Trying to fix dependencies * Trying to get GTest to install... * Disabled compiler warning because of unknown pragmas * Disabled same compiler warning in unit tests
* Updated .gitignore; now ignores all build dirs. * Updated version and updated test build * Added fix and improvements from setCanFilterMask #19 * Added hasher for CanId for unordered_map
…value) (#22) * CMake now dynmically sets required language standard. * Added instructions on how to maintain C++11-compat * Added support for concepts * CanId now supports initialisation with string values (hex only) --------- Co-authored-by: Simon Cahill <s.cahill@procyon-systems.de>
…#23) * Bumped up version * Fixed test build * Added specialisations/overloads for more duration types; namely microseconds and nanoseconds. Nanoseconds are converted to microseconds (because of the way Linux handles timeouts in select()). Also added option to filter out error messages. * No compiler should nag about unknown pragmas * Added getter for CAN interface * Updated README --------- Co-authored-by: Simon Cahill <s.cahill@procyon-systems.de>
* Potentially fixed a timeout bug * Potentially fixed a timeout bug * Bumped up version --------- Co-authored-by: Simon Cahill <s.cahill@procyon-systems.de>
* Added option to join CAN filters on socket level. * Bumped up version * Fixed bug which invalidated the CAN_INV_FILTER flag. * Added more bitwise assignment operators. * Removed accidental member * Began adding support for CAN XL, CAN FD and some other CAN options. * Updated copyright * CanXL can only be enabled, if certain flags are available. --------- Co-authored-by: Simon Cahill <s.cahill@procyon-systems.de>
* Added support for default constructors in CanMessage. Destructor is now marked as default. * Updated version, added project description and homepage URL.
* Refactored CanMessage class. * Bumped up version * Experimenting with gen-AI for README generation. * Refactored CanId struct. Fixed borked include guard. Fixed assignment. * Refactored CanMessage. Includes timestamps per message. Added static assert for can_frame. Added helper functions for ID validation. Added span and string_view for your data viewing pleasure. CanMessage is now CanMessageT, a template class. An alias has been added for backward-compat. * Refactored CanDriver class. All member variables are now prefixed with `m_` instead of just `_`. m_canProtocol is now default initialised. Removed extra slashes from Doxy comments. Added function to enable telemetry data (timestamps). These are currently implemented as an `ioctl`. Perhaps I'll implement them as cmsgs. Queues are now passed by value. * Added missing reference operator. * Reverted back change where message queue were passed by value. * Fixed error caused by Copilot's stupid auto-insertion BS. * Added some tests for the CanMessage type. * Apparently I completely misunderstood the way std::span works and have refactored the class. * Fixed test execution. * Added new GitHub workflows to run builds, packs and tests without concept support (C++11) * Restored compatibility with C++11. * Renamed GitHub workflows to better distinguish them from the C++20 counterparts. * Update src/CanDriver.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/CanDriver.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/CanDriver.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fixed preprocessor condition where `formatString` was falsely used when `std::format` is available. C&P error. * Removed `isValid` check entirely. I need to check what Copilot does more carefully. * If telemetry collection is enabled, it is now also collected when reading multiple messages * Added C++11 support for std::<optional> * Added support for relative timestamps * Fixed stupid bug found by LLVM on an embedded platform * Experimenting with linker settings; clang doesn't like having in its compiler flags * Added CodeQL check --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Added support for error detection * Update include/EnumCheck.hpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update test/unit/src/CanMessage_ErrorFrameTests.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Removed file which shouldn't have been committed. * Added missing end of message handling * Fixed brainfart in unit test * Bumped up vesion to 1.7.0 * Fixed formatting * Updated documentation in README with examples. * Added overrides for `<<` operator for output streams. * Made Copilot happy * Changed wrong constant * Fixed stupid bug --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Some toolchains/distros apparently don't include CAN_ERR_CNT as a #define * Fixed build on LLVM. * Added cstdint header. Not including this seems to break some applications using the library. * Update include/CanId.hpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Updated version --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Removed ignored qualifiers from function definitions * Bumped up version * Added cppcheck workflow * Fixed cppcheck warnings * Renamed workflow * Added more cppcheck options * Potential fix for code scanning alert no. 8: Workflow does not contain permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Update src/CanDriver.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/workflows/cmake_cppcheck.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* 1.export can_errors headers; 2.add lib prefix in install cmd to match cmake/libsockcanppConfig.cmake * Bumped up version --------- Co-authored-by: Shaochang TAN <tans@zhaw.ch> Co-authored-by: Simon Cahill <s.cahill@procyon-systems.de>
…en (#41) * Initial plan * Fix compilation error on Linux kernels < 5.11 by using can_dlc instead of len Co-authored-by: SimonCahill <3124521+SimonCahill@users.noreply.github.com> * Complete fix for can_frame compatibility issue Co-authored-by: SimonCahill <3124521+SimonCahill@users.noreply.github.com> * Add CodeQL build artifacts to .gitignore Co-authored-by: SimonCahill <3124521+SimonCahill@users.noreply.github.com> * Added new GH workflows to test multiple distributions (and versions) * Hopefully fixed Debian package update issue. * Removed .10 Ubuntu versions * Added persissions; removed arch build. I'm not running anything from AUR. * One last attempt to build for old Debian * Manual CMake install * Remove extra trust * Added wget to list of Debian packages to install * Added conditional header include if bitcast is supported. * Added missing wget to Debian package * Removed more arch * Fucking Docker. * Attempting to fix Ubuntu repos * I hate YAML. * Added missing package dependency for Debian * Fixed weird issue with containerised cpack? * Added missing dnf packages * 18.04 fails to checkout * Corrected Fedora RPM build? * Removed 18.04; disabled deb repo stuff * I don't know which versions use old-release and which use archive. I'm very glad when this whole thing is squashed down and nobody sees my incompetence. * I think I now have the repos correct * Wrong file * 19/20.04 are in archive.ubuntu * Ubuntu now downloads the correct cmake version * 22.04 is also archived * Fixed weirdness caused by containers when calling cpack * Hopefully fixed it now. I hate distro management. * Added missing RPM package * Bumped up version --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: SimonCahill <3124521+SimonCahill@users.noreply.github.com> Co-authored-by: Simon Cahill <s.cahill@procyon-systems.de>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi there,
I recently saw you forked my repo into your project.
As it's fairly far behind (20 commits as of this PR), I thought I'd send a quick PR so you can merge the latest features and fixes.
Thanks!