I'm trying to use the serial API to remotely control a CAME-TV 7800 gimbal via the CMD_CONTROL command in MODE_SPEED. The Values are seemingly transmitted correctly with the corresponding headers and checksums.
My problem is, that the value used for SPEED_YAW seems to be completely ignored. The motor works fine and can be controlled via analog stick. Commands with SPEED_ROLL and SPEED_PITCH causes movement along those axes as well, only yaw seems to be faulty. Even weirder is the fact that when I only transmit the value for yaw, it is instead the pitch that moves.
Are there any settings for the firmware I'm missing? The gimbal is set in a profile without yaw following.
If I understand the specification correctly, these bytes can be broken down as follows: 0x1 - MODE_SPEED 0x0 - 2 bytes SPEED_ROLL = 0 0x0 0x0 - 2 bytes SPEED_PITCH = 0 0x0 0xd8 - 2 bytes signed, little endian SPEED_YAW = 218 0x0
0x0 - six bytes with zero value, two for each ANGLE on the 3 axes
Even in this example, the only axis that moves is the pitch instead of the yaw.
In normal operation, the gimbal behaves without any issues. Does anyone see an error ?
For the future: the correct order of the bytes isn't SPEED_ROLL, SPEED_PITCH and then SPEED_YAW, followed by the 3 angles like I assumed, but instead SPEED_ROLL, ANGLE_ROLL, SPEED_PITCH, ANGLE_PITCH and so on. I simply had them ordered wrong, now it works like it should :)