Fix Timer to use a monotonic clock instead of system time. This ensures the Timer will correctly measure the elapsed time when the system time changes.
Use std::condition_variable::wait_until instead of wait_for to avoid the bug when wait_for uses system time.
Fix extended id not working with cloud.
Handle SIGTERM signal. Now when stopping the agent with systemctl or kill without additional args, it should gracefully shutdown.
Fix bug in canigen.py when signal offset is greater than zero.
Improvements:
Pass signalIDsToCollect to CANDecoder by reference. This was causing unnecessary allocations/deallocations, impacting the performance on high load.
Add binary distribution of executables and container images built using GitHub actions.
Add support for DBC files with the same signal name in different CAN messages to cloud demo script.
Improve CERT-CPP compliance.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Bugfixes:
Timer
to use a monotonic clock instead of system time. This ensures theTimer
will correctly measure the elapsed time when the system time changes.std::condition_variable::wait_until
instead ofwait_for
to avoid the bug whenwait_for
uses system time.SIGTERM
signal. Now when stopping the agent withsystemctl
orkill
without additional args, it should gracefully shutdown.Improvements:
signalIDsToCollect
toCANDecoder
by reference. This was causing unnecessary allocations/deallocations, impacting the performance on high load.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.