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.
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
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
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