Protocol Documentation
This page provides documentation for all of the protobuf message fields.
Protobuf Files
cohn.proto
NotifyCOHNStatus
Current COHN status triggered by a RequestGetCOHNStatus
Field | Type | Label | Description |
---|---|---|---|
status | EnumCOHNStatus | optional | Current COHN status |
state | EnumCOHNNetworkState | optional | Current COHN network state |
username | string | optional | Username used for http basic auth header |
password | string | optional | Password used for http basic auth header |
ipaddress | string | optional | Camera’s IP address on the local network |
enabled | bool | optional | Is COHN currently enabled |
ssid | string | optional | Currently connected SSID |
macaddress | string | optional | MAC address of the wifi adapter |
RequestCOHNCert
Get the COHN certificate.
Returns a @ref ResponseCOHNCert
RequestClearCOHNCert
Clear the COHN certificate.
Returns a @ref ResponseGeneric with the status of the clear
RequestCreateCOHNCert
Create the COHN certificate.
Returns a @ref ResponseGeneric with the status of the creation
Field | Type | Label | Description |
---|---|---|---|
override | bool | optional | Override current provisioning and create new cert |
RequestGetCOHNStatus
Get the current COHN status.
This always returns a @ref NotifyCOHNStatus
Additionally, asynchronous updates can also be registerd to return more @ref NotifyCOHNStatus when a value changes.
Field | Type | Label | Description |
---|---|---|---|
register_cohn_status | bool | optional | 1 to register, 0 to unregister |
RequestSetCOHNSetting
Enable and disable COHN if provisioned
Returns a @ref ResponseGeneric
Field | Type | Label | Description |
---|---|---|---|
cohn_active | bool | optional | 1 to enable, 0 to disable |
ResponseCOHNCert
COHN Certificate response triggered by RequestCOHNCert
Field | Type | Label | Description |
---|---|---|---|
result | EnumResultGeneric | optional | Was request successful? |
cert | string | optional | Root CA cert (ASCII text) |
EnumCOHNNetworkState
Name | Number | Description |
---|---|---|
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 | Number | Description |
---|---|---|
COHN_UNPROVISIONED | 0 | |
COHN_PROVISIONED | 1 |
live_streaming.proto
NotifyLiveStreamStatus
Live Stream status
Sent either:
- as a syncrhonous response to initial @ref RequestGetLiveStreamStatus
- as asynchronous notifications registered for via @ref RequestGetLiveStreamStatus
Field | Type | Label | Description |
---|---|---|---|
live_stream_status | EnumLiveStreamStatus | optional | Live stream status |
live_stream_error | EnumLiveStreamError | optional | Live stream error |
live_stream_encode | bool | optional | Is live stream encoding? |
live_stream_bitrate | int32 | optional | Live stream bitrate (Kbps) |
live_stream_window_size_supported_array | EnumWindowSize | repeated | List of supported resolutions returned when live stream is registered or requested |
-
register –> camera 2. register response (with capabilities) –> mobile 3. async notifications (without capabilities) –> mobile live_stream_encode_supported bool optional Does the camera support encoding while live streaming? live_stream_max_lens_unsupported bool optional Is the Max Lens feature NOT supported? live_stream_minimum_stream_bitrate int32 optional Camera-defined minimum bitrate (static) (Kbps) live_stream_maximum_stream_bitrate int32 optional Camera-defined maximum bitrate (static) (Kbps) live_stream_lens_supported bool optional Does camera support setting lens for live streaming? live_stream_lens_supported_array EnumLens repeated Array of supported lenses for live streaming
RequestGetLiveStreamStatus
Get the current livestream status (and optionally register for future status changes)
Both current status and future status changes are sent via @ref NotifyLiveStreamStatus
Field | Type | Label | Description |
---|---|---|---|
register_live_stream_status | EnumRegisterLiveStreamStatus | repeated | Array of live stream statuses to be notified about |
unregister_live_stream_status | EnumRegisterLiveStreamStatus | repeated | Array of live stream statuses to stop being notified about |
RequestSetLiveStreamMode
Configure lives streaming
The current livestream status can be queried via @ref RequestGetLiveStreamStatus
TODO What is the response?
Field | Type | Label | Description |
---|---|---|---|
url | string | optional | RTMP(S) URL used for live stream |
encode | bool | optional | Save media to sdcard while streaming? |
window_size | EnumWindowSize | optional | Live stream resolution |
cert | bytes | optional | Certificate for servers that require it |
minimum_bitrate | int32 | optional | Minimum desired bitrate (may or may not be honored) |
maximum_bitrate | int32 | optional | Maximum desired bitrate (may or may not be honored) |
starting_bitrate | int32 | optional | Starting bitrate |
lens | EnumLens | optional | Lens to use for live stream (see NotifyLiveStreamStatus.live_stream_lens_supported) |
EnumLens
Name | Number | Description |
---|---|---|
LENS_WIDE | 0 | |
LENS_LINEAR | 4 | |
LENS_SUPERVIEW | 3 |
EnumLiveStreamError
Name | Number | Description |
---|---|---|
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 | Number | Description |
---|---|---|
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. |
EnumRegisterLiveStreamStatus
Name | Number | Description |
---|---|---|
REGISTER_LIVE_STREAM_STATUS_STATUS | 1 | |
REGISTER_LIVE_STREAM_STATUS_ERROR | 2 | |
REGISTER_LIVE_STREAM_STATUS_MODE | 3 | |
REGISTER_LIVE_STREAM_STATUS_BITRATE | 4 |
EnumWindowSize
Name | Number | Description |
---|---|---|
WINDOW_SIZE_480 | 4 | |
WINDOW_SIZE_720 | 7 | |
WINDOW_SIZE_1080 | 12 |
network_management.proto
NotifProvisioningState
Provision state notification
TODO refernce where this is triggered
Field | Type | Label | Description |
---|---|---|---|
provisioning_state | EnumProvisioning | required | Provisioning / connection state |
NotifStartScanning
Scanning state notification
Triggered via @ref RequestStartScan
Field | Type | Label | Description |
---|---|---|---|
scanning_state | EnumScanning | required | Scanning state |
scan_id | int32 | optional | ID associated with scan results (included if scan was successful) |
total_entries | int32 | optional | Number of APs found during scan (included if scan was successful) |
total_configured_ssid | int32 | required | Total count of camera’s provisioned SSIDs |
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: @ref ResponseConnect
Field | Type | Label | Description |
---|---|---|---|
ssid | string | required | 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: @ref ResponseConnectNew sent immediately
Notification: @ref NotifProvisioningState sent periodically as provisioning state changes
Field | Type | Label | Description |
---|---|---|---|
ssid | string | required | AP SSID |
password | string | required | AP password |
static_ip | bytes | optional | Static IP address |
gateway | bytes | optional | Gateway IP address |
subnet | bytes | optional | Subnet mask |
dns_primary | bytes | optional | Primary DNS |
dns_secondary | bytes | optional | Secondary DNS |
RequestGetApEntries
Get a list of Access Points found during a @ref RequestStartScan
Response: @ref ResponseGetApEntries
Field | Type | Label | Description |
---|---|---|---|
start_index | int32 | required | Used for paging. 0 <= start_index < @ref ResponseGetApEntries .total_entries |
max_entries | int32 | required | Used for paging. Value must be < @ref ResponseGetApEntries .total_entries |
scan_id | int32 | required | ID corresponding to a set of scan results (i.e. @ref ResponseGetApEntries .scan_id) |
RequestReleaseNetwork
Request to disconnect from current AP network
Response: @ref ResponseGeneric
RequestStartScan
Start scanning for Access Points
@note Serialization of this object is zero bytes.
Response: @ref ResponseStartScanning are sent immediately after the camera receives this command
Notifications: @ref NotifStartScanning are sent periodically as scanning state changes. Use to detect scan complete.
ResponseConnect
The status of an attempt to connect to an Access Point
Sent as the initial response to @ref RequestConnect
Field | Type | Label | Description |
---|---|---|---|
result | EnumResultGeneric | required | Generic pass/fail/error info |
provisioning_state | EnumProvisioning | required | Provisioning/connection state |
timeout_seconds | int32 | required | Network connection timeout (seconds) |
ResponseConnectNew
The status of an attempt to connect to an Access Point
Sent as the initial response to @ref RequestConnectNew
Field | Type | Label | Description |
---|---|---|---|
result | EnumResultGeneric | required | Status of Connect New request |
provisioning_state | EnumProvisioning | required | Current provisioning state of the network |
timeout_seconds | int32 | required | number of seconds camera will wait before declaring a network connection attempt failed. |
ResponseGetApEntries
A list of scan entries describing a scanned Access Point
This is sent in response to a @ref RequestGetApEntries
Field | Type | Label | Description |
---|---|---|---|
result | EnumResultGeneric | required | Generic pass/fail/error info |
scan_id | int32 | required | ID associated with this batch of results |
entries | ResponseGetApEntries.ScanEntry | repeated | Array containing details about discovered APs |
ResponseGetApEntries.ScanEntry
The individual Scan Entry model
Field | Type | Label | Description |
---|---|---|---|
ssid | string | required | AP SSID |
signal_strength_bars | int32 | required | Signal strength (3 bars: >-70 dBm; 2 bars: >-85 dBm; 1 bar: <=-85 dBm) |
signal_frequency_mhz | int32 | required | Signal frequency (MHz) |
scan_entry_flags | int32 | required | Bitmasked value from @ref EnumScanEntryFlags |
ResponseStartScanning
The current scanning state.
This is the initial response to a @ref RequestStartScan
Field | Type | Label | Description |
---|---|---|---|
result | EnumResultGeneric | required | Generic pass/fail/error info |
scanning_state | EnumScanning | required | Scanning state |
EnumProvisioning
Name | Number | Description |
---|---|---|
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 |
EnumScanEntryFlags
Name | Number | Description |
---|---|---|
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 | Number | Description |
---|---|---|
SCANNING_UNKNOWN | 0 | |
SCANNING_NEVER_STARTED | 1 | |
SCANNING_STARTED | 2 | |
SCANNING_ABORTED_BY_SYSTEM | 3 | |
SCANNING_CANCELLED_BY_USER | 4 | |
SCANNING_SUCCESS | 5 |
preset_status.proto
NotifyPresetStatus
Current Preset status
Sent either:
- synchronously via initial response to @ref RequestGetPresetStatus
- asynchronously when Preset change if registered in @rev RequestGetPresetStatus
Field | Type | Label | Description |
---|---|---|---|
preset_group_array | PresetGroup | repeated | Array of currently available Preset Groups |
Preset
An individual preset.
Field | Type | Label | Description |
---|---|---|---|
id | int32 | optional | Preset ID |
mode | EnumFlatMode | optional | Preset flatmode ID |
title_id | EnumPresetTitle | optional | Preset Title ID |
title_number | int32 | optional | Preset Title Number (e.g. 1/2/3 in Custom1, Custom2, Custom3) |
user_defined | bool | optional | Is the Preset custom/user-defined? |
icon | EnumPresetIcon | optional | Preset Icon ID |
setting_array | PresetSetting | repeated | Array of settings associated with this Preset |
is_modified | bool | optional | Has Preset been modified from factory defaults? (False for user-defined Presets) |
is_fixed | bool | optional | Is this Preset mutable? |
custom_name | string | optional | Custom string name given to this preset via @ref RequestCustomPresetUpdate |
PresetGroup
Preset Group meta information and contained Presets
Field | Type | Label | Description |
---|---|---|---|
id | EnumPresetGroup | optional | Preset Group ID |
preset_array | Preset | repeated | Array of Presets contained in this Preset Group |
can_add_preset | bool | optional | Is there room in the group to add additional Presets? |
icon | EnumPresetGroupIcon | optional | The icon to display for this preset group |
PresetSetting
Setting representation that comprises a @ref Preset
Field | Type | Label | Description |
---|---|---|---|
id | int32 | optional | Setting ID |
value | int32 | optional | Setting value |
is_caption | bool | optional | Does this setting appear on the Preset “pill” in the camera UI? |
EnumFlatMode
Name | Number | Description |
---|---|---|
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 |
EnumPresetGroup
Name | Number | Description |
---|---|---|
PRESET_GROUP_ID_VIDEO | 1000 | |
PRESET_GROUP_ID_PHOTO | 1001 | |
PRESET_GROUP_ID_TIMELAPSE | 1002 | |
PRESET_GROUP_ID_VIDEO_DUAL_LENS | 1003 | |
PRESET_GROUP_ID_PHOTO_DUAL_LENS | 1004 | |
PRESET_GROUP_ID_TIMELAPSE_DUAL_LENS | 1005 | |
PRESET_GROUP_ID_SPECIAL | 1006 |
EnumPresetGroupIcon
Name | Number | Description |
---|---|---|
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 |
EnumPresetIcon
Name | Number | Description |
---|---|---|
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_360_VIDEO | 12 | |
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 | New custom icon (34 - 43)added for HERO 12 |
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_MTB | 43 | |
PRESET_ICON_MAX_VIDEO | 55 | Reserved 44 - 50 for Custom presets. Add icons below for new presets starting from 51 |
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_TIMELAPSE_PHOTO | 1000 | |
PRESET_ICON_NIGHTLAPSE_PHOTO | 1001 |
EnumPresetTitle
Name | Number | Description |
---|---|---|
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_360_VIDEO | 12 | |
PRESET_TITLE_PHOTO_2 | 13 | |
PRESET_TITLE_PANORAMA | 14 | |
PRESET_TITLE_360_PHOTO | 15 | |
PRESET_TITLE_TIME_WARP_2 | 16 | |
PRESET_TITLE_360_TIME_WARP | 17 | |
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 | New custom names (34 - 43)added for HERO 12 |
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_MTB | 43 | |
PRESET_TITLE_360_TIMELAPSE | 51 | Reserved 44 - 50 for custom presets. |
PRESET_TITLE_360_NIGHT_LAPSE | 52 | |
PRESET_TITLE_360_NIGHT_PHOTO | 53 | |
PRESET_TITLE_PANO_TIME_LAPSE | 54 | |
PRESET_TITLE_MAX_VIDEO | 55 | |
PRESET_TITLE_MAX_PHOTO | 56 | |
PRESET_TITLE_MAX_TIMEWARP | 57 | |
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_MAX_LENS_VIDEO | 80 | |
PRESET_TITLE_MAX_LENS_TIMEWARP | 81 | |
PRESET_TITLE_STANDARD_QUALITY_VIDEO | 82 | |
PRESET_TITLE_BASIC_QUALITY_VIDEO | 83 | |
PRESET_TITLE_EASY_MAX_VIDEO | 84 | |
PRESET_TITLE_EASY_MAX_PHOTO | 85 | |
PRESET_TITLE_EASY_MAX_TIMEWARP | 86 | |
PRESET_TITLE_EASY_MAX_STAR_TRAIL | 87 | |
PRESET_TITLE_EASY_MAX_LIGHT_PAINTING | 88 | |
PRESET_TITLE_EASY_MAX_LIGHT_TRAIL | 89 | |
PRESET_TITLE_MAX_STAR_TRAIL | 90 | |
PRESET_TITLE_MAX_LIGHT_PAINTING | 91 | |
PRESET_TITLE_MAX_LIGHT_TRAIL | 92 | |
PRESET_TITLE_HIGHEST_QUALITY_VIDEO | 93 | |
PRESET_TITLE_USER_DEFINED_CUSTOM_NAME | 94 |
request_get_preset_status.proto
RequestGetPresetStatus
Get preset status (and optionally register to be notified when it changes)
Response: @ref NotifyPresetStatus sent immediately
Notification: @ref NotifyPresetStatus sent periodically as preset status changes, if registered.
Field | Type | Label | Description |
---|---|---|---|
register_preset_status | EnumRegisterPresetStatus | repeated | Array of Preset statuses to be notified about |
unregister_preset_status | EnumRegisterPresetStatus | repeated | Array of Preset statuses to stop being notified about |
EnumRegisterPresetStatus
Name | Number | Description |
---|---|---|
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 |
response_generic.proto
ResponseGeneric
Generic Response used across most response / notification messages
@ref EnumResultGeneric
Field | Type | Label | Description |
---|---|---|---|
result | EnumResultGeneric | required | Generic pass/fail/error info |
EnumResultGeneric
Name | Number | Description |
---|---|---|
RESULT_UNKNOWN | 0 | |
RESULT_SUCCESS | 1 | |
RESULT_ILL_FORMED | 2 | |
RESULT_NOT_SUPPORTED | 3 | |
RESULT_ARGUMENT_OUT_OF_BOUNDS | 4 | |
RESULT_ARGUMENT_INVALID | 5 |
set_camera_control_status.proto
RequestSetCameraControlStatus
Set Camera Control Status (as part of Global Behaviors feature)
Response: @ref ResponseGeneric
Field | Type | Label | Description |
---|---|---|---|
camera_control_status | EnumCameraControlStatus | required | Declare who is taking control of the camera |
EnumCameraControlStatus
Name | Number | Description |
---|---|---|
CAMERA_IDLE | 0 | |
CAMERA_CONTROL | 1 | Can only be set by camera, not by app or third party |
CAMERA_EXTERNAL_CONTROL | 2 |
turbo_transfer.proto
RequestSetTurboActive
Enable/disable display of “Transferring Media” UI
Response: @ref ResponseGeneric
Field | Type | Label | Description |
---|---|---|---|
active | bool | required | Enable or disable Turbo Transfer feature |