It looks like the message rate is a broadcast rate and a feature of the CAN bus protocol, based on the following quote from a stack-exchange answer.
I am using the SocketCAN API with this https://www.seeedstudio.com/2-Channel-C ... -4072.html SeedStudio CAN bus Shield and the RaspberryPi 3B+.This is usually called the broadcast rate, how often you send that message on the bus, e.g. how fast a vehicle is moving should be sent fairly often, but the coolant temperature will not change very often, so can be sent far less frequently.
I was looking at what the Broadcast Manager does in the SocketCAN API. It seems to do what I am trying to do, except for a single (cyclic) message, where as I would like a subset of messages with different; each with new data,
I am wondering if there's a way to manage this in the SocketCAN API that I've overlooked?
Or is this something that's CPU and device specific? I.e. the clock frequency of the CPU will determine how fast messages are sent, assuming of course that messages are being sent on an independent thread in a loop.
Moreover, how do I calculate the message rate in a good deterministic way using C/C++?