Hi,
I am trying to make the camera work in PHOTO mode and I am always getting a timeout - I just started using PX4 / MAVSDK, so I am sorry if my issue is actually really obvious. I am using typhoon_h480
make px4_sitl gazebo-classic_typhoon_h480
and then I am trying to run the following code in ipython
from mavsdk import System
from mavsdk.camera import Mode
import mavsdk
drone = System()
await drone.connect()
await drone.action.arm()
await drone.action.takeoff()
await drone.gimbal.take_control(mavsdk.gimbal.ControlMode.PRIMARY)
await drone.gimbal.set_mode(mavsdk.gimbal.GimbalMode.YAW_LOCK)
await drone.gimbal.set_pitch_and_yaw(-90, 0)
await drone.camera.set_mode(Mode.PHOTO)
The result is
CameraError Traceback (most recent call last)
Cell In[2], line 1
----> 1 await drone.camera.set_mode(Mode.PHOTO)
File ~/.local/lib/python3.10/site-packages/mavsdk/camera.py:2067, in Camera.set_mode(self, mode)
2064 result = self._extract_result(response)
2066 if result.result != CameraResult.Result.SUCCESS:
-> 2067 raise CameraError(result, "set_mode()", mode)
CameraError: TIMEOUT: 'Timeout'; origin: set_mode(); params: (<Mode.PHOTO: 1>,)
and if I check mavsdk_server I see
[04:06:04|Warn ] Received ack for not-existing command: 530! Ignoring... (mavlink_command_sender.cpp:283)
[04:06:05|Warn ] sending again after 0.501531 s, retries to do: 3 (530). (mavlink_command_sender.cpp:312)
[04:06:05|Warn ] Received ack for not-existing command: 530! Ignoring... (mavlink_command_sender.cpp:283)
[04:06:05|Warn ] sending again after 1.00608 s, retries to do: 2 (530). (mavlink_command_sender.cpp:312)
[04:06:05|Warn ] Received ack for not-existing command: 530! Ignoring... (mavlink_command_sender.cpp:283)
[04:06:06|Warn ] sending again after 1.51063 s, retries to do: 1 (530). (mavlink_command_sender.cpp:312)
[04:06:06|Warn ] Received ack for not-existing command: 530! Ignoring... (mavlink_command_sender.cpp:283)
[04:06:06|Error] Retrying failed (530) (mavlink_command_sender.cpp:339)
Regards,
Cristi