Hi all! There are some questions on receiving the data packet QX287. 1.I would like to ask about the API documentation "7. Implement a custom callback send the packet to comm port function that will send the constructed message to the communication port, or intermediate buffer." Does it mean I need to set the values manually to send out the packets of QX277? Or there are some codes in C that I can implement to send the packets of QX277 with the Freefly code provided? 2. I looked into the wire definition of the QX287 and I could not find the representation of Gimbal RR, RX, RY, RZ. What are the bits inside represented? I knew that they are all 16-bit long integer but I want to know the specific meaning of each bit. 3. I found that the received packet changed a little bit comparing to the one which received one second before. And I checked that the packet that I sent was continuously the same. Is it normal to have some diversity owing to the noise to the system? 4. When I sent the QX277 packets to the MōVI Pro, I analyze the data in the packet and I found that there were some dummy data in the first few bits which were not stated in the API documentation. However, the MōVI Pro worked well with the programmer. Therefore, I would like to ask is whether it is normal to have some dummy variables before the 'Q' and 'X' headers appear or not. For your reference, I am neither using Arduino and STM32. I am using ICD 3 to compile the code. Will there be any difference in the coding among this two programming software? It would be my honor if you can solve these questions in my head! Thanks in advance!!
I recommend looking at the Arduino examples to see the most basic implementation of the API. That can help you understand your first question: https://docs.google.com/document/u/1/d/16L65isO7Ifh3iWyqnqK69DHKzTWpJYlfl-hDMx7ABkY/edit RR, RX, RY, RZ -> They represent a quaternion "Will there be any difference in the coding among this two programming software?" Any platform that can run C code and can output a serial can use the API. Once you setup the API and then make it generate a QX packet, its your responsibility to send it out as a serial command on your platform.
Also, need to look into updating the documentation. I received this message and didn't had a chance to look and verify yet. But sharing with you: "...It appears the API Doc is missing 2 bytes for both the QX277 and QX287 packets. I've taken this into account while developing the Java/C# APIs..."
Deniz: Does this mean that the data fields are off by two bytes from what is described in the documentation? Or are you saying that the message you says that there are just two bytes that have not been documented? Cheers Andy Forensic Software & sUAV / Drone Analyst : Photographer : Videographer : Pilot (Portland, Oregon, USA): Trees=2, Ground=1, Props=11. The Ground Is The Limit™ ---------- Forensic Drone Analyst : Forensic sUAV Analyst : Forensic Unmanned Aircraft Analyst : Forensic Drone Expert