CAM versus TRIG messages in wiki - reversed?

I’m setting up a camera with a hot shoe.

When I used the Mission Planner geotag utility before - without a hot shoe - I seem tor recall that it was using CAM messages from the log.

Maybe I have that wrong.

The wiki says that the default message for camera shutter events is a TRIG message. And it says that CAM messages are recorded when a hot shoe signal is detected.

It’s quite possible that I simply misunderstood all this when I was working through it over a year ago.

But if my memory is correct - does the wiki perhaps have the function of TRIG and CAM reversed?

You can evaluate it enabling your LOG_DISARMED parameter and sending some camera commands with the camera feedback connected, and then disconnected and analyzing the log.

It was a long long time ago the last time I used a camera with drones, but from what I remember, the wiki was correct, despite of the log messages convention not being much easy to remember.

1 Like

I conducted the test as you suggested today.

It appears that CAM messages are logged with or without the hot-shoe active.

When you do the Mission Planner geo-tag process with a BIN file where the hot-shoe was used, the “pre-process” step where the number of messages and images are compared says that CAM messages have been applied to the images.

At this point, nothing has been added to the EXIF on the images, but supporting files such as the location.csv file get created - with location data.

When doing the final step of applying the geotags, the new “geo-tagged” directory is created, and the GPS location is saved in the EXIF files of those images.

What I can’t tell is if both CAM and TRIG messages are recorded. The GPS location stored in the location.csv file is likely the TRIG captured locations - as it would be more accurate.

Lots of tricky little details to sort out.

Open your logs at and check it out.

1 Like

Good idea - thanks!

I’ll do that today.

1 Like

For some reason isn’t cooperating for me. It did display some messages once - not sure why that one time worked.

The messages however are the same ones displayed by MavExplorer - which doesn’t include CAM (or TRIG) messages.

I suspect both CAM and TRIG messages are captured when using a hot-shoe input. The reason I suspect that is because when you Trigger Message, and Pre-process - the output shows CAM messages are used.

In this pre-processing, Mission Planner makes the supporting files - but does not create the directory of the geo-tagged image files.

The file location.csv does have the geotag data in it - I can only guess it’s using data from CAM messages.

Once you do the GeoTag Images function, the new directory is created with the geotagged version of the image files.

Once I actually fly a real test mission, I should be able to see if there is a difference between the CAM and TRIG geotags by comparing the gps locations in the location.csv file and the gps location in the EXIF of the geotagged images.

I know this is all more than you may be interested in - but I’ve included it here for the benefit of others that might be doing a search on this topic.

1 Like

May I know if the altitude you get is AMSL or relative to the ground?
Is it similar to DJI XMP metadata?

May I know which camera are you using and the hardware interface used with the Ardupilot, if any?

The DJI XMP metadata you reference is all data that DJI stores in the EXIF if evert image captured by the camera. DJI stores much more data in the EXIF of each photo than is available from ArduPilot.

On ArduPilot drones, data can be stored on the photo EXIF in several ways. I use what I believe is the simplest method.

I use the Mission Planner geotag utility. This utility takes the geotag data from the DataFlash BIN file, and stores it on all the image files in a specified directory.

There are several options. One option is which altitude to use - ASEL or GPS. The ASEL is the altitude detected by the flight controller’s barometer. GPS is the altitude reported from the GPS.

I find that when not flying RTK, the ASEL altitude is the most accurate. However when flying RTK, the GPS altitude is more accurate.

When I posted this thread, I had a misunderstanding about how CAM ant TRIG messages worked on ArduPilot. I hope I clarified my mistake. Just in case - here’s how I learned that it works:

a) When using a hot-shoe, a “TRIG” message will be stored every time the flight controller commands a photo to be taken. A “CAM” message will be stored every time the flight controller receives a hot-shoe signal - indicating that the shutter was released. If the camera fails to take the picture, the “TRIG” message is recorded, but no “CAM” message is recorded.

b) When not using a hot-shoe, only “CAM” messages are stored. There are no “TRIG” messages. Without the hot-shoe input, a “CAM” message is stored every time the flight controller commands a photo to be taken. If the camera fails to take the picture, the “CAM” message is still stored.

Regarding my camera. I use a Foxtech Map-02 - which is a super lightweight version of the Sony a5100 camera.

I have written several technical articles about my camera and photo survey setup. You can find a list of my articles here: Technical Articles | Copter Cam Tech

1 Like