I am working on a project where I need to interface with a Runcam Split 4 using its UART protocol.

You can find the protocol documentation here

I am able to get info about the device features through the 0x00 command. However, I am not able to control the camera's recording through RCDEVICE_PROTOCOL_CHANGE_START_RECORDING and RCDEVICE_PROTOCOL_CHANGE_STOP_RECORDING. However, I noticed that RCDEVICE_PROTOCOL_SIMULATE_POWER_BTN is able to toggle the camera recording. This seems to be a firmware error, and it was also accounted for in the Ardupilot code.

The documentation is also very vague on things like CHANGE_MODE and does not explain what that command does.

What I am trying to do is read from the UART protocol to determine if the camera is currently recording, but in the documentation, there doesn't seem to be any way to do that. I originally thought I could just repeatedly send the start record signal to ensure that the camera is recording, but that doesn't seem to be an option. How can I read the recording status so that I can start the camera's recording if it isn't already doing it?

  • 1
    $\begingroup$ Hrm, curious. The documentation page you linked to doesn't seem to support such a feature. Seems to me like it's intended to just simulate the camera buttons and little more. $\endgroup$
    – ifconfig
    Dec 17, 2021 at 7:37
  • $\begingroup$ Yes, it doesn't say that it supports reading the recording status, but I am also trying to get the stop and start recording commands working reliably at minimum. I intend to run the camera without a person in the loop on a rocket, so it's important to be able to confirm whether the camera is recording, either by repeatedly calling the start record function, or explicitly reading that information from the camera. $\endgroup$ Dec 17, 2021 at 7:51
  • $\begingroup$ Hrm, yeah I understand what you mean. I know that Joe Barnard (on YouTube) uses the same kind of camera on his rockets, but I think he just has them configured to start recording on powerup. I'm not sure how he stops recording... might just be something braindead simple like doing it manually after the flight or letting it saturate the SD card? $\endgroup$
    – ifconfig
    Dec 17, 2021 at 7:54
  • $\begingroup$ Unfortunately, we cannot rely on the inbuilt LED on the camera's PCB because of design constraints not allowing the LED to be visible. This is why we need a different mechanism to determine if the cameras are recording, so that we can send a signal to the camera or inform the launch operators if the camera is not recording. $\endgroup$ Dec 17, 2021 at 8:07
  • $\begingroup$ "We can't rely on the LED". Well, can you pull it off the board, and fly-wire to those pins? It's a stupid workaround, but I'm pretty sure the LED blinks when recording. You can tie into this, and check if it's on, off, or blinking to determine the status of the camera $\endgroup$ Dec 21, 2021 at 13:32


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.