- This page is draft and needs to be imrpoved.
- Majority of users should not need informations at this page
- This page is aimed to implementators and developers who would like to implement own camera control software for their users
- By default ENTIRE uses MAV_COMP_ID_CAMERA6
- For highest geotagging accuracy ENTIRE needs:
- Working TIMESYNC protocol
- Receive SYSTEM_TIME packets at 1Hz
- Receive GPS_RAW_INT packets at 1-5Hz
- Receive GLOBAL_POSITION_INT packets at 50Hz
- Receive ATTITUDE packets at 10Hz
- Messages are also automatically requested by command long SET_MESSAGE_INTERVAL
- If SET_MESSAGE_INTERVAL protocol is supported by your FC firmware, ENTIRE will request all data automatically (Ardupilot)
MavLink camera control #
Entire and therfore camera can be controlled via MavLink commands (API).
With lower descibed commands can any part of the drone system control exposure or geotagging via the Entire as bridge.
Next commands must be wrapped to COMMAND_LONG packet in format:
Command, p1, p2, p3, p4, p5, p6, p7
Trigger Photo
MAV_CMD_DO_DIGICAM_CONTROL, 0, 0, 0, 0, 1, 0, 0
Trigger video
MAV_CMD_DO_DIGICAM_CONFIGURE, 106, 0, 0, 0, 0, 0, 0
Trigger Play
MAV_CMD_DO_DIGICAM_CONFIGURE, 116, 0, 0, 0, 0, 0, 0
Trigger MENU
MAV_CMD_DO_DIGICAM_CONFIGURE, 105, 0, 0, 0, 0, 0, 0
Trigger UP
MAV_CMD_DO_DIGICAM_CONFIGURE, 102, 0, 0, 0, 0, 0, 0
Trigger Down
MAV_CMD_DO_DIGICAM_CONFIGURE, 103, 0, 0, 0, 0, 0, 0
Trigger Left
MAV_CMD_DO_DIGICAM_CONFIGURE, 100, 0, 0, 0, 0, 0, 0
Trigger Right
MAV_CMD_DO_DIGICAM_CONFIGURE, 101, 0, 0, 0, 0, 0, 0
Trigger OK
MAV_CMD_DO_DIGICAM_CONFIGURE, 104, 0, 0, 0, 0, 0, 0
Trigger Display
MAV_CMD_DO_DIGICAM_CONFIGURE, 134, 0, 0, 0, 0, 0, 0
Trigger POWER
MAV_CMD_DO_DIGICAM_CONFIGURE, 1004, 0, 0, 0, 0, 0, 0
Trigger AF
MAV_CMD_DO_DIGICAM_CONFIGURE, 135, 0, 0, 0, 0, 0, 0
Trigger C1
MAV_CMD_DO_DIGICAM_CONFIGURE, 1001, 0, 0, 0, 0, 0, 0
Trigger C2
MAV_CMD_DO_DIGICAM_CONFIGURE, 1002, 0, 0, 0, 0, 0, 0
Trigger C3
MAV_CMD_DO_DIGICAM_CONFIGURE, 1003, 0, 0, 0, 0, 0, 0
Trigger SOFTKEY_A
MAV_CMD_DO_DIGICAM_CONFIGURE, 124, 0, 0, 0, 0, 0, 0
Trigger SOFTKEY_B
MAV_CMD_DO_DIGICAM_CONFIGURE, 125, 0, 0, 0, 0, 0, 0
Trigger SOFTKEY_C
MAV_CMD_DO_DIGICAM_CONFIGURE, 126, 0, 0, 0, 0, 0, 0
Trigger SOFTKEY_D
MAV_CMD_DO_DIGICAM_CONFIGURE, 127, 0, 0, 0, 0, 0, 0
Trigger SOFTKEY_1
MAV_CMD_DO_DIGICAM_CONFIGURE, 128, 0, 0, 0, 0, 0, 0
Trigger SOFTKEY_2
MAV_CMD_DO_DIGICAM_CONFIGURE, 129, 0, 0, 0, 0, 0, 0
Trigger SOFTKEY_3
MAV_CMD_DO_DIGICAM_CONFIGURE, 130, 0, 0, 0, 0, 0, 0
Trigger SOFTKEY_4
MAV_CMD_DO_DIGICAM_CONFIGURE, 131, 0, 0, 0, 0, 0, 0
Trigger MF UP
MAV_CMD_DO_DIGICAM_CONFIGURE, 113, 0, 0, 0, 0, 0, 0
Trigger MF Down
MAV_CMD_DO_DIGICAM_CONFIGURE, 114, 0, 0, 0, 0, 0, 0
Trigger WB UP
MAV_CMD_DO_DIGICAM_CONFIGURE, 109, 0, 0, 0, 0, 0, 0
Trigger Down
MAV_CMD_DO_DIGICAM_CONFIGURE, 110, 0, 0, 0, 0, 0, 0
Trigger Speed up
MAV_CMD_DO_DIGICAM_CONFIGURE, 0, 0, 0, 101, 0, 0, 0
Trigger Speed down
MAV_CMD_DO_DIGICAM_CONFIGURE, 0, 0, 0, 99, 0, 0, 0
Trigger Aperture UP
MAV_CMD_DO_DIGICAM_CONFIGURE, 0, 101, 0, 0, 0, 0, 0
Trigger Aperture Down
MAV_CMD_DO_DIGICAM_CONFIGURE, 0, 99, 0, 0, 0, 0, 0
Trigger ISO up
MAV_CMD_DO_DIGICAM_CONFIGURE, 0, 0, 101, 0, 0, 0, 0
Trigger ISO Down
MAV_CMD_DO_DIGICAM_CONFIGURE, 0, 0, 99, 0, 0, 0, 0
Trigger EXP corr UP
MAV_CMD_DO_DIGICAM_CONFIGURE, 122, 0, 0, 0, 0, 0, 0
Trigger EXP corr Down
MAV_CMD_DO_DIGICAM_CONFIGURE, 123, 0, 0, 0, 0, 0, 0
Trigger Zoom up
MAV_CMD_DO_DIGICAM_CONTROL, 0, 101, 0, 0, 0, 0, 0
Trigger Zoom Down
MAV_CMD_DO_DIGICAM_CONTROL, 0, 99, 0, 0, 0, 0, 0
Trigger Focus UP
MAV_CMD_DO_DIGICAM_CONFIGURE, 111, 0, 0, 0, 0, 0, 0
Trigger Focus Down
MAV_CMD_DO_DIGICAM_CONFIGURE, 112, 0, 0, 0, 0, 0, 0
Start geotagging
MAV_CMD_DO_DIGICAM_CONFIGURE, 132, 0, 0, 0, 0, 0, 0
Stop geotagging
MAV_CMD_DO_DIGICAM_CONFIGURE, 133, 0, 0, 0, 0, 0, 0
******************************************
Text Commands – all can be discovered at Entire’s web GUI which is all based on these commands.
******************************************
Text commands are sent (wraped up) as COMMAND_LONG with command type DO_DIGICAM_CONTROL. Param1 – is everytime set to 9999 (first four bytes) as sign of “text command”, next bytes are not filled as floats, but as bytes (chars) containing text string ended by dot “.”. Commands are case sensitive. MavLink officially does not include any routines to pack text data to Command Long. You will have to “create” your Command Long packet by your own.
******************************************
Text packet is generated as Command Long:
Send Text command
MAV_CMD_DO_DIGICAM_CONTROL, 9999, cmd_par_txt
******************************************
—–Set control mode:—–
USB
“cm-u.”
LAN
“cm-L.”
Marshall
“cm-M.”
WiFi
“cm-w.”
Bluetooth
“cm-b.”
RED
“cm-R.”
SBUS out
“cm-S.”
iXlink
“cm-i.”
LANC
“cm-l.”
WAVE
“cm-W.”
—–Set XMP tagging:—–
“xmp-1.”
“xmp-0.”
—–Set EXIF tagging:—–
“log-c.”
“log-s.”
“log-n.”
MavLink TUNNEL packet commanding #
TUNNEL packets are used as alternative to TEXT commands via COMMAND_LONG packets which is not programmer friendly.
TUNNEL packets are used to deliver command string (in ASCII format) to the ENTIRE from any place of control environment.
Currently we do not have any open list of available commands, however all can be accessed via ENTIRE’s web page, using html code inspector at button / handle of the feature you are interested in. Commands are usually included in “onclick” event handler as “dev_cmd() function call. “dev_cmd()” has multiple parameters, first is command, next is param ‘a’, than ‘b’ and so on. At the screenshot you can see command to enable/disable UTC time geotagging. Valid command for TUNNEL is {‘a’, ‘T’, 0x0A, ‘1’,0} to set it enabled, {‘a’, ‘T’, 0x0A, ‘0’,0} to set it disabled.
—- TUNNEL packet parameters —-
- payload_type: 0x0xFF84
- target_component: ENTIRE’s MavLink ID configured via ENTIRE’s MENU. By default MAV_COMP_ID_CAMERA6
- payload_length: length of the string including NULL ending
—- TUNNEL packet payload—-
Payload contains command the same as for TEXT commands, however dash character is replaced by newline feed “0x0A”.
Payload string must be ended by a NULL – 0x00.
Payload first “line” contains a command 9for example “cm” as control mode, or “log” to configure geotagging mode.
Next line is first parameter, for example ‘u’ to set USB control, or ‘w’ to set WiFi mode.
If specific command uses more parameters, next lines may contain b, c, d parameters.
—- TUNNEL command example —-
For example, if you would like to trigger photo, you have to use command exfnc-1. Which means exec function number 1, , where function one is trigger photo.
Payload of the TUNNEL packets than must contain:
{101,120,102,110,99,10,49,0}
MavLink Entire status packets #
Entire sends also status packets depending on the state of the camera / geotagging. Those packets are generated on predefined interval or as soon as some change happened.
******************************************
Entire sends:
-Heart beat
-Data64
-Data16
******************************************
—- packet Data64 structure —-
byte 0 – 0xAC -> sign of Entire generated packet
byte 1 – 0xA0 -> Status packet type
byte 2:
bit 0 – camera connected status
bit 1 – WiFi active status
bit 3 – WiFi connection status
byte 3 – USB mode
byte 4 – Geotagging mode
byte 5 – Geotagging session status
byte 6 – Geotagging autotrigger status
byte 7 – Camera features
byte 8:
bit 0 Gremsy tuning status
bit 1 Gremsy control status
byte 9 – UNIA status
byte 10 – UNIB status
byte 11 – UNIC status
byte 12 – UNI1 status
byte 13 – UNI2 status
byte 14 – UNI3 status
byte 15 – UNI4 status
byte 16 – MavLink GPS speed
byte 17 – MavLink ATTI speed
byte 18 – ERB GPS speed
byte 19 – NMEA GPS speed
byte 20 – gimbal ATTI speed
byte 21 – focus distance Lbyte //only PhaseOne industrial
byte 22 – focus distance Hbyte //only PhaseOne industrial
—- packet Data16 structure —-
byte 0 – 0xAC -> sign of Entire generated packet
byte 1 – 0xA9 -> Geotagging status packet
byte 2 – Logging session status
byte 3 – Geotagging progress
byte 4 – Detected photos in session Lbyte
byte 5 – Detected photos in session Hbyte
byte 6 – Current LightWare measured distance Lbyte
byte 7 – Current LightWare measured distance Hbyte
UNI port pinout #
All AIR Commander family devices shares the same pinout of UNI ports or other labeled 4pin JST SH connectors.
Pinout: