Hello, I’m a beginner to study about the Cyphal driver of PX4. I have a few questions, so I hope you can solve my questions.
- Is it correct that the data can be received only when the CAN identifier (like 0x01) provided by BMS and the UVCAN message ID match? I don’t know if it’s accurate because it’s information obtained using only chatpt.
- If you need to match, please let me know how you define the UAVCAN message ID. (Is 8165.NodeIDAllocationData.2.0.uavcan 8165 the message ID?)
- If the content number 2 is correct, is there a way to handle the message ID separately for uavcan messages without a message ID written in the name?
I’m immature because I lack an accurate concept, so I think it would be helpful if you could give me a detailed answer.
- No, the CAN ID cannot match because it is unique per node and may also change with priority. The subject-ID (aka topic-ID) has to match. CAN ID incorporates the subject-ID as follows:
It is assigned when the system is configured via configuration registers. See the documentation for the data type named
Yes, by changing the configuration registers.
You may find the demos relevant: GitHub - OpenCyphal-Garage/demos: Demo applications and reference implementations
So, according to you, the values of bits located in the Subject ID from the CAN ID of BMS are Subject-ID? (Here, CAN ID means a message in the existing “CAN” format, not a message in Cyphal format.)Then, when subscribing to the CAN ID, can I designate the bits located in the Subject-ID as the Port-ID?