SIYI A8 Follow/FPV mode and Zoom

I got two (minor) problems with the Siyi a8 camera implementation.

I am running 4.6.0 beta4 arducopter.

First issue is that I can not generate a switch over from normal mode to FPV mode (by activating Mount Roll/Pitch Lock).

I assigned Channel 15 for this, and set the option of Mount Roll/Pitch lock which appears as 185 in Mission Planner.

When I start the arducopter and try to activate the switch, I get a message “Invalid channel option (185)”

I assume that somewhere in the arducopter the correct number was somehow mixed up, but I can not see an easy way of finding which number corresponds to this option.

Second issue: the zoom, I assigned a pot to RC13, while I move it, I get messages RC13: Camera Zoom MIDDLE, LOW, HIGH, but the image really zooms from totally in to totally out, without any intermediate positions, and only when pot reaches the limits of its movement.

Option 185 is only available in the master (dev) branch. Option 163, per SIYI’s documentation, is probably the feature you wish to use.

Also, update to firmware 4.6.3 - your beta version is quite outdated.

Thanks a lot

Tried to implement it, 163 is yaw lock, and it works. However, what I am looking for is the pitch/roll lock.

It is virtually impossible to fly in acro mode without this lock, i.e. without the lock, the image is stabilized DJI style, so there is no visual indication about the inclination of the copter.

In mission planner there is both yaw lock, with value 163

and roll/pitch lock, with value 185.

But arducopter recognizes 163, but not 185.

Then you’ll need to update to the development branch (4.7-dev).

From Siyi manual, it should change the Motion with values 3, 4, and 5, with Pitch/Roll lock probably corresponding to Motion 5. and normal mode to Motion 3. I can modify these parameters through the Siyi setup application, but I have to have the option to change that during the flight.

Photo and Record CMD_ID:0x0C------Photo and Record Send data format No. Data Type Data Name Description uint8_t func_type

0: Take a picture

1: Switch on / off HDR (not supported yet)

2: Start / Stop Recording

3: Motion – Lock Mode

4: Motion – Follow Mode

5: Motion – FPV Mode

6: Set video output as HDMI (Only available on ZT6 and A8 mini, restart gimbal to take effect)

7: Set video output as CVBS (Only available on ZT6 and A8 mini, restart gimbal to take effect)

8: Turn off both HDMI and CVBS video output (Only available on ZT6 and A8 mini, restart gimbal to take effect

I updated to 4.6.3… So will try to find that 4.7 Dev. Hope it is not too much of a risk, though…

It is very close to a beta period, so reasonably low risk, though always some risk with the newest dev builds.

Just wonder, if I set Serial to 28 scripting using param:set, obtain Serial port:find_serial(0), then port:write to it a string which changes the motion mode and then set back Serial to 8 (gymbal), would it work? Would the gymbal communication coming from ardupilot resume normally or not?

This routine would be called once in a while when there is a change in the switch responsable for gymbal mode.

I do not want to take over all communications through Lua (lilke pointing) because of the complication of implementing CRC check sum, but the switching between Motion modes is easy as there are defined strings in Siyi a8 manual

Lock Mode 55 66 01 01 00 00 00 0c 03 57 fe

Follow Mode 55 66 01 01 00 00 00 0c 04 b0 8e

FPV Mode 55 66 01 01 00 00 00 0c 05 91 9e

No. You can’t change serial protocols without rebooting.