Creating applications with SimplyCAN
Hello !
I recently purchased a SimplyCAN.
I am trying to create an application to control DJI's RS3 pro via CAN using SimplyCAN.
I am having trouble because of my lack of knowledge about the CAN protocol.
The following figure summarizes my findings.
Table 1 shows the specifications of CAN data format described in DJI's SDK.
Also, “AA 1A 00...” is a sample code from DJI, and it says that Gimbal will move to a certain position when this code is sent. By comparing the sample codes with the specifications, I understand what each sample code means.
The problem I am having is that SimplyCAN sends messages in 8 bytes, so I think I need to split the message to send this sample code.
How can I divide the message and send it?
Thank you in advance.
-
Official comment
Dear TT,
- In simple words a CAN message has an 11-bit (or 29-bit ) identifier, 6 bit control field, 8 data bytes and 15 bit CRC filed.
Unfortunately the protocol description in your table does not correspond to a CAN message.
- According to the description on the webpage the DJI RS 3 Pro does not have any CAN bus connectors: https://www.dji.com/de/rs-3-pro/specs
Please ask for the technical support the DJI manufacturer directly.
- Maybe you can enhance the USBCAN_SDK project for the support of the SimplyCAN?
Then the DJIR_SDK should make possible the connection to the DJI RS 3 pro.
App-------DJIR_SDK-------USBCAN_SDK-------SimplyCAN-------DJI RS 3 Pro
(1*) (2*)
1* : https://github.com/ConstantRobotics/DJIR_SDK/blob/master/src/DJIR_SDK.cpp
2* : https://github.com/ConstantRobotics/USBCAN_SDK
https://github.com/ConstantRobotics/DJIR_SDK/blob/master/%40Docs/DJI_R_SDK_Protocol_and_User_Interface_EN.pdf
Best regards
Andreas - In simple words a CAN message has an 11-bit (or 29-bit ) identifier, 6 bit control field, 8 data bytes and 15 bit CRC filed.
Please sign in to leave a comment.
Comments
1 comment