Protobuf Documentation

Enums

EnumCOHNNetworkState

name value summary
COHN_STATE_Init 0
COHN_STATE_Error 1
COHN_STATE_Exit 2
COHN_STATE_Idle 5
COHN_STATE_NetworkConnected 27
COHN_STATE_NetworkDisconnected 28
COHN_STATE_ConnectingToNetwork 29
COHN_STATE_Invalid 30

EnumCOHNStatus

name value summary
COHN_UNPROVISIONED 0
COHN_PROVISIONED 1

EnumCameraControlStatus

name value summary
CAMERA_IDLE 0
CAMERA_CONTROL 1 Can only be set by camera, not by app or third party
CAMERA_EXTERNAL_CONTROL 2
CAMERA_COF_SETUP 3 Set by the camera when it is on the CAH (Camera As a Hub) / COF (Cloud Offload) setup screen

EnumFlatMode

name value summary
FLAT_MODE_UNKNOWN -1
FLAT_MODE_PLAYBACK 4
FLAT_MODE_SETUP 5
FLAT_MODE_VIDEO 12
FLAT_MODE_TIME_LAPSE_VIDEO 13
FLAT_MODE_LOOPING 15
FLAT_MODE_PHOTO_SINGLE 16
FLAT_MODE_PHOTO 17
FLAT_MODE_PHOTO_NIGHT 18
FLAT_MODE_PHOTO_BURST 19
FLAT_MODE_TIME_LAPSE_PHOTO 20
FLAT_MODE_NIGHT_LAPSE_PHOTO 21
FLAT_MODE_BROADCAST_RECORD 22
FLAT_MODE_BROADCAST_BROADCAST 23
FLAT_MODE_TIME_WARP_VIDEO 24
FLAT_MODE_LIVE_BURST 25
FLAT_MODE_NIGHT_LAPSE_VIDEO 26
FLAT_MODE_SLOMO 27
FLAT_MODE_IDLE 28
FLAT_MODE_VIDEO_STAR_TRAIL 29
FLAT_MODE_VIDEO_LIGHT_PAINTING 30
FLAT_MODE_VIDEO_LIGHT_TRAIL 31
FLAT_MODE_VIDEO_BURST_SLOMO 32

EnumLens

name value summary
LENS_WIDE 0
LENS_SUPERVIEW 3
LENS_LINEAR 4

EnumLiveStreamError

name value summary
LIVE_STREAM_ERROR_NONE 0 No error (success)
LIVE_STREAM_ERROR_NETWORK 1 General network error during the stream
LIVE_STREAM_ERROR_CREATESTREAM 2 Startup error: bad URL or valid with live stream server
LIVE_STREAM_ERROR_OUTOFMEMORY 3 Not enough memory on camera to complete task
LIVE_STREAM_ERROR_INPUTSTREAM 4 Failed to get stream from low level camera system
LIVE_STREAM_ERROR_INTERNET 5 No internet access detected on startup of streamer
LIVE_STREAM_ERROR_OSNETWORK 6 Error occured in linux networking stack. Usually means the server closed the connection
LIVE_STREAM_ERROR_SELECTEDNETWORKTIMEOUT 7 Timed out attemping to connect to the wifi network when attemping live stream
LIVE_STREAM_ERROR_SSL_HANDSHAKE 8 SSL handshake failed (commonly caused due to incorrect time / time zone)
LIVE_STREAM_ERROR_CAMERA_BLOCKED 9 Low level camera system rejected attempt to start live stream
LIVE_STREAM_ERROR_UNKNOWN 10 Unknown
LIVE_STREAM_ERROR_SD_CARD_FULL 40 Can not perform livestream because sd card is full
LIVE_STREAM_ERROR_SD_CARD_REMOVED 41 Livestream stopped because sd card was removed

EnumLiveStreamStatus

name value summary
LIVE_STREAM_STATE_IDLE 0 Initial status. Livestream has not yet been configured
LIVE_STREAM_STATE_CONFIG 1 Livestream is being configured
LIVE_STREAM_STATE_READY 2 Livestream has finished configuration and is ready to start streaming
LIVE_STREAM_STATE_STREAMING 3 Livestream is actively streaming
LIVE_STREAM_STATE_COMPLETE_STAY_ON 4 Live stream is exiting. No errors occured.
LIVE_STREAM_STATE_FAILED_STAY_ON 5 Live stream is exiting. An error occurred.
LIVE_STREAM_STATE_RECONNECTING 6 An error occurred during livestream and stream is attempting to reconnect.
LIVE_STREAM_STATE_UNAVAILABLE 7 Live stream setup is unavailable due to camera lens configuration

EnumPresetGroup

name value summary
PRESET_GROUP_ID_VIDEO 1000
PRESET_GROUP_ID_PHOTO 1001
PRESET_GROUP_ID_TIMELAPSE 1002

EnumPresetGroupIcon

name value summary
PRESET_GROUP_VIDEO_ICON_ID 0
PRESET_GROUP_PHOTO_ICON_ID 1
PRESET_GROUP_TIMELAPSE_ICON_ID 2
PRESET_GROUP_LONG_BAT_VIDEO_ICON_ID 3
PRESET_GROUP_ENDURANCE_VIDEO_ICON_ID 4
PRESET_GROUP_MAX_VIDEO_ICON_ID 5
PRESET_GROUP_MAX_PHOTO_ICON_ID 6
PRESET_GROUP_MAX_TIMELAPSE_ICON_ID 7
PRESET_GROUP_ND_MOD_VIDEO_ICON_ID 8
PRESET_GROUP_ND_MOD_PHOTO_ICON_ID 9
PRESET_GROUP_ND_MOD_TIMELAPSE_ICON_ID 10

EnumPresetIcon

name value summary
PRESET_ICON_VIDEO 0
PRESET_ICON_ACTIVITY 1
PRESET_ICON_CINEMATIC 2
PRESET_ICON_PHOTO 3
PRESET_ICON_LIVE_BURST 4
PRESET_ICON_BURST 5
PRESET_ICON_PHOTO_NIGHT 6
PRESET_ICON_TIMEWARP 7
PRESET_ICON_TIMELAPSE 8
PRESET_ICON_NIGHTLAPSE 9
PRESET_ICON_SNAIL 10
PRESET_ICON_VIDEO_2 11
PRESET_ICON_PHOTO_2 13
PRESET_ICON_PANORAMA 14
PRESET_ICON_BURST_2 15
PRESET_ICON_TIMEWARP_2 16
PRESET_ICON_TIMELAPSE_2 17
PRESET_ICON_CUSTOM 18
PRESET_ICON_AIR 19
PRESET_ICON_BIKE 20
PRESET_ICON_EPIC 21
PRESET_ICON_INDOOR 22
PRESET_ICON_MOTOR 23
PRESET_ICON_MOUNTED 24
PRESET_ICON_OUTDOOR 25
PRESET_ICON_POV 26
PRESET_ICON_SELFIE 27
PRESET_ICON_SKATE 28
PRESET_ICON_SNOW 29
PRESET_ICON_TRAIL 30
PRESET_ICON_TRAVEL 31
PRESET_ICON_WATER 32
PRESET_ICON_LOOPING 33
PRESET_ICON_STARS 34
PRESET_ICON_ACTION 35
PRESET_ICON_FOLLOW_CAM 36
PRESET_ICON_SURF 37
PRESET_ICON_CITY 38
PRESET_ICON_SHAKY 39
PRESET_ICON_CHESTY 40
PRESET_ICON_HELMET 41
PRESET_ICON_BITE 42
PRESET_ICON_CUSTOM_CINEMATIC 43
PRESET_ICON_VLOG 44
PRESET_ICON_FPV 45
PRESET_ICON_HDR 46
PRESET_ICON_LANDSCAPE 47
PRESET_ICON_LOG 48
PRESET_ICON_CUSTOM_SLOMO 49
PRESET_ICON_TRIPOD 50
PRESET_ICON_MAX_VIDEO 55
PRESET_ICON_MAX_PHOTO 56
PRESET_ICON_MAX_TIMEWARP 57
PRESET_ICON_BASIC 58
PRESET_ICON_ULTRA_SLO_MO 59
PRESET_ICON_STANDARD_ENDURANCE 60
PRESET_ICON_ACTIVITY_ENDURANCE 61
PRESET_ICON_CINEMATIC_ENDURANCE 62
PRESET_ICON_SLOMO_ENDURANCE 63
PRESET_ICON_STATIONARY_1 64
PRESET_ICON_STATIONARY_2 65
PRESET_ICON_STATIONARY_3 66
PRESET_ICON_STATIONARY_4 67
PRESET_ICON_SIMPLE_SUPER_PHOTO 70
PRESET_ICON_SIMPLE_NIGHT_PHOTO 71
PRESET_ICON_HIGHEST_QUALITY_VIDEO 73
PRESET_ICON_STANDARD_QUALITY_VIDEO 74
PRESET_ICON_BASIC_QUALITY_VIDEO 75
PRESET_ICON_STAR_TRAIL 76
PRESET_ICON_LIGHT_PAINTING 77
PRESET_ICON_LIGHT_TRAIL 78
PRESET_ICON_FULL_FRAME 79
PRESET_ICON_EASY_MAX_VIDEO 80
PRESET_ICON_EASY_MAX_PHOTO 81
PRESET_ICON_EASY_MAX_TIMEWARP 82
PRESET_ICON_EASY_MAX_STAR_TRAIL 83
PRESET_ICON_EASY_MAX_LIGHT_PAINTING 84
PRESET_ICON_EASY_MAX_LIGHT_TRAIL 85
PRESET_ICON_MAX_STAR_TRAIL 89
PRESET_ICON_MAX_LIGHT_PAINTING 90
PRESET_ICON_MAX_LIGHT_TRAIL 91
PRESET_ICON_EASY_STANDARD_PROFILE 100
PRESET_ICON_EASY_HDR_PROFILE 101
PRESET_ICON_BURST_SLOMO 102
PRESET_ICON_TIMELAPSE_PHOTO 1000
PRESET_ICON_NIGHTLAPSE_PHOTO 1001

EnumPresetTitle

name value summary
PRESET_TITLE_ACTIVITY 0
PRESET_TITLE_STANDARD 1
PRESET_TITLE_CINEMATIC 2
PRESET_TITLE_PHOTO 3
PRESET_TITLE_LIVE_BURST 4
PRESET_TITLE_BURST 5
PRESET_TITLE_NIGHT 6
PRESET_TITLE_TIME_WARP 7
PRESET_TITLE_TIME_LAPSE 8
PRESET_TITLE_NIGHT_LAPSE 9
PRESET_TITLE_VIDEO 10
PRESET_TITLE_SLOMO 11
PRESET_TITLE_PHOTO_2 13
PRESET_TITLE_PANORAMA 14
PRESET_TITLE_TIME_WARP_2 16
PRESET_TITLE_CUSTOM 18
PRESET_TITLE_AIR 19
PRESET_TITLE_BIKE 20
PRESET_TITLE_EPIC 21
PRESET_TITLE_INDOOR 22
PRESET_TITLE_MOTOR 23
PRESET_TITLE_MOUNTED 24
PRESET_TITLE_OUTDOOR 25
PRESET_TITLE_POV 26
PRESET_TITLE_SELFIE 27
PRESET_TITLE_SKATE 28
PRESET_TITLE_SNOW 29
PRESET_TITLE_TRAIL 30
PRESET_TITLE_TRAVEL 31
PRESET_TITLE_WATER 32
PRESET_TITLE_LOOPING 33
PRESET_TITLE_STARS 34
PRESET_TITLE_ACTION 35
PRESET_TITLE_FOLLOW_CAM 36
PRESET_TITLE_SURF 37
PRESET_TITLE_CITY 38
PRESET_TITLE_SHAKY 39
PRESET_TITLE_CHESTY 40
PRESET_TITLE_HELMET 41
PRESET_TITLE_BITE 42
PRESET_TITLE_CUSTOM_CINEMATIC 43
PRESET_TITLE_VLOG 44
PRESET_TITLE_FPV 45
PRESET_TITLE_HDR 46
PRESET_TITLE_LANDSCAPE 47
PRESET_TITLE_LOG 48
PRESET_TITLE_CUSTOM_SLOMO 49
PRESET_TITLE_TRIPOD 50
PRESET_TITLE_BASIC 58
PRESET_TITLE_ULTRA_SLO_MO 59
PRESET_TITLE_STANDARD_ENDURANCE 60
PRESET_TITLE_ACTIVITY_ENDURANCE 61
PRESET_TITLE_CINEMATIC_ENDURANCE 62
PRESET_TITLE_SLOMO_ENDURANCE 63
PRESET_TITLE_STATIONARY_1 64
PRESET_TITLE_STATIONARY_2 65
PRESET_TITLE_STATIONARY_3 66
PRESET_TITLE_STATIONARY_4 67
PRESET_TITLE_SIMPLE_VIDEO 68
PRESET_TITLE_SIMPLE_TIME_WARP 69
PRESET_TITLE_SIMPLE_SUPER_PHOTO 70
PRESET_TITLE_SIMPLE_NIGHT_PHOTO 71
PRESET_TITLE_SIMPLE_VIDEO_ENDURANCE 72
PRESET_TITLE_HIGHEST_QUALITY 73
PRESET_TITLE_EXTENDED_BATTERY 74
PRESET_TITLE_LONGEST_BATTERY 75
PRESET_TITLE_STAR_TRAIL 76
PRESET_TITLE_LIGHT_PAINTING 77
PRESET_TITLE_LIGHT_TRAIL 78
PRESET_TITLE_FULL_FRAME 79
PRESET_TITLE_STANDARD_QUALITY_VIDEO 82
PRESET_TITLE_BASIC_QUALITY_VIDEO 83
PRESET_TITLE_HIGHEST_QUALITY_VIDEO 93
PRESET_TITLE_USER_DEFINED_CUSTOM_NAME 94
PRESET_TITLE_EASY_STANDARD_PROFILE 99
PRESET_TITLE_EASY_HDR_PROFILE 100
PRESET_TITLE_BURST_SLOMO 106

EnumProvisioning

name value summary
PROVISIONING_UNKNOWN 0
PROVISIONING_NEVER_STARTED 1
PROVISIONING_STARTED 2
PROVISIONING_ABORTED_BY_SYSTEM 3
PROVISIONING_CANCELLED_BY_USER 4
PROVISIONING_SUCCESS_NEW_AP 5
PROVISIONING_SUCCESS_OLD_AP 6
PROVISIONING_ERROR_FAILED_TO_ASSOCIATE 7
PROVISIONING_ERROR_PASSWORD_AUTH 8
PROVISIONING_ERROR_EULA_BLOCKING 9
PROVISIONING_ERROR_NO_INTERNET 10
PROVISIONING_ERROR_UNSUPPORTED_TYPE 11

EnumRegisterLiveStreamStatus

name value summary
REGISTER_LIVE_STREAM_STATUS_STATUS 1
REGISTER_LIVE_STREAM_STATUS_ERROR 2
REGISTER_LIVE_STREAM_STATUS_MODE 3
REGISTER_LIVE_STREAM_STATUS_BITRATE 4

EnumRegisterPresetStatus

name value summary
REGISTER_PRESET_STATUS_PRESET 1 Send notification when properties of a preset change
REGISTER_PRESET_STATUS_PRESET_GROUP_ARRAY 2 Send notification when properties of a preset group change

EnumResultGeneric

name value summary
RESULT_UNKNOWN 0
RESULT_SUCCESS 1
RESULT_ILL_FORMED 2
RESULT_NOT_SUPPORTED 3
RESULT_ARGUMENT_OUT_OF_BOUNDS 4
RESULT_ARGUMENT_INVALID 5
RESULT_RESOURCE_NOT_AVAILABLE 6

EnumScanEntryFlags

name value summary
SCAN_FLAG_OPEN 0 This network does not require authentication
SCAN_FLAG_AUTHENTICATED 1 This network requires authentication
SCAN_FLAG_CONFIGURED 2 This network has been previously provisioned
SCAN_FLAG_BEST_SSID 4
SCAN_FLAG_ASSOCIATED 8 Camera is connected to this AP
SCAN_FLAG_UNSUPPORTED_TYPE 16

EnumScanning

name value summary
SCANNING_UNKNOWN 0
SCANNING_NEVER_STARTED 1
SCANNING_STARTED 2
SCANNING_ABORTED_BY_SYSTEM 3
SCANNING_CANCELLED_BY_USER 4
SCANNING_SUCCESS 5

EnumWindowSize

name value summary
WINDOW_SIZE_480 4
WINDOW_SIZE_720 7
WINDOW_SIZE_1080 12

Media

A common model to represent a media file

field typespec value summary
folder string 1 Directory in which the media is contained
file string 2 Filename of media

NotifProvisioningState

Provision state notification

Sent during provisioning triggered via RequestConnect or RequestConnectNew

field typespec value summary
provisioning_state EnumProvisioning 1 Provisioning / connection state

NotifStartScanning

Scanning state notification

Triggered via RequestStartScan

field typespec value summary
scanning_state EnumScanning 1 Scanning state
scan_id int32 2 ID associated with scan results (included if scan was successful)
total_entries int32 3 Number of APs found during scan (included if scan was successful)
total_configured_ssid int32 4 Total count of camera’s provisioned SSIDs

NotifyCOHNStatus

Current COHN status triggered by a RequestGetCOHNStatus

field typespec value summary
status EnumCOHNStatus 1 Current COHN status
state EnumCOHNNetworkState 2 Current COHN network state
username string 3 Username used for http basic auth header
password string 4 Password used for http basic auth header
ipaddress string 5 Camera’s IP address on the local network
enabled bool 6 Is COHN currently enabled?
ssid string 7 Currently connected SSID
macaddress string 8 MAC address of the wifi adapter

NotifyLiveStreamStatus

Live Stream status

Sent either:

field typespec value summary
live_stream_status EnumLiveStreamStatus 1 Live stream status
live_stream_error EnumLiveStreamError 2 Live stream error
live_stream_encode bool 3 Is live stream encoding?
live_stream_bitrate int32 4 Live stream bitrate (Kbps)
live_stream_window_size_supported_array EnumWindowSize 5 Set of currently supported resolutions
live_stream_encode_supported bool 6 Does the camera support encoding while live streaming?
live_stream_max_lens_unsupported bool 7 Is the Max Lens feature NOT supported?
live_stream_minimum_stream_bitrate int32 8 Camera-defined minimum bitrate (static) (Kbps)
live_stream_maximum_stream_bitrate int32 9 Camera-defined maximum bitrate (static) (Kbps)
live_stream_lens_supported bool 10 Does camera support setting lens for live streaming?
live_stream_lens_supported_array EnumLens 11 Set of currently supported FOV options
live_stream_protune_supported bool 13 Does the camera support live stream protune settings

NotifyPresetStatus

Current Preset status

Sent either:

field typespec value summary
preset_group_array PresetGroup 1 List of currently available Preset Groups

Preset

An individual preset.

field typespec value summary
id int32 1 Preset ID
mode EnumFlatMode 2 Preset flatmode ID
title_id EnumPresetTitle 3 Preset Title ID
title_number int32 4 Preset Title Number (e.g. 1/2/3 in Custom1, Custom2, Custom3)
user_defined bool 5 Is the Preset custom/user-defined?
icon EnumPresetIcon 6 Preset Icon ID
setting_array PresetSetting 7 Array of settings associated with this Preset
is_modified bool 8 Has Preset been modified from factory defaults? (False for user-defined Presets)
is_fixed bool 9 Is this Preset mutable?
custom_name string 10 Custom string name given to this preset via RequestCustomPresetUpdate

PresetGroup

Preset Group meta information and contained Presets

field typespec value summary
id EnumPresetGroup 1 Preset Group ID
preset_array Preset 2 Array of Presets contained in this Preset Group
can_add_preset bool 3 Is there room in the group to add additional Presets?
icon EnumPresetGroupIcon 4 The icon to display for this preset group
mode_array EnumFlatMode 5 A list of flatmodes available for this preset group

PresetSetting

Setting representation that comprises a Preset

field typespec value summary
id int32 1 Setting ID
value int32 2 Setting value
is_caption bool 3 Does this setting appear on the Preset “pill” in the camera UI?

RequestCOHNCert

Get the COHN certificate.

Returns a ResponseCOHNCert

RequestClearCOHNCert

Clear the COHN certificate.

Returns a ResponseGeneric with the status of the clear

RequestConnect

Connect to (but do not authenticate with) an Access Point

This is intended to be used to connect to a previously-connected Access Point

Response: ResponseConnect

Notification: NotifProvisioningState sent periodically as provisioning state changes

field typespec value summary
ssid string 1 AP SSID

RequestConnectNew

Connect to and authenticate with an Access Point

This is only intended to be used if the AP is not previously provisioned.

Response: ResponseConnectNew sent immediately

Notification: NotifProvisioningState sent periodically as provisioning state changes

field typespec value summary
ssid string 1 AP SSID
password string 2 AP password
static_ip bytes 3 Static IP address
gateway bytes 4 Gateway IP address
subnet bytes 5 Subnet mask
dns_primary bytes 6 Primary DNS
dns_secondary bytes 7 Secondary DNS

RequestCreateCOHNCert

Create the Camera On the Home Network SSL/TLS certificate.

Returns a ResponseGeneric with the status of the creation

field typespec value summary
override bool 1 Override current provisioning and create new cert

RequestCustomPresetUpdate

Request to Update the Title and / or Icon of the Active Custom Preset

This only operates on the currently active Preset and will fail if the current Preset is not custom.

The use cases are:

  1. Update the Custom Preset Icon

    • icon_id is always optional and can always be passed

and / or

  1. Update the Custom Preset Title to a…

    • Factory Preset Title: Set title_id to a non-PRESET_TITLE_USER_DEFINED_CUSTOM_NAME (94) value

    • Custom Preset Name: Set title_id to PRESET_TITLE_USER_DEFINED_CUSTOM_NAME (94) and specify a custom_name

Returns a ResponseGeneric with the status of the preset update request.

field typespec value summary
title_id EnumPresetTitle 1
Preset Title ID

The range of acceptable custom title ID’s can be found in the initial NotifyPresetStatus response
custom_name string 2 UTF-8 encoded custom preset name to be used if title_id is set to 94 (PRESET_TITLE_USER_DEFINED_CUSTOM_NAME)The name must obey the following
  • Custom titles must be between 1 and 16 characters (inclusive)
  • No special characters outside of the following languages: English, French, Italian, German,Spanish, Portuguese, Swedish, Russian
  • icon_id EnumPresetIcon 3
    Preset Icon ID

    The range of acceptable custom icon ID’s can be found in the initial NotifyPresetStatus response to

    RequestGetApEntries

    Get a list of Access Points found during a RequestStartScan

    Response: ResponseGetApEntries

    field typespec value summary
    start_index int32 1 Used for paging. 0 <= start_index < ResponseGetApEntries .total_entries
    max_entries int32 2 Used for paging. Value must be < ResponseGetApEntries .total_entries
    scan_id int32 3 ID corresponding to a set of scan results (i.e. ResponseGetApEntries .scan_id)

    RequestGetCOHNStatus

    Get the current COHN status.

    Response: NotifyCOHNStatus

    Additionally, asynchronous updates can also be registered to return more NotifyCOHNStatus when a value changes.

    field typespec value summary
    register_cohn_status bool 1 1 to register, 0 to unregister

    RequestGetLastCapturedMedia

    Get the last captured media filename

    Returns a ResponseLastCapturedMedia

    RequestGetLiveStreamStatus

    Get the current livestream status (and optionally register for future status changes)

    Response: NotifyLiveStreamStatus

    Notification: NotifyLiveStreamStatus

    field typespec value summary
    register_live_stream_status EnumRegisterLiveStreamStatus 1 Array of live stream statuses to be notified about
    unregister_live_stream_status EnumRegisterLiveStreamStatus 2 Array of live stream statuses to stop being notified about

    RequestGetPresetStatus

    Get the set of currently available presets and optionally register to be notified when it changes.

    Response: NotifyPresetStatus sent immediately

    Notification: NotifyPresetStatus sent periodically as preset status changes, if registered.

    The preset status changes when:

    • A client changes one of a preset’s captioned settings via the API

    • The user exits from a preset’s settings UI on the camera (e.g. long-press the preset pill and then press the back arrow)

    • The user creates/deletes/reorders a preset within a group

    field typespec value summary
    register_preset_status EnumRegisterPresetStatus 1 Array of Preset statuses to be notified about
    unregister_preset_status EnumRegisterPresetStatus 2 Array of Preset statuses to stop being notified about

    RequestReleaseNetwork

    Request to disconnect from currently-connected AP

    This drops the camera out of Station (STA) Mode and returns it to Access Point (AP) mode.

    Response: ResponseGeneric

    RequestSetCOHNSetting

    Configure a COHN Setting

    Returns a ResponseGeneric

    field typespec value summary
    cohn_active bool 1
    1 to enable COHN, 0 to disable COHN

    When set to 1, STA Mode connection will be dropped and camera will not automatically re-connect for COHN.

    RequestSetCameraControlStatus

    Set Camera Control Status (as part of Global Behaviors feature)

    This command is used to tell the camera that the app (i.e. External Control) wishes to claim control of the camera. This causes the camera to immediately exit most contextual menus and return to the idle screen. Any interaction with the camera’s physical buttons will cause the camera to reclaim control and update control status accordingly. If the user returns the camera UI to the idle screen, the camera updates control status to Idle.

    The entity currently claiming control of the camera is advertised in camera status 114. Information about whether the camera is in a contextual menu or not is advertised in camera status 63.

    Response: ResponseGeneric

    field typespec value summary
    camera_control_status EnumCameraControlStatus 1 Declare who is taking control of the camera

    RequestSetLiveStreamMode

    Configure Live Streaming

    Response: ResponseGeneric

    field typespec value summary
    url string 1 RTMP(S) URL used for live stream
    encode bool 2 Save media to sdcard while streaming?
    window_size EnumWindowSize 3
    Resolution to use for live stream

    The set of supported resolutions is only available from the live_stream_window_size_supported_array
    cert bytes 6 Certificate for servers that require it in PEM format
    minimum_bitrate int32 7 Minimum desired bitrate (may or may not be honored)
    maximum_bitrate int32 8 Maximum desired bitrate (may or may not be honored)
    starting_bitrate int32 9 Starting bitrate
    lens EnumLens 10
    Lens to use for live stream

    The set of supported lenses is only available from the live_stream_lens_supported_array

    RequestSetTurboActive

    Enable/disable display of “Transferring Media” UI

    Response: ResponseGeneric

    field typespec value summary
    active bool 1 Enable or disable Turbo Transfer feature

    RequestStartScan

    Start scanning for Access Points

    Note

    Serialization of this object is zero bytes.

    Response: ResponseStartScanning are sent immediately after the camera receives this command

    Notifications: NotifStartScanning are sent periodically as scanning state changes. Use to detect scan complete.

    ResponseCOHNCert

    COHN Certificate response triggered by RequestCOHNCert

    field typespec value summary
    result EnumResultGeneric 1 Was request successful?
    cert string 2 Root CA cert (ASCII text)

    ResponseConnect

    The status of an attempt to connect to an Access Point

    Sent as the initial response to RequestConnect

    field typespec value summary
    result EnumResultGeneric 1 Generic pass/fail/error info
    provisioning_state EnumProvisioning 2 Provisioning/connection state
    timeout_seconds int32 3 Network connection timeout (seconds)

    ResponseConnectNew

    The status of an attempt to connect to an Access Point

    Sent as the initial response to RequestConnectNew

    field typespec value summary
    result EnumResultGeneric 1 Status of Connect New request
    provisioning_state EnumProvisioning 2 Current provisioning state of the network
    timeout_seconds int32 3
    Number of seconds camera will wait before declaring a network connection attempt failed

    ResponseGeneric

    Generic Response used across many response / notification messages

    field typespec value summary
    result EnumResultGeneric 1 Generic pass/fail/error info

    ResponseGetApEntries

    A list of scan entries describing a scanned Access Point

    This is sent in response to a RequestGetApEntries

    field typespec value summary
    result EnumResultGeneric 1 Generic pass/fail/error info
    scan_id int32 2 ID associated with this batch of results
    entries ResponseGetApEntries::ScanEntry 3 Array containing details about discovered APs

    ResponseLastCapturedMedia

    The Last Captured Media

    Message is sent in response to a RequestGetLastCapturedMedia.

    This contains the relative path of the last captured media starting from the DCIM directory on the SDCard. Depending on the type of media captured, it will return:

    • The single media path for single photo/video media

    • The path to the first captured media in the group for grouped media

    field typespec value summary
    result EnumResultGeneric 1 Was the request successful?
    media Media 2
    Last captured media if result is RESULT_SUCCESS. Invalid if result is RESULT_RESOURCE_NOT_AVAILBLE.

    ResponseStartScanning

    The current scanning state.

    This is the initial response to a RequestStartScan

    field typespec value summary
    result EnumResultGeneric 1 Generic pass/fail/error info
    scanning_state EnumScanning 2 Scanning state

    ResponseGetApEntries::ScanEntry

    An individual Scan Entry in a ResponseGetApEntries response

    Note

    When scan_entry_flags contains SCAN_FLAG_CONFIGURED, it is an indication that this network has already been provisioned.

    field typespec value summary
    ssid string 1 AP SSID
    signal_strength_bars int32 2 Signal strength (3 bars: >-70 dBm; 2 bars: >-85 dBm; 1 bar: <=-85 dBm)
    signal_frequency_mhz int32 4 Signal frequency (MHz)
    scan_entry_flags int32 5 Bitmasked value from EnumScanEntryFlags