diff --git a/demos/python/sdk_wireless_camera_control/noxfile.py b/demos/python/sdk_wireless_camera_control/noxfile.py index e6947e66..a47de36e 100644 --- a/demos/python/sdk_wireless_camera_control/noxfile.py +++ b/demos/python/sdk_wireless_camera_control/noxfile.py @@ -56,7 +56,7 @@ def tests(session) -> None: "coverage[toml]", "requests-mock", ) - session.run("pytest", "tests", "--cov-fail-under=65") + session.run("pytest", "tests/unit", "--cov-fail-under=70") @session(python=SUPPORTED_VERSIONS[-1]) diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/api/http_commands.py b/demos/python/sdk_wireless_camera_control/open_gopro/api/http_commands.py index 37eb0ed8..7b53b3c6 100644 --- a/demos/python/sdk_wireless_camera_control/open_gopro/api/http_commands.py +++ b/demos/python/sdk_wireless_camera_control/open_gopro/api/http_commands.py @@ -42,6 +42,37 @@ class HttpCommands(HttpMessages[HttpMessage]): To be used as a delegate for a GoProHttp to build commands """ + @http_get_json_command(endpoint="/gp/gpControl/command/storage/delete/all") + async def delete_all(self) -> GoProResp[None]: + """Delete all files on the SD card. + + Returns: + GoProResp[None]: command status + """ + + @http_get_json_command(endpoint="gopro/media/delete/file", arguments=["path"]) + async def delete_file(self, *, path: str) -> GoProResp[None]: + """Delete a single file including single files that are part of a group. + + Args: + path (str): path to file to delete + + Returns: + GoProResp[None]: command status + """ + + @http_get_json_command(endpoint="/gp/gpControl/command/storage/delete/group", arguments=["p"]) + async def delete_group(self, *, path: str) -> GoProResp[None]: + """Delete all contents of a group. Should not be used on non-group files. + + Args: + path (str): path to first file in the group. + + Returns: + GoProResp[None]: command status + """ + return {"p": path} # type: ignore + @http_get_json_command( endpoint="gopro/media/last_captured", parser=Parser(json_parser=JsonParsers.PydanticAdapter(MediaPath)), diff --git a/demos/python/sdk_wireless_camera_control/pyproject.toml b/demos/python/sdk_wireless_camera_control/pyproject.toml index 9790f02c..e4f9616e 100644 --- a/demos/python/sdk_wireless_camera_control/pyproject.toml +++ b/demos/python/sdk_wireless_camera_control/pyproject.toml @@ -84,7 +84,7 @@ isort = "*" types-protobuf = "^4" [tool.poe.tasks.tests] -cmd = "pytest tests --cov-fail-under=70" +cmd = "pytest tests/unit --cov-fail-under=70" help = "Run unit tests" [tool.poe.tasks._types] @@ -121,7 +121,7 @@ help = "validate docstrings" [tool.poe.tasks.docstrings] sequence = ["_pydocstyle", "_darglint"] -help = "Format, check types, lint, check docstrings, and run unit tests" +help = "Analyze docstrings for consistency and errors" [tool.poe.tasks.sphinx] cmd = "sphinx-build -W --keep-going -a -E -b html docs docs/build" diff --git a/demos/python/sdk_wireless_camera_control/tests/e2e/test_delete_media.py b/demos/python/sdk_wireless_camera_control/tests/e2e/test_delete_media.py new file mode 100644 index 00000000..3cf18977 --- /dev/null +++ b/demos/python/sdk_wireless_camera_control/tests/e2e/test_delete_media.py @@ -0,0 +1,145 @@ +# test_delete_media.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). +# This copyright was auto-generated on Tue Apr 16 20:07:53 UTC 2024 + +import asyncio +from typing import AsyncGenerator + +import pytest + +from open_gopro import Params, proto +from open_gopro.gopro_wired import WiredGoPro +from open_gopro.models import MediaPath + + +@pytest.fixture(scope="function") +async def gopro() -> AsyncGenerator[WiredGoPro, None]: + async with WiredGoPro() as gopro: + assert (await gopro.http_command.delete_all()).ok + yield gopro + + +async def create_single_photo(gopro: WiredGoPro) -> MediaPath: + # Set a "single" photo preset + presets = (await gopro.http_command.get_preset_status()).data + photo_presets = next(group for group in presets["presetGroupArray"] if "photo" in group["id"].lower()) + single_preset_id = next(preset for preset in photo_presets["presetArray"] if "single" in preset["mode"].lower())[ + "id" + ] + assert (await gopro.http_command.load_preset(preset=single_preset_id)).ok + + assert (await gopro.http_command.set_shutter(shutter=Params.Toggle.ENABLE)).ok + photo = (await gopro.http_command.get_last_captured_media()).data + # Sanity check photo is in media list + assert photo in (await gopro.http_command.get_media_list()).data + return photo + + +async def create_burst_photo(gopro: WiredGoPro) -> MediaPath: + # Set a "burst" photo preset + presets = (await gopro.http_command.get_preset_status()).data + photo_presets = next(group for group in presets["presetGroupArray"] if "photo" in group["id"].lower()) + burst_preset_id = next(preset for preset in photo_presets["presetArray"] if "burst" in preset["mode"].lower())["id"] + assert (await gopro.http_command.load_preset(preset=burst_preset_id)).ok + + assert (await gopro.http_command.set_shutter(shutter=Params.Toggle.ENABLE)).ok + grouped_photo = (await gopro.http_command.get_last_captured_media()).data + # Sanity check photo is in media list + assert grouped_photo in (await gopro.http_command.get_media_list()).data + return grouped_photo + + +async def create_timelapse_photo(gopro: WiredGoPro) -> MediaPath: + # Set a "timelapse" photo preset + presets = (await gopro.http_command.get_preset_status()).data + timelapse_presets = next(group for group in presets["presetGroupArray"] if "timelapse" in group["id"].lower()) + assert (await gopro.http_command.load_preset_group(group=proto.EnumPresetGroup.PRESET_GROUP_ID_TIMELAPSE)).ok + assert (await gopro.http_setting.media_format.set(Params.MediaFormat.TIME_LAPSE_PHOTO)).ok + lapse_id = next(preset for preset in timelapse_presets["presetArray"] if "lapse_photo" in preset["mode"].lower())[ + "id" + ] + assert (await gopro.http_command.load_preset(preset=lapse_id)).ok + + # Take a timelapse + assert (await gopro.http_command.set_shutter(shutter=Params.Toggle.ENABLE)).ok + await asyncio.sleep(3) + assert (await gopro.http_command.set_shutter(shutter=Params.Toggle.DISABLE)).ok + + grouped_photo = (await gopro.http_command.get_last_captured_media()).data + # Sanity check photo is in media list + assert grouped_photo in (await gopro.http_command.get_media_list()).data + return grouped_photo + + +@pytest.mark.timeout(60) +class TestOpenGoPro: + """ + Test already-existing but not yet documented open gopro endpoints. + + Results: + + - the delete group endpoint does not exist + - the delete file endpoint succeeds in deleting both single and grouped (burst) files. + + """ + + @pytest.mark.asyncio + async def test_delete_file_deletes_single_file(self, gopro: WiredGoPro): + # GIVEN + photo = await create_single_photo(gopro) + + # WHEN + assert (await gopro.http_command.delete_file(path=photo.as_path)).ok + + # THEN + media_list = (await gopro.http_command.get_media_list()).data.files + assert not media_list # Media list should be empty + + @pytest.mark.asyncio + async def test_delete_file_partially_deletes_burst_group(self, gopro: WiredGoPro): + # GIVEN + burst_group = await create_burst_photo(gopro) + + # WHEN + assert (await gopro.http_command.delete_file(path=burst_group.as_path)).ok + + # THEN + media_list = (await gopro.http_command.get_media_list()).data.files + assert media_list + assert burst_group not in media_list + + @pytest.mark.asyncio + async def test_delete_file_partially_deletes_timelapse_group(self, gopro: WiredGoPro): + # GIVEN + timelapse_group = await create_timelapse_photo(gopro) + + # WHEN + assert (await gopro.http_command.delete_file(path=timelapse_group.as_path)).ok + + # THEN + media_list = (await gopro.http_command.get_media_list()).data.files + assert media_list + assert timelapse_group not in media_list + + @pytest.mark.asyncio + async def test_delete_group_deletes_burst_group(self, gopro: WiredGoPro): + # GIVEN + burst_group = await create_burst_photo(gopro) + + # WHEN + assert (await gopro.http_command.delete_group(path=burst_group.as_path)).ok + + # THEN + media_list = (await gopro.http_command.get_media_list()).data.files + assert not media_list + + @pytest.mark.asyncio + async def test_delete_group_deletes_timelapse_group(self, gopro: WiredGoPro): + # GIVEN + timelapse_group = await create_timelapse_photo(gopro) + + # WHEN + assert (await gopro.http_command.delete_group(path=timelapse_group.as_path)).ok + + # THEN + media_list = (await gopro.http_command.get_media_list()).data.files + assert not media_list diff --git a/demos/python/sdk_wireless_camera_control/tests/test_ble_commands.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_ble_commands.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_ble_commands.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_ble_commands.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_bleak_wrapper.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_bleak_wrapper.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_bleak_wrapper.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_bleak_wrapper.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_enums.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_enums.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_enums.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_enums.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_gopro_ble.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_gopro_ble.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_gopro_ble.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_gopro_ble.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_gopro_wifi.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_gopro_wifi.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_gopro_wifi.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_gopro_wifi.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_http_commands.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_http_commands.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_http_commands.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_http_commands.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_logging.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_logging.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_logging.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_logging.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_models.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_models.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_models.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_models.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_parsers.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_parsers.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_parsers.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_parsers.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_responses.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_responses.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_responses.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_responses.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_services.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_services.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_services.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_services.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_wifi_adapter.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_wifi_adapter.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_wifi_adapter.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_wifi_adapter.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_wired_gopro.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_wired_gopro.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_wired_gopro.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_wired_gopro.py diff --git a/demos/python/sdk_wireless_camera_control/tests/test_wireless_gopro.py b/demos/python/sdk_wireless_camera_control/tests/unit/test_wireless_gopro.py similarity index 100% rename from demos/python/sdk_wireless_camera_control/tests/test_wireless_gopro.py rename to demos/python/sdk_wireless_camera_control/tests/unit/test_wireless_gopro.py diff --git a/docs/ble/_static/css/badge_only.css b/docs/ble/_static/css/badge_only.css index d5e57112..e75426f0 100644 --- a/docs/ble/_static/css/badge_only.css +++ b/docs/ble/_static/css/badge_only.css @@ -1,4 +1,4 @@ /* badge_only.css/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */ -/* This copyright was auto-generated on Fri Apr 12 21:59:45 UTC 2024 */ +/* This copyright was auto-generated on Tue Apr 16 20:07:58 UTC 2024 */ .clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} \ No newline at end of file diff --git a/docs/ble/_static/documentation_options.js b/docs/ble/_static/documentation_options.js index ee7bea6f..e8ce9cc8 100644 --- a/docs/ble/_static/documentation_options.js +++ b/docs/ble/_static/documentation_options.js @@ -1,5 +1,5 @@ /* documentation_options.js/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */ -/* This copyright was auto-generated on Fri Apr 12 21:59:45 UTC 2024 */ +/* This copyright was auto-generated on Tue Apr 16 20:07:58 UTC 2024 */ const DOCUMENTATION_OPTIONS = { VERSION: '0.0.1', diff --git a/docs/ble/_static/jquery.js b/docs/ble/_static/jquery.js index 1aac9436..95268018 100644 --- a/docs/ble/_static/jquery.js +++ b/docs/ble/_static/jquery.js @@ -1,5 +1,5 @@ /* jquery.js/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */ -/* This copyright was auto-generated on Fri Apr 12 21:59:45 UTC 2024 */ +/* This copyright was auto-generated on Tue Apr 16 20:07:58 UTC 2024 */ /*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;tIs the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/features/cohn.html b/docs/ble/features/cohn.html index 4fbb4f42..012cd483 100644 --- a/docs/ble/features/cohn.html +++ b/docs/ble/features/cohn.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/features/control.html b/docs/ble/features/control.html index 07430de2..bf707d5e 100644 --- a/docs/ble/features/control.html +++ b/docs/ble/features/control.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/features/hilights.html b/docs/ble/features/hilights.html index 918cf08a..5f45bd74 100644 --- a/docs/ble/features/hilights.html +++ b/docs/ble/features/hilights.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/features/live_streaming.html b/docs/ble/features/live_streaming.html index 637f82ad..2c1a9d86 100644 --- a/docs/ble/features/live_streaming.html +++ b/docs/ble/features/live_streaming.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/features/presets.html b/docs/ble/features/presets.html index 8f295a25..e679d0c4 100644 --- a/docs/ble/features/presets.html +++ b/docs/ble/features/presets.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/features/query.html b/docs/ble/features/query.html index e5c6f232..c4347f2b 100644 --- a/docs/ble/features/query.html +++ b/docs/ble/features/query.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/features/settings.html b/docs/ble/features/settings.html index 6cadf596..012aafee 100644 --- a/docs/ble/features/settings.html +++ b/docs/ble/features/settings.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/features/statuses.html b/docs/ble/features/statuses.html index 86463816..04d83034 100644 --- a/docs/ble/features/statuses.html +++ b/docs/ble/features/statuses.html @@ -296,7 +296,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -328,12 +328,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -360,7 +359,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -372,6 +371,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • @@ -531,8 +531,8 @@

    Status IDs -

    Is the system encoding right now? (10)

    +
    +

    Is the system currently encoding? (10)

    https://img.shields.io/badge/HERO12Black-911eb4 https://img.shields.io/badge/HERO11BlackMini-f58231 https://img.shields.io/badge/HERO11Black-ffe119 @@ -1070,14 +1070,6 @@

    Status IDs https://img.shields.io/badge/HERO9Black-e6194b

    -
    -

    How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)

    -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO9Black-e6194b -

    Liveview Exposure Select Mode (65)

    https://img.shields.io/badge/HERO12Black-911eb4 @@ -1145,8 +1137,8 @@

    Status IDs -

    Is the camera in AP Mode? (69)

    +
    +

    Is AP mode enabled? (69)

    https://img.shields.io/badge/HERO12Black-911eb4 https://img.shields.io/badge/HERO11BlackMini-f58231 https://img.shields.io/badge/HERO11Black-ffe119 @@ -1637,8 +1629,8 @@

    Status IDs -

    Camera lens type (reflects changes to setting 162 or setting 189) (105)

    +
    +

    Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)

    https://img.shields.io/badge/HERO12Black-911eb4 https://img.shields.io/badge/HERO11BlackMini-f58231 https://img.shields.io/badge/HERO11Black-ffe119 @@ -1881,6 +1873,10 @@

    Status IDs https://img.shields.io/badge/HERO11Black-ffe119

    +
    +

    Photo interval capture count (118)

    +https://img.shields.io/badge/HERO12Black-911eb4 +

    diff --git a/docs/ble/genindex.html b/docs/ble/genindex.html index 06786e21..b30aeede 100644 --- a/docs/ble/genindex.html +++ b/docs/ble/genindex.html @@ -294,7 +294,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -326,12 +326,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -358,7 +357,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -370,6 +369,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/index.html b/docs/ble/index.html index 843b4b03..ae7391e7 100644 --- a/docs/ble/index.html +++ b/docs/ble/index.html @@ -296,7 +296,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -328,12 +328,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -360,7 +359,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -372,6 +371,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/operation-operation_index.html b/docs/ble/operation-operation_index.html index 316f4c58..d814ec54 100644 --- a/docs/ble/operation-operation_index.html +++ b/docs/ble/operation-operation_index.html @@ -301,7 +301,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -333,12 +333,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -365,7 +364,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -377,6 +376,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • @@ -836,137 +836,137 @@

    operation index

    - Setting 151 (Horizon Leveling) (features/settings) + Setting 171 (Interval) (features/settings) Setting - Setting 167 (HindSight) (features/settings) + Setting 134 (Anti-Flicker) (features/settings) Setting - Setting 134 (Anti-Flicker) (features/settings) + Setting 123 (Time Lapse Digital Lenses) (features/settings) Setting - Setting 171 (Interval) (features/settings) + Setting 190 (Max Lens Mod Enable) (features/settings) Setting - Setting 150 (Horizon Leveling) (features/settings) + Setting 189 (Max Lens Mod) (features/settings) Setting - Setting 186 (Video Mode) (features/settings) + Setting 184 (Profiles) (features/settings) Setting - Setting 175 (Controls) (features/settings) + Setting 177 (Enable Night Photo) (features/settings) Setting - Setting 83 (GPS) (features/settings) + Setting 121 (Lens) (features/settings) Setting - Setting 193 (Framing) (features/settings) + Setting 83 (GPS) (features/settings) Setting - Setting 187 (Lapse Mode) (features/settings) + Setting 43 (Webcam Digital Lenses) (features/settings) Setting - Setting 128 (Media Format) (features/settings) + Setting 173 (Video Performance Mode) (features/settings) Setting - Setting 184 (Profiles) (features/settings) + Setting 186 (Video Mode) (features/settings) Setting - Setting 190 (Max Lens Mod Enable) (features/settings) + Setting 59 (Auto Power Down) (features/settings) Setting - Setting 59 (Auto Power Down) (features/settings) + Setting 179 (Trail Length) (features/settings) Setting - Setting 3 (Frames Per Second) (features/settings) + Setting 192 (Aspect Ratio) (features/settings) Setting - Setting 108 (Aspect Ratio) (features/settings) + Setting 2 (Resolution) (features/settings) Setting - Setting 162 (Max Lens) (features/settings) + Setting 175 (Controls) (features/settings) Setting - Setting 43 (Webcam Digital Lenses) (features/settings) + Setting 182 (Bit Rate) (features/settings) Setting - Setting 192 (Aspect Ratio) (features/settings) + Setting 135 (Hypersmooth) (features/settings) Setting - Setting 191 (Photo Mode) (features/settings) + Setting 187 (Lapse Mode) (features/settings) Setting - Setting 178 (Wireless Band) (features/settings) + Setting 150 (Horizon Leveling) (features/settings) Setting - Setting 135 (Hypersmooth) (features/settings) + Setting 162 (Max Lens) (features/settings) Setting - Setting 172 (Duration) (features/settings) + Setting 167 (HindSight) (features/settings) Setting - Setting 182 (Bit Rate) (features/settings) + Setting 178 (Wireless Band) (features/settings) Setting - Setting 173 (Video Performance Mode) (features/settings) + Setting 172 (Duration) (features/settings) Setting - Setting 189 (Max Lens Mod) (features/settings) + Setting 191 (Photo Mode) (features/settings) Setting - Setting 2 (Resolution) (features/settings) + Setting 180 (Video Mode) (features/settings) Setting @@ -976,127 +976,127 @@

    operation index

    - Setting 123 (Time Lapse Digital Lenses) (features/settings) + Setting 3 (Frames Per Second) (features/settings) Setting - Setting 179 (Trail Length) (features/settings) + Setting 128 (Media Format) (features/settings) Setting - Setting 177 (Enable Night Photo) (features/settings) + Setting 151 (Horizon Leveling) (features/settings) Setting - Setting 122 (Lens) (features/settings) + Setting 193 (Framing) (features/settings) Setting - Setting 121 (Lens) (features/settings) + Setting 122 (Lens) (features/settings) Setting - Setting 180 (Video Mode) (features/settings) + Setting 176 (Easy Mode Speed) (features/settings) Setting - Setting 176 (Easy Mode Speed) (features/settings) + Setting 108 (Aspect Ratio) (features/settings) Setting - Status 20 (The last type of pairing in which the camera was engaged) (features/statuses) + Status 95 (Current Time Lapse Preset (ID)) (features/statuses) Status - Status 59 (Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops)) (features/statuses) + Status 8 (Is the camera busy?) (features/statuses) Status - Status 1 (Is the system's internal battery present?) (features/statuses) + Status 26 (Wireless remote control version) (features/statuses) Status - Status 78 (Are current video settings mobile friendly? (related to video compression and frame rate)) (features/statuses) + Status 97 (Current Preset (ID)) (features/statuses) Status - Status 23 (Time since boot (milliseconds) that the WiFi Access Point scan completed) (features/statuses) + Status 116 (Camera control over USB state) (features/statuses) Status - Status 95 (Current Time Lapse Preset (ID)) (features/statuses) + Status 74 (Microphone Accessory status) (features/statuses) Status - Status 42 (Is there a pending request to cancel a firmware update download?) (features/statuses) + Status 78 (Are current video settings mobile friendly? (related to video compression and frame rate)) (features/statuses) Status - Status 88 (Is this camera model capable of zooming while encoding?) (features/statuses) + Status 42 (Is there a pending request to cancel a firmware update download?) (features/statuses) Status - Status 65 (Liveview Exposure Select Mode) (features/statuses) + Status 45 (Is locate camera feature active?) (features/statuses) Status - Status 116 (Camera control over USB state) (features/statuses) + Status 111 (Does sdcard meet specified minimum write speed?) (features/statuses) Status - Status 19 (The pairing state of the camera) (features/statuses) + Status 55 (Is preview stream supported in current recording/mode/secondary-stream?) (features/statuses) Status - Status 101 (Is Capture Delay currently active (i.e. counting down)?) (features/statuses) + Status 82 (Is the system fully booted and ready to accept commands?) (features/statuses) Status - Status 67 (Liveview Exposure Select: y-coordinate (percent)) (features/statuses) + Status 27 (Is a wireless remote control connected?) (features/statuses) Status - Status 97 (Current Preset (ID)) (features/statuses) + Status 65 (Liveview Exposure Select Mode) (features/statuses) Status - Status 81 (Is 5GHz wireless band available?) (features/statuses) + Status 104 (Is the system's Linux core active?) (features/statuses) Status - Status 13 (When encoding video, this is the duration (seconds) of the video so far; 0 otherwise) (features/statuses) + Status 106 (Is Video Hindsight Capture Active?) (features/statuses) Status - Status 86 (Rotational orientation of the camera) (features/statuses) + Status 69 (Is AP mode enabled?) (features/statuses) Status - Status 117 (Total SD card capacity in Kilobytes) (features/statuses) + Status 100 (Total number of Live Bursts on sdcard) (features/statuses) Status @@ -1106,72 +1106,72 @@

    operation index

    - Status 30 (The camera's WiFi SSID. On BLE connection, value is big-endian byte-encoded int32) (features/statuses) + Status 113 (Is Turbo Transfer active?) (features/statuses) Status - Status 74 (Microphone Accessory status) (features/statuses) + Status 96 (Current Preset Group (ID) (corresponds to ui_mode_groups in settings.json)) (features/statuses) Status - Status 21 (Time since boot (milliseconds) of last successful pairing complete action) (features/statuses) + Status 98 (Preset Modified Status, which contains an event ID and a Preset (Group) ID) (features/statuses) Status - Status 96 (Current Preset Group (ID) (corresponds to ui_mode_groups in settings.json)) (features/statuses) + Status 38 (Total number of photos on sdcard) (features/statuses) Status - Status 28 (Wireless Pairing State. Each bit contains state information (see WirelessPairingStateFlags)) (features/statuses) + Status 56 (WiFi signal strength in bars) (features/statuses) Status - Status 2 (Rough approximation of internal battery level in bars (or charging)) (features/statuses) + Status 83 (Is the internal battery charged sufficiently to start Over The Air (OTA) update?) (features/statuses) Status - Status 68 (Does the camera currently have a GPS lock?) (features/statuses) + Status 93 (Current Video Preset (ID)) (features/statuses) Status - Status 111 (Does sdcard meet specified minimum write speed?) (features/statuses) + Status 117 (Total SD card capacity in Kilobytes) (features/statuses) Status - Status 26 (Wireless remote control version) (features/statuses) + Status 33 (Primary Storage Status) (features/statuses) Status - Status 32 (Is Preview Stream enabled?) (features/statuses) + Status 86 (Rotational orientation of the camera) (features/statuses) Status - Status 60 (The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this) (features/statuses) + Status 28 (Wireless Pairing State. Each bit contains state information (see WirelessPairingStateFlags)) (features/statuses) Status - Status 24 (WiFi AP provisioning state) (features/statuses) + Status 81 (Is 5GHz wireless band available?) (features/statuses) Status - Status 83 (Is the internal battery charged sufficiently to start Over The Air (OTA) update?) (features/statuses) + Status 11 (Is LCD lock active?) (features/statuses) Status - Status 55 (Is preview stream supported in current recording/mode/secondary-stream?) (features/statuses) + Status 54 (Remaining space on the sdcard in Kilobytes) (features/statuses) Status @@ -1181,237 +1181,237 @@

    operation index

    - Status 6 (Is the system currently overheating?) (features/statuses) + Status 66 (Liveview Exposure Select: y-coordinate (percent)) (features/statuses) Status - Status 108 (Is Scheduled Capture set?) (features/statuses) + Status 107 (Scheduled Capture Preset ID) (features/statuses) Status - Status 11 (Is LCD lock active?) (features/statuses) + Status 88 (Is this camera model capable of zooming while encoding?) (features/statuses) Status - Status 22 (State of current scan for WiFi Access Points) (features/statuses) + Status 108 (Is Scheduled Capture set?) (features/statuses) Status - Status 98 (Preset Modified Status, which contains an event ID and a Preset (Group) ID) (features/statuses) + Status 35 (How many minutes of video can be captured with current settings before sdcard is full) (features/statuses) Status - Status 100 (Total number of Live Bursts on sdcard) (features/statuses) + Status 115 (Is the camera connected to a PC via USB?) (features/statuses) Status - Status 66 (Liveview Exposure Select: y-coordinate (percent)) (features/statuses) + Status 114 (Camera control status ID) (features/statuses) Status - Status 27 (Is a wireless remote control connected?) (features/statuses) + Status 29 (SSID of the AP the camera is currently connected to. On BLE connection, value is big-endian byte-encoded int32) (features/statuses) Status - Status 33 (Primary Storage Status) (features/statuses) + Status 1 (Is the system's internal battery present?) (features/statuses) Status - Status 9 (Is Quick Capture feature enabled?) (features/statuses) + Status 77 (Is Digital Zoom feature available?) (features/statuses) Status - Status 64 (How many minutes of Time Lapse Video can be captured with current settings before sdcard is full) (features/statuses) + Status 103 (Time Warp Speed) (features/statuses) Status - Status 41 (The current status of Over The Air (OTA) update) (features/statuses) + Status 20 (The last type of pairing in which the camera was engaged) (features/statuses) Status - Status 85 (Is the camera getting too cold to continue recording?) (features/statuses) + Status 101 (Is Capture Delay currently active (i.e. counting down)?) (features/statuses) Status - Status 77 (Is Digital Zoom feature available?) (features/statuses) + Status 59 (Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops)) (features/statuses) Status - Status 76 (Wireless Band) (features/statuses) + Status 70 (Internal battery level (percent)) (features/statuses) Status - Status 56 (WiFi signal strength in bars) (features/statuses) + Status 118 (Photo interval capture count) (features/statuses) Status - Status 34 (How many photos can be taken with current settings before sdcard is full) (features/statuses) + Status 2 (Rough approximation of internal battery level in bars (or charging)) (features/statuses) Status - Status 70 (Internal battery level (percent)) (features/statuses) + Status 112 (Number of sdcard write speed errors since device booted) (features/statuses) Status - Status 54 (Remaining space on the sdcard in Kilobytes) (features/statuses) + Status 79 (Is the camera currently in First Time Use (FTU) UI flow?) (features/statuses) Status - Status 17 (Are Wireless Connections enabled?) (features/statuses) + Status 60 (The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this) (features/statuses) Status - Status 107 (Scheduled Capture Preset ID) (features/statuses) + Status 19 (The pairing state of the camera) (features/statuses) Status - Status 10 (Is the system encoding right now?) (features/statuses) + Status 75 (Digital Zoom level (percent)) (features/statuses) Status - Status 104 (Is the system's Linux core active?) (features/statuses) + Status 23 (Time since boot (milliseconds) that the WiFi Access Point scan completed) (features/statuses) Status - Status 69 (Is the camera in AP Mode?) (features/statuses) + Status 13 (When encoding video, this is the duration (seconds) of the video so far; 0 otherwise) (features/statuses) Status - Status 99 (The number of Live Bursts can be captured with current settings before sdcard is full) (features/statuses) + Status 32 (Is Preview Stream enabled?) (features/statuses) Status - Status 79 (Is the camera currently in First Time Use (FTU) UI flow?) (features/statuses) + Status 21 (Time since boot (milliseconds) of last successful pairing complete action) (features/statuses) Status - Status 89 (Current Flatmode ID) (features/statuses) + Status 34 (How many photos can be taken with current settings before sdcard is full) (features/statuses) Status - Status 38 (Total number of photos on sdcard) (features/statuses) + Status 99 (The number of Live Bursts can be captured with current settings before sdcard is full) (features/statuses) Status - Status 8 (Is the camera busy?) (features/statuses) + Status 67 (Liveview Exposure Select: y-coordinate (percent)) (features/statuses) Status - Status 75 (Digital Zoom level (percent)) (features/statuses) + Status 39 (Total number of videos on sdcard) (features/statuses) Status - Status 93 (Current Video Preset (ID)) (features/statuses) + Status 76 (Wireless Band) (features/statuses) Status - Status 49 (The current timelapse interval countdown value (e.g. 5...4...3...2...1...)) (features/statuses) + Status 31 (The number of wireless devices connected to the camera) (features/statuses) Status - Status 31 (The number of wireless devices connected to the camera) (features/statuses) + Status 85 (Is the camera getting too cold to continue recording?) (features/statuses) Status - Status 113 (Is Turbo Transfer active?) (features/statuses) + Status 6 (Is the system currently overheating?) (features/statuses) Status - Status 94 (Current Photo Preset (ID)) (features/statuses) + Status 30 (The camera's WiFi SSID. On BLE connection, value is big-endian byte-encoded int32) (features/statuses) Status - Status 112 (Number of sdcard write speed errors since device booted) (features/statuses) + Status 41 (The current status of Over The Air (OTA) update) (features/statuses) Status - Status 35 (How many minutes of video can be captured with current settings before sdcard is full) (features/statuses) + Status 24 (WiFi AP provisioning state) (features/statuses) Status - Status 110 (Display Mod Status (bitmasked)) (features/statuses) + Status 9 (Is Quick Capture feature enabled?) (features/statuses) Status - Status 115 (Is the camera connected to a PC via USB?) (features/statuses) + Status 10 (Is the system currently encoding?) (features/statuses) Status - Status 29 (SSID of the AP the camera is currently connected to. On BLE connection, value is big-endian byte-encoded int32) (features/statuses) + Status 89 (Current Flatmode ID) (features/statuses) Status - Status 105 (Camera lens type (reflects changes to setting 162 or setting 189)) (features/statuses) + Status 68 (Does the camera currently have a GPS lock?) (features/statuses) Status - Status 39 (Total number of videos on sdcard) (features/statuses) + Status 22 (State of current scan for WiFi Access Points) (features/statuses) Status - Status 114 (Camera control status ID) (features/statuses) + Status 105 (Camera lens type (reflects changes to lens settings such as 162, 189, 194, ...)) (features/statuses) Status - Status 103 (Time Warp Speed) (features/statuses) + Status 110 (Display Mod Status (bitmasked)) (features/statuses) Status - Status 106 (Is Video Hindsight Capture Active?) (features/statuses) + Status 17 (Are Wireless Connections enabled?) (features/statuses) Status - Status 45 (Is locate camera feature active?) (features/statuses) + Status 94 (Current Photo Preset (ID)) (features/statuses) Status - Status 82 (Is the system fully booted and ready to accept commands?) (features/statuses) + Status 49 (The current timelapse interval countdown value (e.g. 5...4...3...2...1...)) (features/statuses) Status diff --git a/docs/ble/protocol.html b/docs/ble/protocol.html index ae87377a..c4b801f1 100644 --- a/docs/ble/protocol.html +++ b/docs/ble/protocol.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/protocol/ble_setup.html b/docs/ble/protocol/ble_setup.html index 0cd467b5..48352143 100644 --- a/docs/ble/protocol/ble_setup.html +++ b/docs/ble/protocol/ble_setup.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/protocol/data_protocol.html b/docs/ble/protocol/data_protocol.html index 49a119fc..33865af9 100644 --- a/docs/ble/protocol/data_protocol.html +++ b/docs/ble/protocol/data_protocol.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • @@ -681,6 +681,28 @@

    Commands +

    where the possible Command Statuses are:

    + + + + + + + + + + + + + + + + + + + + +

    Command

    Status Description

    0

    Success

    1

    Error

    2

    Invalid Parameter

    3-255

    Reserved

    The individual command documentation specified by the message’s Command ID will define the response.

    diff --git a/docs/ble/protocol/id_tables.html b/docs/ble/protocol/id_tables.html index 9d73070d..7febfaca 100644 --- a/docs/ble/protocol/id_tables.html +++ b/docs/ble/protocol/id_tables.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • @@ -856,7 +856,7 @@

    Status IDsIs Quick Capture feature enabled?

    10

    -

    Is the system encoding right now?

    +

    Is the system currently encoding?

    11

    Is LCD lock active?

    @@ -951,138 +951,138 @@

    Status IDs

    60

    The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this

    -

    64

    -

    How many minutes of Time Lapse Video can be captured with current settings before sdcard is full

    - -

    65

    +

    65

    Liveview Exposure Select Mode

    -

    66

    +

    66

    Liveview Exposure Select: y-coordinate (percent)

    -

    67

    +

    67

    Liveview Exposure Select: y-coordinate (percent)

    -

    68

    +

    68

    Does the camera currently have a GPS lock?

    -

    69

    -

    Is the camera in AP Mode?

    +

    69

    +

    Is AP mode enabled?

    -

    70

    +

    70

    Internal battery level (percent)

    -

    74

    +

    74

    Microphone Accessory status

    -

    75

    +

    75

    Digital Zoom level (percent)

    -

    76

    +

    76

    Wireless Band

    -

    77

    +

    77

    Is Digital Zoom feature available?

    -

    78

    +

    78

    Are current video settings mobile friendly? (related to video compression and frame rate)

    -

    79

    +

    79

    Is the camera currently in First Time Use (FTU) UI flow?

    -

    81

    +

    81

    Is 5GHz wireless band available?

    -

    82

    +

    82

    Is the system fully booted and ready to accept commands?

    -

    83

    +

    83

    Is the internal battery charged sufficiently to start Over The Air (OTA) update?

    -

    85

    +

    85

    Is the camera getting too cold to continue recording?

    -

    86

    +

    86

    Rotational orientation of the camera

    -

    88

    +

    88

    Is this camera model capable of zooming while encoding?

    -

    89

    +

    89

    Current Flatmode ID

    -

    93

    +

    93

    Current Video Preset (ID)

    -

    94

    +

    94

    Current Photo Preset (ID)

    -

    95

    +

    95

    Current Time Lapse Preset (ID)

    -

    96

    +

    96

    Current Preset Group (ID) (corresponds to ui_mode_groups in settings.json)

    -

    97

    +

    97

    Current Preset (ID)

    -

    98

    +

    98

    Preset Modified Status, which contains an event ID and a Preset (Group) ID

    -

    99

    +

    99

    The number of Live Bursts can be captured with current settings before sdcard is full

    -

    100

    +

    100

    Total number of Live Bursts on sdcard

    -

    101

    +

    101

    Is Capture Delay currently active (i.e. counting down)?

    -

    102

    +

    102

    Media Mod state

    -

    103

    +

    103

    Time Warp Speed

    -

    104

    +

    104

    Is the system's Linux core active?

    -

    105

    -

    Camera lens type (reflects changes to setting 162 or setting 189)

    +

    105

    +

    Camera lens type (reflects changes to lens settings such as 162, 189, 194, ...)

    -

    106

    +

    106

    Is Video Hindsight Capture Active?

    -

    107

    +

    107

    Scheduled Capture Preset ID

    -

    108

    +

    108

    Is Scheduled Capture set?

    -

    110

    +

    110

    Display Mod Status (bitmasked)

    -

    111

    +

    111

    Does sdcard meet specified minimum write speed?

    -

    112

    +

    112

    Number of sdcard write speed errors since device booted

    -

    113

    +

    113

    Is Turbo Transfer active?

    -

    114

    +

    114

    Camera control status ID

    -

    115

    +

    115

    Is the camera connected to a PC via USB?

    -

    116

    +

    116

    Camera control over USB state

    -

    117

    +

    117

    Total SD card capacity in Kilobytes

    +

    118

    +

    Photo interval capture count

    + diff --git a/docs/ble/protocol/protobuf.html b/docs/ble/protocol/protobuf.html index de262b55..c1562c20 100644 --- a/docs/ble/protocol/protobuf.html +++ b/docs/ble/protocol/protobuf.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • diff --git a/docs/ble/protocol/state_management.html b/docs/ble/protocol/state_management.html index cad292bc..519dd709 100644 --- a/docs/ble/protocol/state_management.html +++ b/docs/ble/protocol/state_management.html @@ -297,7 +297,7 @@
  • Is the system currently overheating? (6)
  • Is the camera busy? (8)
  • Is Quick Capture feature enabled? (9)
  • -
  • Is the system encoding right now? (10)
  • +
  • Is the system currently encoding? (10)
  • Is LCD lock active? (11)
  • When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)
  • Are Wireless Connections enabled? (17)
  • @@ -329,12 +329,11 @@
  • The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)
  • Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)
  • The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)
  • -
  • How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)
  • Liveview Exposure Select Mode (65)
  • Liveview Exposure Select: y-coordinate (percent) (66)
  • Liveview Exposure Select: y-coordinate (percent) (67)
  • Does the camera currently have a GPS lock? (68)
  • -
  • Is the camera in AP Mode? (69)
  • +
  • Is AP mode enabled? (69)
  • Internal battery level (percent) (70)
  • Microphone Accessory status (74)
  • Digital Zoom level (percent) (75)
  • @@ -361,7 +360,7 @@
  • Media Mod state (102)
  • Time Warp Speed (103)
  • Is the system’s Linux core active? (104)
  • -
  • Camera lens type (reflects changes to setting 162 or setting 189) (105)
  • +
  • Camera lens type (reflects changes to lens settings such as 162, 189, 194, …) (105)
  • Is Video Hindsight Capture Active? (106)
  • Scheduled Capture Preset ID (107)
  • Is Scheduled Capture set? (108)
  • @@ -373,6 +372,7 @@
  • Is the camera connected to a PC via USB? (115)
  • Camera control over USB state (116)
  • Total SD card capacity in Kilobytes (117)
  • +
  • Photo interval capture count (118)
  • @@ -408,7 +408,7 @@

    State Management

    Camera Readiness

    Depending on the camera’s state, it may not be ready to accept specific commands. This ready state is dependent on the -System Busy and Encoding Active status flags. For example:

    +System Busy and Encoding Active status flags. For example:

    diff --git a/docs/ble/searchindex.js b/docs/ble/searchindex.js index 7c688d6c..136fadec 100644 --- a/docs/ble/searchindex.js +++ b/docs/ble/searchindex.js @@ -1,4 +1,4 @@ /* searchindex.js/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */ -/* This copyright was auto-generated on Fri Apr 12 21:59:45 UTC 2024 */ +/* This copyright was auto-generated on Tue Apr 16 20:07:58 UTC 2024 */ -Search.setIndex({"docnames": ["features/access_points", "features/cohn", "features/control", "features/hilights", "features/live_streaming", "features/presets", "features/query", "features/settings", "features/statuses", "index", "protocol", "protocol/ble_setup", "protocol/data_protocol", "protocol/id_tables", "protocol/protobuf", "protocol/state_management"], "filenames": ["features/access_points.rst", "features/cohn.rst", "features/control.rst", "features/hilights.rst", "features/live_streaming.rst", "features/presets.rst", "features/query.rst", "features/settings.rst", "features/statuses.rst", "index.rst", "protocol.rst", "protocol/ble_setup.rst", "protocol/data_protocol.rst", "protocol/id_tables.rst", "protocol/protobuf.rst", "protocol/state_management.rst"], "titles": ["Access Point", "Camera on the Home Network", "Control", "Hilights", "Live Streaming", "Presets", "Query", "Settings", "Statuses", "Welcome to Open GoPro BLE API\u2019s documentation!", "Protocol", "BLE Setup", "Data Protocol", "ID Tables", "Protobuf Documentation", "State Management"], "terms": {"The": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "camera": [0, 2, 4, 5, 6, 10, 11, 12, 13, 14], "support": [0, 1, 2, 4, 6, 7, 11, 13, 14], "connect": [0, 1, 2, 4, 11, 13, 14, 15], "station": [0, 4, 14], "mode": [0, 2, 4, 5, 9, 10, 13, 14], "sta": [0, 14], "thi": [0, 1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15], "i": [0, 1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15], "necessari": [0, 7, 11, 12, 15], "featur": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14], "live": [0, 9, 13, 14], "stream": [0, 9, 13, 14], "where": [0, 9, 12], "need": [0, 1, 9, 11], "an": [0, 1, 4, 6, 7, 9, 11, 12, 13, 14, 15], "internet": [0, 14], "while": [0, 3, 9, 11, 13, 14, 15], "http": [0, 1, 14], "command": [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 14, 15], "control": [0, 1, 5, 9, 10, 11, 13, 14], "avail": [0, 5, 9, 13, 14], "some": [0, 1, 2, 12, 15], "scan": [0, 11, 13, 14], "type": [0, 1, 2, 3, 4, 5, 6, 7, 10, 13, 14], "protobuf": [0, 1, 2, 4, 5, 6, 9, 10], "request": [0, 1, 2, 3, 4, 5, 6, 7, 9, 12, 13, 14], "start": [0, 2, 4, 6, 12, 13, 14], "serial": [0, 2, 12, 14], "object": [0, 7, 12, 14], "zero": [0, 2, 5, 8, 14], "byte": [0, 2, 6, 12, 13, 14], "respons": [0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 13, 14], "responsestartscan": [0, 13], "ar": [0, 1, 5, 6, 7, 9, 10, 11, 12, 13, 14], "sent": [0, 4, 5, 6, 11, 12, 14], "immedi": [0, 2, 5, 14], "after": [0, 2, 11, 12, 14, 15], "receiv": [0, 6, 9, 11, 12, 14], "notif": [0, 1, 2, 4, 5, 6, 11, 13, 14], "notifstartscan": [0, 13], "period": [0, 5, 14, 15], "state": [0, 5, 6, 7, 9, 10, 11, 12, 13, 14], "chang": [0, 1, 4, 5, 6, 7, 9, 13, 14, 15], "us": [0, 1, 2, 3, 4, 5, 9, 10, 12, 13, 14, 15], "detect": [0, 14], "complet": [0, 9, 13, 14], "uuid": [0, 1, 2, 3, 4, 5, 6, 7, 11, 12], "network": [0, 9, 11, 14], "manag": [0, 9, 10, 11], "id": [0, 1, 2, 3, 4, 5, 6, 9, 10, 12, 14], "0x02": [0, 13], "action": [0, 1, 2, 4, 5, 6, 12, 13], "messag": [0, 1, 2, 4, 5, 6, 9, 10, 13, 14, 15], "requeststartscan": [0, 13], "doc": [0, 1, 2, 4, 5, 6], "sourc": [0, 1, 2, 4, 5, 6, 14], "current": [0, 1, 2, 4, 5, 6, 7, 9, 12, 13, 14], "initi": [0, 4, 5, 6, 10, 14], "0x82": [0, 6, 13], "trigger": [0, 1, 14], "via": [0, 1, 2, 4, 5, 6, 7, 9, 11, 13, 14], "0x0b": [0, 13], "get": [0, 1, 4, 5, 6, 7, 13, 14, 15], "ap": [0, 2, 11, 13, 14], "result": [0, 6, 7, 9, 12, 13, 14], "list": [0, 7, 9, 14], "found": [0, 5, 6, 7, 14], "dure": [0, 3, 11, 14], "responsegetapentri": [0, 13], "0x03": [0, 13], "requestgetapentri": [0, 13], "A": [0, 1, 5, 7, 12, 14, 15], "entri": [0, 14], "describ": [0, 6, 8, 9, 12, 14], "0x83": [0, 13], "provis": [0, 13, 14], "can": [0, 1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14], "onli": [0, 3, 5, 6, 7, 8, 12, 14], "ha": [0, 1, 8, 12, 14], "been": [0, 12, 14], "previous": [0, 7, 14], "configur": [0, 1, 2, 4, 10, 14], "therefor": [0, 15], "first": [0, 1, 6, 7, 9, 11, 12, 13, 14], "ensur": [0, 11], "relev": [0, 9, 11, 12], "scan_flag_configur": [0, 14], "bit": [0, 11, 13], "set": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 14, 15], "do": [0, 11, 12, 14], "authent": [0, 14], "intend": [0, 14], "responseconnect": [0, 13], "notifprovisioningst": [0, 13], "0x04": [0, 13], "requestconnect": [0, 13], "statu": [0, 1, 2, 4, 6, 10, 12, 14, 15], "attempt": [0, 8, 14], "0x84": [0, 13], "requestconnectnew": [0, 13], "0x0c": [0, 13], "new": [0, 1, 5, 11, 13, 14], "doe": [0, 1, 11, 13, 14], "have": [0, 1, 11, 12, 13], "responseconnectnew": [0, 13], "0x05": [0, 2, 13], "0x85": [0, 13], "To": [0, 5, 8, 12], "return": [0, 1, 2, 5, 6, 14], "On": [0, 1, 2, 7, 13, 14], "which": [0, 1, 2, 5, 11, 13, 14], "disabl": [0, 2, 8, 14], "cohn": [1, 13, 14], "capabl": [1, 6, 9, 13], "allow": [1, 11], "client": [1, 2, 5, 11, 14, 15], "perform": [1, 5, 9, 13, 14], "indirectli": 1, "through": [1, 9, 10], "access": [1, 2, 4, 9, 11, 13, 14], "point": [1, 2, 4, 9, 11, 13, 14], "router": 1, "For": [1, 2, 4, 7, 9, 11, 12, 15], "secur": 1, "purpos": 1, "all": [1, 2, 6, 11, 12], "commun": [1, 9, 10, 11], "over": [1, 13], "hero12": [1, 6, 9], "black": [1, 6, 7, 9], "hero11": [1, 9], "mini": [1, 9], "hero10": [1, 9], "hero9": [1, 9], "requir": [1, 11, 14], "two": [1, 8, 11, 12], "thing": 1, "trust": 1, "ssl": [1, 14], "tl": [1, 14], "basic": [1, 7, 9, 14], "auth": [1, 14], "usernam": [1, 14], "password": [1, 11, 14], "header": [1, 14], "root": [1, 14], "ca": [1, 14], "cert": [1, 14], "provid": 1, "1": [1, 2, 6, 7, 12, 13, 14], "year": [1, 2, 6], "lifespan": 1, "contain": [1, 6, 7, 12, 13, 14], "": [1, 2, 4, 5, 6, 7, 11, 12, 13, 14, 15], "ip": [1, 14], "address": [1, 14], "local": [1, 2, 6, 13, 14], "sign": 1, "chain": 1, "e": [1, 2, 5, 6, 13, 14, 15], "g": [1, 5, 13, 14, 15], "when": [1, 2, 5, 6, 12, 13, 14], "dhcp": 1, "leas": 1, "expir": 1, "reset": [1, 2, 5, 11, 12], "replac": 1, "without": [1, 2, 6], "download": [1, 13], "instal": 1, "act": 1, "author": 1, "creat": [1, 5, 13, 14], "valid": [1, 7, 11, 14], "util": 1, "openssl": 1, "cafil": 1, "path": [1, 6, 14], "goprorootca": 1, "crt": 1, "ok": [1, 8], "most": [1, 2, 9, 13, 14], "system": [1, 13, 14, 15], "about": [1, 2, 4, 6, 14], "maco": 1, "right": [1, 13], "mous": 1, "click": 1, "quick": [1, 13], "look": 1, "window": 1, "properti": [1, 14], "ubuntu": 1, "open": [1, 6, 10, 12, 13], "file": [1, 7, 14], "x509": 1, "noout": 1, "text": [1, 14], "In": [1, 2, 7, 11, 12, 15], "order": [1, 2, 5, 7, 10, 11, 12, 15], "must": [1, 5, 8, 11, 12, 14], "At": 1, "high": [1, 7], "level": [1, 12, 13, 14], "process": [1, 11], "follow": [1, 4, 7, 10, 11, 12, 14], "instruct": 1, "gopro": [1, 2, 6, 8, 10, 11, 12, 13, 15], "credenti": 1, "depend": [1, 5, 6, 7, 12, 14, 15], "case": [1, 5, 9, 14], "step": [1, 11], "onc": [1, 11, 12], "nearli": 1, "function": [1, 9], "more": [1, 6, 7, 11, 12, 13, 14], "see": [1, 4, 6, 7, 9, 11, 12, 13], "specif": [1, 15], "clear": [1, 13, 14], "responsegener": [1, 2, 4, 5, 13], "0xf1": [1, 2, 4, 5, 13], "0x66": [1, 13], "requestclearcohncert": [1, 13], "gener": [1, 2, 4, 5, 14], "across": [1, 2, 4, 5, 14], "mani": [1, 2, 4, 5, 13, 14], "0xe6": [1, 13], "creation": [1, 14], "0x67": [1, 13], "requestcreatecohncert": [1, 13], "0xe7": [1, 13], "responsecohncert": [1, 13], "queri": [1, 4, 5, 7, 8, 9, 10, 11, 15], "0xf5": [1, 4, 5, 6, 13], "0x6e": [1, 13], "requestcohncert": [1, 13], "0xee": [1, 13], "notifycohnstatu": [1, 13], "addition": [1, 9, 14], "asynchron": [1, 4, 5, 11, 13, 14], "updat": [1, 2, 5, 6, 9, 13, 14], "also": [1, 14], "regist": [1, 4, 5, 6, 13, 14], "valu": [1, 2, 5, 6, 7, 9, 13, 14], "0x6f": [1, 13], "requestgetcohnstatu": [1, 13], "0xef": [1, 13], "0x65": [1, 13], "requestsetcohnset": [1, 13], "0xe5": [1, 13], "page": [2, 14], "detail": [2, 4, 7, 14], "keep": [2, 10, 13], "aliv": [2, 10, 13], "tlv": [2, 3, 5, 6, 7, 12], "0x5b": [2, 13], "maxim": [2, 12], "batteri": [2, 7, 13], "life": 2, "automat": [2, 14, 15], "go": 2, "sleep": [2, 11, 13], "time": [2, 6, 11, 13, 14, 15], "logic": 2, "handl": 2, "combin": 2, "auto": [2, 8, 13], "off": [2, 15], "user": [2, 5, 7, 9, 14, 15], "regularli": 2, "send": [2, 5, 9, 12, 14, 15], "both": 2, "timer": 2, "reach": 2, "power": [2, 11, 13, 15], "down": [2, 13], "tap": 2, "lcd": [2, 13], "screen": [2, 14], "press": [2, 5, 14], "button": [2, 14], "programmat": 2, "un": 2, "shutter": [2, 4, 13], "load": [2, 5, 13, 15], "preset": [2, 7, 9, 13, 15], "best": [2, 11, 13, 15], "practic": [2, 11, 13, 15], "prevent": [2, 15], "from": [2, 5, 6, 7, 8, 11, 12, 14], "inadvert": 2, "everi": [2, 7], "3": [2, 12, 13, 14], "0": [2, 6, 7, 12, 13, 14], "second": [2, 6, 13, 14], "establish": 2, "paramet": [2, 5, 6, 7, 12], "keep_al": 2, "uint8": [2, 6, 7], "hard": 2, "code": [2, 9], "data": [2, 6, 9, 10, 11], "0x42": 2, "analyt": [2, 13], "0x50": [2, 13], "third": [2, 14, 15], "parti": [2, 14, 15], "track": 2, "0x17": [2, 13], "enabl": [2, 5, 11, 13, 14], "wifi": [2, 11, 13, 14], "part": [2, 6, 14], "global": [2, 14], "behavior": [2, 14, 15], "tell": [2, 14, 15], "app": [2, 8, 14, 15], "extern": [2, 8, 14], "wish": [2, 14, 15], "claim": [2, 14, 15], "caus": [2, 11, 14], "exit": [2, 5, 12, 14], "contextu": [2, 14], "menu": [2, 8, 14], "idl": [2, 8, 14], "ani": [2, 4, 5, 9, 14], "interact": [2, 14], "physic": [2, 14], "reclaim": [2, 14], "accordingli": [2, 14], "If": [2, 6, 7, 11, 12, 14, 15], "ui": [2, 5, 11, 13, 14], "entiti": [2, 8, 14], "advertis": [2, 10, 14], "114": [2, 7, 13, 14], "inform": [2, 6, 7, 11, 13, 14], "whether": [2, 5, 11, 12, 14], "63": [2, 14], "0x69": [2, 13], "requestsetcameracontrolstatu": [2, 13], "0xe9": [2, 13], "date": [2, 6, 13], "0x0d": [2, 13], "timezon": [2, 6], "daylight": [2, 6], "save": [2, 6, 14], "date_tim": 2, "7": [2, 7, 8, 12, 14], "defin": [2, 6, 7, 12, 14], "uint16": [2, 6], "month": [2, 6], "12": [2, 6, 7, 8, 14], "dai": [2, 6], "31": [2, 6, 12, 13, 14], "hour": [2, 6, 7, 11], "23": [2, 6, 7, 13, 14], "minut": [2, 6, 7, 13], "59": [2, 6, 13, 14], "exampl": [2, 7, 9, 11, 12, 15], "2023": 2, "01": [2, 6, 9, 12], "03": [2, 9], "04": 2, "05": 2, "07": 2, "e7": 2, "1f": 2, "abov": [2, 6, 7, 9], "0x0f": [2, 13], "10": [2, 7, 9, 12, 13, 14], "int16": [2, 6], "utc": [2, 6], "offset": [2, 6], "is_dst": [2, 6], "otherwis": [2, 12, 13], "02": 2, "00": [2, 9, 12], "dst": 2, "ff": 2, "88": [2, 13], "0x01": [2, 13], "turbo": [2, 13, 14], "transfer": [2, 13, 14], "displai": [2, 13, 14], "media": [2, 4, 6, 13, 15], "0x6b": [2, 13], "requestsetturboact": [2, 13], "0xeb": [2, 13], "put": [2, 4, 11], "still": 2, "ble": [2, 10, 12, 13], "moment": [3, 13], "0x18": [3, 13], "add": [3, 14], "record": [3, 13], "encod": [3, 9, 13, 14, 15], "abil": 4, "social": 4, "platform": 4, "twitch": 4, "youtub": 4, "facebook": 4, "other": [4, 15], "site": 4, "accept": [4, 13, 14, 15], "rtmp": [4, 14], "url": [4, 14], "addit": [4, 14], "how": [4, 9, 12, 13], "accomplish": [4, 12], "livestream": [4, 13, 14], "poll": [4, 13], "until": 4, "indic": [4, 11, 14], "readi": [4, 10, 13, 14], "begin": 4, "unset": [4, 15], "stop": [4, 13, 14], "0x79": [4, 13], "requestsetlivestreammod": [4, 13], "0xf9": [4, 13], "option": [4, 5, 6, 7, 8, 12, 14], "futur": [4, 14], "notifylivestreamstatu": [4, 13], "0x74": [4, 13], "requestgetlivestreamstatu": [4, 13], "either": [4, 5, 12, 14], "As": [4, 14], "synchron": [4, 5, 14], "0xf4": [4, 13], "organ": 5, "differ": [5, 12], "collect": 5, "below": [5, 7, 9, 11, 12], "tabl": [5, 9, 10, 11, 12], "affect": 5, "therebi": 5, "162": [5, 13], "max": [5, 8, 13, 14], "len": [5, 13, 14], "173": [5, 13], "video": [5, 6, 9, 13, 14, 15], "175": [5, 13], "177": [5, 13], "night": [5, 13], "photo": [5, 6, 9, 13, 14, 15], "180": [5, 8, 13], "186": [5, 13], "187": [5, 13], "laps": [5, 13], "189": [5, 13], "mod": [5, 13], "190": [5, 13], "191": [5, 13], "find": 5, "98": [5, 13], "non": [5, 14], "submenu": 5, "were": 5, "delet": [5, 14], "within": [5, 14], "factori": [5, 11, 14], "default": [5, 8, 14], "notifi": [5, 11, 14], "notifypresetstatu": [5, 13], "one": [5, 6, 7, 8, 12, 14], "caption": [5, 14], "api": [5, 6, 14], "long": [5, 7, 14], "pill": [5, 14], "back": [5, 14], "arrow": [5, 14], "reorder": [5, 14], "0x72": [5, 6, 13], "requestgetpresetstatu": [5, 13], "0xf2": [5, 13], "0xf3": [5, 13], "0x40": [5, 13], "uint32": 5, "0x3e": [5, 13], "enumpresetgroup": 5, "custom": [5, 13, 14], "titl": [5, 14], "icon": [5, 14], "activ": [5, 9, 13, 14, 15], "fail": [5, 7, 8, 14], "icon_id": [5, 14], "alwai": [5, 7, 9, 12, 14, 15], "pass": [5, 14], "title_id": [5, 14], "preset_title_user_defined_custom_nam": [5, 14], "94": [5, 13, 14], "name": [5, 7, 8, 9, 14], "specifi": [5, 12, 13, 14], "custom_nam": [5, 14], "0x64": [5, 13], "requestcustompresetupd": [5, 13], "0xe4": [5, 13], "section": [6, 8, 9, 10, 11, 12], "variou": [6, 9, 10], "0x0e": [6, 13], "response_length": 6, "length": [6, 13], "payload": [6, 10], "weekdai": 6, "sundai": 6, "saturdai": 6, "6": [6, 7, 12, 13, 14], "hardwar": [6, 13], "info": [6, 13, 14], "0x3c": [6, 13], "firmwar": [6, 7, 9, 13], "note": [6, 12], "model": [6, 9, 13, 14], "number": [6, 13, 14], "under": 6, "model_number_length": 6, "model_numb": 6, "unsign": 6, "model_name_length": 6, "model_nam": 6, "string": [6, 8, 12, 14], "deprecated_length": 6, "deprec": 6, "firmware_version_length": 6, "firmware_vers": 6, "h23": [6, 9], "99": [6, 13], "56": [6, 13], "serial_number_length": 6, "serial_numb": 6, "c1234567812345": 6, "ap_ssid_length": 6, "ap_ssid": 6, "gp12345678": 6, "ap_mac_address_length": 6, "ap_mac_address": 6, "2674f7f65f78": 6, "reserv": [6, 12], "11": [6, 7, 13, 14], "0x10": [6, 13], "ye": 6, "last": [6, 13, 14], "captur": [6, 13, 14, 15], "filenam": [6, 14], "responselastcapturedmedia": [6, 13], "0x6d": [6, 13], "requestgetlastcapturedmedia": [6, 13], "rel": [6, 14], "dcim": [6, 14], "directori": [6, 14], "sdcard": [6, 13, 14, 15], "singl": [6, 12, 14], "group": [6, 13, 14], "0xed": [6, 13], "version": [6, 7, 9, 12, 13], "0x51": [6, 13], "major_length": 6, "major": 6, "minor_length": 6, "minor": 6, "associ": [6, 9, 14], "element": [6, 12, 13], "arrai": [6, 12, 14], "empti": 6, "0x12": [6, 13], "field": [6, 14], "individu": [6, 7, 12, 14], "document": [6, 7, 10, 12], "status": [6, 9, 14], "0x13": [6, 13], "report": 6, "those": 6, "0x32": [6, 13], "whenev": 6, "0x52": [6, 13], "0x92": [6, 13], "0x53": [6, 13], "0x93": [6, 13], "0x62": [6, 13], "0xa2": [6, 13], "unregist": [6, 13, 14], "cancel": [6, 13], "ongo": 6, "0x73": [6, 13], "usual": [7, 14], "anoth": 7, "often": [7, 13], "releas": 7, "next": 7, "whitelist": 7, "These": 7, "each": [7, 11, 12, 13], "compris": [7, 12, 14], "present": [7, 13], "mean": [7, 14], "guarante": 7, "attain": 7, "failur": 7, "adher": 7, "mai": [7, 14, 15], "blacklist": 7, "rule": 7, "reject": [7, 9, 14, 15], "4": [7, 12, 13, 14], "5": [7, 13, 14], "hero": 7, "re": [7, 11, 14], "1080": 7, "60": [7, 9, 13, 14], "hz": 7, "fp": 7, "240": 7, "wide": 7, "work": [7, 12], "standard": 7, "suppos": 7, "wa": [7, 11, 13, 14], "4k": 7, "tri": 7, "becaus": [7, 14], "240fp": 7, "here": [7, 12], "spreadsheet": 7, "worksheet": 7, "row": [7, 12], "repres": [7, 14], "outlin": 7, "construct": 7, "given": [7, 14], "schema": 7, "settingid": [7, 13], "superset": 7, "altern": [7, 11, 12], "dynam": [7, 11], "value_length": 7, "variabl": [7, 12], "7k": 7, "1440": 7, "9": [7, 13, 14], "18": [7, 14], "24": [7, 13, 14], "5k": 7, "25": [7, 14], "26": [7, 13, 14], "3k": 7, "8": [7, 11, 13, 14], "27": [7, 13, 14], "28": [7, 13, 14], "100": [7, 13], "107": [7, 13], "109": 7, "110": [7, 13], "111": [7, 13], "120": 7, "50": 7, "30": [7, 13, 14], "13": [7, 13, 14], "200": 7, "narrow": [7, 11], "superview": 7, "linear": 7, "never": [7, 8], "min": 7, "15": [7, 14], "ON": [7, 11], "16": [7, 14], "hyperview": 7, "lock": [7, 13], "19": [7, 13, 14], "101": [7, 13], "102": [7, 13], "20": [7, 12, 13, 14], "21": [7, 13, 14], "60hz": 7, "50hz": 7, "boost": 7, "maximum": [7, 14], "extend": 7, "tripod": 7, "stationari": 7, "easi": [7, 13], "pro": 7, "8x": 7, "ultra": 7, "slo": 7, "mo": 7, "4x": 7, "super": 7, "2x": [7, 8], "1x": [7, 8], "low": [7, 9, 14], "light": 7, "14": [7, 14], "17": [7, 13, 14], "22": [7, 13, 14], "103": [7, 13], "104": [7, 13], "105": [7, 13], "106": [7, 13], "112": [7, 13], "113": [7, 13], "115": [7, 13], "116": [7, 13], "117": [7, 13], "118": 7, "119": 7, "124": 7, "125": 7, "126": 7, "127": 7, "129": 7, "130": 7, "131": 7, "132": 7, "133": 7, "136": 7, "137": 7, "4ghz": 7, "5ghz": [7, 13], "short": 7, "highest": 7, "qualiti": 7, "longest": 7, "hdr": 7, "log": 7, "timewarp": 7, "star": 7, "paint": 7, "vehicl": 7, "none": 7, "widescreen": 7, "vertic": 7, "full": [7, 13, 14], "its": [8, 12], "oper": [8, 10, 13, 14], "fals": [8, 14], "true": 8, "One": 8, "three": 8, "abort": 8, "Not": [8, 14], "bluetooth": [8, 9], "unknown": [8, 14], "remov": [8, 14], "format": [8, 9, 12, 13, 14, 15], "swap": 8, "verifi": 8, "iso": 8, "hemispher": 8, "plug": 8, "ghz": 8, "degre": 8, "upright": 8, "upsid": 8, "90": 8, "lai": 8, "side": 8, "270": 8, "left": 8, "15x": 8, "30x": 8, "60x": 8, "150x": 8, "300x": 8, "900x": 8, "1800x": 8, "5x": 8, "10x": 8, "realtim": 8, "slow": 8, "motion": 8, "000": 8, "hdmi": 8, "001": 8, "010": 8, "011": 8, "No": [8, 14], "interven": 8, "outsid": [8, 14], "energi": 9, "pertain": 9, "public": 9, "market": 9, "minim": 9, "62": [9, 14], "v01": 9, "h22": 9, "58": [9, 13, 14], "57": 9, "h21": 9, "55": [9, 13], "hd9": 9, "70": [9, 13, 14], "minimum": [9, 13, 14], "assum": 9, "recent": [9, 13], "between": [9, 13, 14, 15], "read": [9, 10, 11], "protocol": [9, 11], "understand": 9, "setup": [9, 10], "Then": 9, "subsequ": [9, 11, 12], "desir": [9, 14], "home": [9, 14], "hilight": [9, 13], "walk": 9, "tutori": [9, 12], "demonstr": 9, "well": 9, "demo": 9, "program": 9, "languag": [9, 14], "hindsight": [9, 13], "core": [9, 13], "undefin": [9, 15], "should": [9, 11, 15], "try": 9, "digit": [9, 13], "lens": [9, 13, 14], "fov": [9, 14], "base": 9, "pair": [10, 12, 13], "finish": [10, 14], "gatt": [10, 12], "characterist": [10, 12], "packet": 10, "deciph": 10, "refer": 10, "befor": [11, 12, 13, 14, 15], "overview": 11, "up": 11, "discov": [11, 14], "peripher": 11, "devic": [11, 13], "limit": [11, 12], "servic": 11, "0xfea6": 11, "subscrib": 11, "flag": [11, 15], "discover": 11, "wake": 11, "boot": [11, 13], "procedur": [11, 12], "done": 11, "again": 11, "store": 11, "so": [11, 13], "wai": 11, "cach": 11, "subscript": 11, "upon": 11, "gp": [11, 12, 13], "xxxx": 11, "shorthand": 11, "128": [11, 13], "b5f9xxxx": 11, "aa8d": 11, "11e3": 11, "9046": 11, "0002a5d5c51b": 11, "descript": 11, "permiss": 11, "0001": 11, "0002": 11, "ssid": [11, 13, 14], "write": [11, 13], "0003": 11, "0004": 11, "0005": 11, "0090": 11, "0091": 11, "0092": 11, "fea6": 11, "0072": [11, 12], "0073": 11, "0074": [11, 12], "0075": 11, "0076": [11, 12], "0077": 11, "wait": [11, 14, 15], "correspond": [11, 13, 14], "build": 11, "pars": [11, 12], "terminologi": 12, "includ": [12, 14], "accumul": 12, "depacket": 12, "extract": 12, "per": [12, 13], "identifi": 12, "big": [12, 13], "endian": [12, 13], "unless": [12, 15], "v4": 12, "2": [12, 13, 14], "size": 12, "accommod": 12, "larger": 12, "less": 12, "than": [12, 13, 15], "split": 12, "multipl": 12, "prepend": 12, "onto": 12, "fewer": 12, "8191": 12, "avoid": 12, "8192": 12, "longer": 12, "respond": 12, "It": 12, "n": 12, "counter": 12, "0x0": 12, "0xf": 12, "determin": 12, "appropri": 12, "pseudocod": 12, "u": 12, "p": 12, "f": 12, "int": 12, "match": 12, "structur": 12, "nope": 12, "scheme": 12, "els": 12, "map": 12, "flowchart": 12, "form": 12, "had": 12, "top": 12, "thei": 12, "consid": 12, "There": 12, "summar": 12, "throughout": 12, "respect": 12, "triplet": 12, "bandwidth": 12, "googl": 12, "buffer": 12, "deseri": 12, "certif": [13, 14], "resolut": [13, 14], "frame": 13, "43": 13, "webcam": 13, "83": [13, 14], "108": 13, "aspect": 13, "ratio": 13, "121": 13, "122": 13, "123": 13, "134": 13, "anti": 13, "flicker": 13, "135": 13, "hypersmooth": 13, "150": 13, "horizon": 13, "151": 13, "167": 13, "171": 13, "interv": 13, "172": 13, "durat": 13, "176": 13, "speed": 13, "178": 13, "wireless": 13, "band": 13, "179": 13, "trail": 13, "182": 13, "rate": 13, "183": 13, "depth": 13, "184": 13, "profil": 13, "192": 13, "193": 13, "intern": 13, "rough": 13, "approxim": 13, "bar": [13, 14], "charg": 13, "overh": 13, "busi": [13, 15], "now": 13, "far": 13, "engag": 13, "sinc": 13, "millisecond": 13, "success": [13, 14], "remot": 13, "wirelesspairingstateflag": 13, "29": [13, 14], "int32": [13, 14], "32": [13, 14], "preview": 13, "33": [13, 14], "primari": [13, 14], "storag": 13, "34": [13, 14], "taken": 13, "35": [13, 14], "38": [13, 14], "total": [13, 14], "39": [13, 14], "41": [13, 14], "air": 13, "ota": 13, "42": [13, 14], "pend": 13, "45": 13, "locat": 13, "49": 13, "timelaps": 13, "countdown": 13, "54": 13, "remain": 13, "space": 13, "kilobyt": 13, "secondari": [13, 14], "signal": [13, 14, 15], "strength": [13, 14], "64": [13, 14], "65": [13, 14], "liveview": 13, "exposur": 13, "select": 13, "66": [13, 14], "y": 13, "coordin": 13, "percent": 13, "67": [13, 14], "68": [13, 14], "69": [13, 14], "74": [13, 14], "microphon": 13, "accessori": 13, "75": [13, 14], "zoom": 13, "76": [13, 14], "77": [13, 14], "78": [13, 14], "mobil": 13, "friendli": 13, "relat": 13, "compress": 13, "79": [13, 14], "ftu": 13, "flow": 13, "81": 13, "82": [13, 14], "fulli": 13, "suffici": 13, "85": [13, 14], "too": 13, "cold": 13, "continu": 13, "86": 13, "rotat": 13, "orient": 13, "89": 13, "flatmod": [13, 14], "93": [13, 14], "95": 13, "96": 13, "ui_mode_group": 13, "json": 13, "97": 13, "modifi": [13, 14], "event": 13, "burst": 13, "delai": 13, "count": [13, 14], "warp": 13, "linux": [13, 14], "reflect": 13, "schedul": 13, "bitmask": [13, 14], "meet": 13, "error": [13, 14], "pc": 13, "usb": 13, "sd": [13, 14], "card": [13, 14], "capac": 13, "summari": 14, "cohn_state_init": 14, "cohn_state_error": 14, "cohn_state_exit": 14, "cohn_state_idl": 14, "cohn_state_networkconnect": 14, "cohn_state_networkdisconnect": 14, "cohn_state_connectingtonetwork": 14, "cohn_state_invalid": 14, "cohn_unprovis": 14, "cohn_provis": 14, "camera_idl": 14, "camera_control": 14, "camera_external_control": 14, "flat_mode_unknown": 14, "flat_mode_playback": 14, "flat_mode_setup": 14, "flat_mode_video": 14, "flat_mode_time_lapse_video": 14, "flat_mode_loop": 14, "flat_mode_photo_singl": 14, "flat_mode_photo": 14, "flat_mode_photo_night": 14, "flat_mode_photo_burst": 14, "flat_mode_time_lapse_photo": 14, "flat_mode_night_lapse_photo": 14, "flat_mode_broadcast_record": 14, "flat_mode_broadcast_broadcast": 14, "flat_mode_time_warp_video": 14, "flat_mode_live_burst": 14, "flat_mode_night_lapse_video": 14, "flat_mode_slomo": 14, "flat_mode_idl": 14, "flat_mode_video_star_trail": 14, "flat_mode_video_light_paint": 14, "flat_mode_video_light_trail": 14, "flat_mode_video_burst_slomo": 14, "lens_wid": 14, "lens_superview": 14, "lens_linear": 14, "live_stream_error_non": 14, "live_stream_error_network": 14, "live_stream_error_createstream": 14, "startup": 14, "bad": 14, "server": 14, "live_stream_error_outofmemori": 14, "enough": 14, "memori": 14, "task": 14, "live_stream_error_inputstream": 14, "live_stream_error_internet": 14, "streamer": 14, "live_stream_error_osnetwork": 14, "occur": 14, "stack": 14, "close": 14, "live_stream_error_selectednetworktimeout": 14, "out": 14, "attemp": 14, "live_stream_error_ssl_handshak": 14, "handshak": 14, "commonli": 14, "due": 14, "incorrect": 14, "zone": 14, "live_stream_error_camera_block": 14, "live_stream_error_unknown": 14, "live_stream_error_sd_card_ful": 14, "40": 14, "live_stream_error_sd_card_remov": 14, "live_stream_state_idl": 14, "yet": 14, "live_stream_state_config": 14, "being": 14, "live_stream_state_readi": 14, "live_stream_state_stream": 14, "live_stream_state_complete_stay_on": 14, "live_stream_state_failed_stay_on": 14, "live_stream_state_reconnect": 14, "reconnect": 14, "preset_group_id_video": 14, "1000": 14, "preset_group_id_photo": 14, "1001": 14, "preset_group_id_timelaps": 14, "1002": 14, "preset_group_video_icon_id": 14, "preset_group_photo_icon_id": 14, "preset_group_timelapse_icon_id": 14, "preset_group_long_bat_video_icon_id": 14, "preset_group_endurance_video_icon_id": 14, "preset_group_max_video_icon_id": 14, "preset_group_max_photo_icon_id": 14, "preset_group_max_timelapse_icon_id": 14, "preset_icon_video": 14, "preset_icon_act": 14, "preset_icon_cinemat": 14, "preset_icon_photo": 14, "preset_icon_live_burst": 14, "preset_icon_burst": 14, "preset_icon_photo_night": 14, "preset_icon_timewarp": 14, "preset_icon_timelaps": 14, "preset_icon_nightlaps": 14, "preset_icon_snail": 14, "preset_icon_video_2": 14, "preset_icon_photo_2": 14, "preset_icon_panorama": 14, "preset_icon_burst_2": 14, "preset_icon_timewarp_2": 14, "preset_icon_timelapse_2": 14, "preset_icon_custom": 14, "preset_icon_air": 14, "preset_icon_bik": 14, "preset_icon_ep": 14, "preset_icon_indoor": 14, "preset_icon_motor": 14, "preset_icon_mount": 14, "preset_icon_outdoor": 14, "preset_icon_pov": 14, "preset_icon_selfi": 14, "preset_icon_sk": 14, "preset_icon_snow": 14, "preset_icon_trail": 14, "preset_icon_travel": 14, "preset_icon_wat": 14, "preset_icon_loop": 14, "preset_icon_star": 14, "preset_icon_follow_cam": 14, "36": 14, "preset_icon_surf": 14, "37": 14, "preset_icon_c": 14, "preset_icon_shaki": 14, "preset_icon_chesti": 14, "preset_icon_helmet": 14, "preset_icon_bit": 14, "preset_icon_bas": 14, "preset_icon_ultra_slo_mo": 14, "preset_icon_standard_endur": 14, "preset_icon_activity_endur": 14, "61": 14, "preset_icon_cinematic_endur": 14, "preset_icon_slomo_endur": 14, "preset_icon_stationary_1": 14, "preset_icon_stationary_2": 14, "preset_icon_stationary_3": 14, "preset_icon_stationary_4": 14, "preset_icon_simple_super_photo": 14, "preset_icon_simple_night_photo": 14, "71": 14, "preset_icon_highest_quality_video": 14, "73": 14, "preset_icon_standard_quality_video": 14, "preset_icon_basic_quality_video": 14, "preset_icon_star_trail": 14, "preset_icon_light_paint": 14, "preset_icon_light_trail": 14, "preset_icon_full_fram": 14, "preset_icon_timelapse_photo": 14, "preset_icon_nightlapse_photo": 14, "preset_title_act": 14, "preset_title_standard": 14, "preset_title_cinemat": 14, "preset_title_photo": 14, "preset_title_live_burst": 14, "preset_title_burst": 14, "preset_title_night": 14, "preset_title_time_warp": 14, "preset_title_time_laps": 14, "preset_title_night_laps": 14, "preset_title_video": 14, "preset_title_slomo": 14, "preset_title_photo_2": 14, "preset_title_panorama": 14, "preset_title_time_warp_2": 14, "preset_title_custom": 14, "preset_title_air": 14, "preset_title_bik": 14, "preset_title_ep": 14, "preset_title_indoor": 14, "preset_title_motor": 14, "preset_title_mount": 14, "preset_title_outdoor": 14, "preset_title_pov": 14, "preset_title_selfi": 14, "preset_title_sk": 14, "preset_title_snow": 14, "preset_title_trail": 14, "preset_title_travel": 14, "preset_title_wat": 14, "preset_title_loop": 14, "preset_title_star": 14, "preset_title_follow_cam": 14, "preset_title_surf": 14, "preset_title_c": 14, "preset_title_shaki": 14, "preset_title_chesti": 14, "preset_title_helmet": 14, "preset_title_bit": 14, "preset_title_bas": 14, "preset_title_ultra_slo_mo": 14, "preset_title_standard_endur": 14, "preset_title_activity_endur": 14, "preset_title_cinematic_endur": 14, "preset_title_slomo_endur": 14, "preset_title_stationary_1": 14, "preset_title_stationary_2": 14, "preset_title_stationary_3": 14, "preset_title_stationary_4": 14, "preset_title_simple_video": 14, "preset_title_simple_time_warp": 14, "preset_title_simple_super_photo": 14, "preset_title_simple_night_photo": 14, "preset_title_simple_video_endur": 14, "72": 14, "preset_title_highest_qu": 14, "preset_title_extended_batteri": 14, "preset_title_longest_batteri": 14, "preset_title_star_trail": 14, "preset_title_light_paint": 14, "preset_title_light_trail": 14, "preset_title_full_fram": 14, "preset_title_standard_quality_video": 14, "preset_title_basic_quality_video": 14, "preset_title_highest_quality_video": 14, "provisioning_unknown": 14, "provisioning_never_start": 14, "provisioning_start": 14, "provisioning_aborted_by_system": 14, "provisioning_cancelled_by_us": 14, "provisioning_success_new_ap": 14, "provisioning_success_old_ap": 14, "provisioning_error_failed_to_associ": 14, "provisioning_error_password_auth": 14, "provisioning_error_eula_block": 14, "provisioning_error_no_internet": 14, "provisioning_error_unsupported_typ": 14, "register_live_stream_status_statu": 14, "register_live_stream_status_error": 14, "register_live_stream_status_mod": 14, "register_live_stream_status_bitr": 14, "register_preset_status_preset": 14, "register_preset_status_preset_group_arrai": 14, "result_unknown": 14, "result_success": 14, "result_ill_form": 14, "result_not_support": 14, "result_argument_out_of_bound": 14, "result_argument_invalid": 14, "result_resource_not_avail": 14, "scan_flag_open": 14, "scan_flag_authent": 14, "scan_flag_best_ssid": 14, "scan_flag_associ": 14, "scan_flag_unsupported_typ": 14, "scanning_unknown": 14, "scanning_never_start": 14, "scanning_start": 14, "scanning_aborted_by_system": 14, "scanning_cancelled_by_us": 14, "scanning_success": 14, "window_size_480": 14, "window_size_720": 14, "window_size_1080": 14, "common": 14, "typespec": 14, "folder": 14, "provisioning_st": 14, "scanning_st": 14, "scan_id": 14, "total_entri": 14, "total_configured_ssid": 14, "ipaddress": 14, "bool": 14, "macaddress": 14, "mac": 14, "adapt": 14, "live_stream_statu": 14, "live_stream_error": 14, "live_stream_encod": 14, "live_stream_bitr": 14, "bitrat": 14, "kbp": 14, "live_stream_window_size_supported_arrai": 14, "live_stream_encode_support": 14, "live_stream_max_lens_unsupport": 14, "NOT": 14, "live_stream_minimum_stream_bitr": 14, "static": 14, "live_stream_maximum_stream_bitr": 14, "live_stream_lens_support": 14, "live_stream_lens_supported_arrai": 14, "preset_group_arrai": 14, "title_numb": 14, "custom1": 14, "custom2": 14, "custom3": 14, "user_defin": 14, "setting_arrai": 14, "is_modifi": 14, "is_fix": 14, "mutabl": 14, "meta": 14, "preset_arrai": 14, "can_add_preset": 14, "room": 14, "represent": 14, "is_capt": 14, "appear": 14, "static_ip": 14, "gatewai": 14, "subnet": 14, "mask": 14, "dns_primari": 14, "dn": 14, "dns_secondari": 14, "overrid": 14, "rang": 14, "utf": 14, "obei": 14, "charact": 14, "inclus": 14, "special": 14, "english": 14, "french": 14, "italian": 14, "german": 14, "spanish": 14, "portugues": 14, "swedish": 14, "russian": 14, "start_index": 14, "max_entri": 14, "register_cohn_statu": 14, "register_live_stream_statu": 14, "unregister_live_stream_statu": 14, "register_preset_statu": 14, "unregister_preset_statu": 14, "disconnect": 14, "drop": 14, "cohn_act": 14, "camera_control_statu": 14, "declar": 14, "who": 14, "take": 14, "window_s": 14, "pem": 14, "minimum_bitr": 14, "honor": 14, "maximum_bitr": 14, "starting_bitr": 14, "ascii": 14, "timeout_second": 14, "timeout": 14, "batch": 14, "invalid": 14, "result_resource_not_availbl": 14, "scan_entry_flag": 14, "alreadi": 14, "signal_strength_bar": 14, "dbm": 14, "signal_frequency_mhz": 14, "frequenc": 14, "mhz": 14, "incom": 15, "howev": 15, "5min": 15, "15min": 15, "30min": 15, "maintain": 15, "simultan": 15, "discourag": 15}, "objects": {"": [[14, 0, 0, "enumcohnnetworkstate", "EnumCOHNNetworkState"], [14, 0, 0, "enumcohnstatus", "EnumCOHNStatus"], [14, 0, 0, "enumcameracontrolstatus", "EnumCameraControlStatus"], [14, 0, 0, "enumflatmode", "EnumFlatMode"], [14, 0, 0, "enumlens", "EnumLens"], [14, 0, 0, "enumlivestreamerror", "EnumLiveStreamError"], [14, 0, 0, "enumlivestreamstatus", "EnumLiveStreamStatus"], [14, 0, 0, "enumpresetgroup", "EnumPresetGroup"], [14, 0, 0, "enumpresetgroupicon", "EnumPresetGroupIcon"], [14, 0, 0, "enumpreseticon", "EnumPresetIcon"], [14, 0, 0, "enumpresettitle", "EnumPresetTitle"], [14, 0, 0, "enumprovisioning", "EnumProvisioning"], [14, 0, 0, "enumregisterlivestreamstatus", "EnumRegisterLiveStreamStatus"], [14, 0, 0, "enumregisterpresetstatus", "EnumRegisterPresetStatus"], [14, 0, 0, "enumresultgeneric", "EnumResultGeneric"], [14, 0, 0, "enumscanentryflags", "EnumScanEntryFlags"], [14, 0, 0, "enumscanning", "EnumScanning"], [14, 0, 0, "enumwindowsize", "EnumWindowSize"], [14, 0, 0, "media", "Media"], [14, 0, 0, "notifprovisioningstate", "NotifProvisioningState"], [14, 0, 0, "notifstartscanning", "NotifStartScanning"], [14, 0, 0, "notifycohnstatus", "NotifyCOHNStatus"], [14, 0, 0, "notifylivestreamstatus", "NotifyLiveStreamStatus"], [14, 0, 0, "notifypresetstatus", "NotifyPresetStatus"], [14, 0, 0, "preset", "Preset"], [14, 0, 0, "presetgroup", "PresetGroup"], [14, 0, 0, "presetsetting", "PresetSetting"], [14, 0, 0, "requestcohncert", "RequestCOHNCert"], [14, 0, 0, "requestclearcohncert", "RequestClearCOHNCert"], [14, 0, 0, "requestconnect", "RequestConnect"], [14, 0, 0, "requestconnectnew", "RequestConnectNew"], [14, 0, 0, "requestcreatecohncert", "RequestCreateCOHNCert"], [14, 0, 0, "requestcustompresetupdate", "RequestCustomPresetUpdate"], [14, 0, 0, "requestgetapentries", "RequestGetApEntries"], [14, 0, 0, "requestgetcohnstatus", "RequestGetCOHNStatus"], [14, 0, 0, "requestgetlastcapturedmedia", "RequestGetLastCapturedMedia"], [14, 0, 0, "requestgetlivestreamstatus", "RequestGetLiveStreamStatus"], [14, 0, 0, "requestgetpresetstatus", "RequestGetPresetStatus"], [14, 0, 0, "requestreleasenetwork", "RequestReleaseNetwork"], [14, 0, 0, "requestsetcohnsetting", "RequestSetCOHNSetting"], [14, 0, 0, "requestsetcameracontrolstatus", "RequestSetCameraControlStatus"], [14, 0, 0, "requestsetlivestreammode", "RequestSetLiveStreamMode"], [14, 0, 0, "requestsetturboactive", "RequestSetTurboActive"], [14, 0, 0, "requeststartscan", "RequestStartScan"], [14, 0, 0, "responsecohncert", "ResponseCOHNCert"], [14, 0, 0, "responseconnect", "ResponseConnect"], [14, 0, 0, "responseconnectnew", "ResponseConnectNew"], [14, 0, 0, "responsegeneric", "ResponseGeneric"], [14, 0, 0, "responsegetapentries", "ResponseGetApEntries"], [14, 0, 0, "responselastcapturedmedia", "ResponseLastCapturedMedia"], [14, 0, 0, "responsestartscanning", "ResponseStartScanning"], [14, 0, 0, "scanentry", "ScanEntry"], [1, 1, 0, "clear-cohn-certificate", "clear cohn certificate"], [0, 1, 0, "connect-to-a-new-access-point", "connect to a new access point"], [0, 1, 0, "connect-to-provisioned-access-point", "connect to provisioned access point"], [1, 1, 0, "create-cohn-certificate", "create cohn certificate"], [0, 1, 0, "get-ap-scan-results", "get ap scan results"], [5, 1, 0, "get-available-presets", "get available presets"], [1, 1, 0, "get-cohn-certificate", "get cohn certificate"], [1, 1, 0, "get-cohn-status", "get cohn status"], [6, 1, 0, "get-date-time", "get date time"], [6, 1, 0, "get-hardware-info", "get hardware info"], [6, 1, 0, "get-last-captured-media", "get last captured media"], [4, 1, 0, "get-livestream-status", "get livestream status"], [6, 1, 0, "get-local-date-time", "get local date time"], [6, 1, 0, "get-open-gopro-version", "get open gopro version"], [6, 1, 0, "get-setting-capabilities", "get setting capabilities"], [6, 1, 0, "get-setting-values", "get setting values"], [6, 1, 0, "get-status-values", "get status values"], [3, 1, 0, "hilight-moment", "hilight moment"], [2, 1, 0, "keep-alive", "keep alive"], [5, 1, 0, "load-preset", "load preset"], [5, 1, 0, "load-preset-group", "load preset group"], [6, 1, 0, "register-for-setting-capability-updates", "register for setting capability updates"], [6, 1, 0, "register-for-setting-value-updates", "register for setting value updates"], [6, 1, 0, "register-for-status-value-updates", "register for status value updates"], [0, 1, 0, "scan-for-access-points", "scan for access points"], [2, 1, 0, "set-analytics", "set analytics"], [2, 1, 0, "set-ap-control", "set ap control"], [2, 1, 0, "set-camera-control", "set camera control"], [1, 1, 0, "set-cohn-setting", "set cohn setting"], [2, 1, 0, "set-date-time", "set date time"], [4, 1, 0, "set-livestream-mode", "set livestream mode"], [2, 1, 0, "set-local-date-time", "set local date time"], [7, 1, 0, "set-setting", "set setting"], [2, 1, 0, "set-shutter", "set shutter"], [2, 1, 0, "set-turbo-transfer", "set turbo transfer"], [2, 1, 0, "sleep", "sleep"], [6, 1, 0, "unregister-for-setting-capability-updates", "unregister for setting capability updates"], [6, 1, 0, "unregister-for-setting-value-updates", "unregister for setting value updates"], [6, 1, 0, "unregister-for-status-value-updates", "unregister for status value updates"], [5, 1, 0, "update-custom-preset", "update custom preset"], [7, 2, 0, "setting-108", "Setting 108 (Aspect Ratio)"], [7, 2, 0, "setting-121", "Setting 121 (Lens)"], [7, 2, 0, "setting-122", "Setting 122 (Lens)"], [7, 2, 0, "setting-123", "Setting 123 (Time Lapse Digital Lenses)"], [7, 2, 0, "setting-128", "Setting 128 (Media Format)"], [7, 2, 0, "setting-134", "Setting 134 (Anti-Flicker)"], [7, 2, 0, "setting-135", "Setting 135 (Hypersmooth)"], [7, 2, 0, "setting-150", "Setting 150 (Horizon Leveling)"], [7, 2, 0, "setting-151", "Setting 151 (Horizon Leveling)"], [7, 2, 0, "setting-162", "Setting 162 (Max Lens)"], [7, 2, 0, "setting-167", "Setting 167 (HindSight)"], [7, 2, 0, "setting-171", "Setting 171 (Interval)"], [7, 2, 0, "setting-172", "Setting 172 (Duration)"], [7, 2, 0, "setting-173", "Setting 173 (Video Performance Mode)"], [7, 2, 0, "setting-175", "Setting 175 (Controls)"], [7, 2, 0, "setting-176", "Setting 176 (Easy Mode Speed)"], [7, 2, 0, "setting-177", "Setting 177 (Enable Night Photo)"], [7, 2, 0, "setting-178", "Setting 178 (Wireless Band)"], [7, 2, 0, "setting-179", "Setting 179 (Trail Length)"], [7, 2, 0, "setting-180", "Setting 180 (Video Mode)"], [7, 2, 0, "setting-182", "Setting 182 (Bit Rate)"], [7, 2, 0, "setting-183", "Setting 183 (Bit Depth)"], [7, 2, 0, "setting-184", "Setting 184 (Profiles)"], [7, 2, 0, "setting-186", "Setting 186 (Video Mode)"], [7, 2, 0, "setting-187", "Setting 187 (Lapse Mode)"], [7, 2, 0, "setting-189", "Setting 189 (Max Lens Mod)"], [7, 2, 0, "setting-190", "Setting 190 (Max Lens Mod Enable)"], [7, 2, 0, "setting-191", "Setting 191 (Photo Mode)"], [7, 2, 0, "setting-192", "Setting 192 (Aspect Ratio)"], [7, 2, 0, "setting-193", "Setting 193 (Framing)"], [7, 2, 0, "setting-2", "Setting 2 (Resolution)"], [7, 2, 0, "setting-3", "Setting 3 (Frames Per Second)"], [7, 2, 0, "setting-43", "Setting 43 (Webcam Digital Lenses)"], [7, 2, 0, "setting-59", "Setting 59 (Auto Power Down)"], [7, 2, 0, "setting-83", "Setting 83 (GPS)"], [8, 3, 0, "status-1", "Status 1 (Is the system's internal battery present?)"], [8, 3, 0, "status-10", "Status 10 (Is the system encoding right now?)"], [8, 3, 0, "status-100", "Status 100 (Total number of Live Bursts on sdcard)"], [8, 3, 0, "status-102", "Status 102 (Media Mod state)"], [8, 3, 0, "status-103", "Status 103 (Time Warp Speed)"], [8, 3, 0, "status-104", "Status 104 (Is the system's Linux core active?)"], [8, 3, 0, "status-105", "Status 105 (Camera lens type (reflects changes to setting 162 or setting 189))"], [8, 3, 0, "status-106", "Status 106 (Is Video Hindsight Capture Active?)"], [8, 3, 0, "status-107", "Status 107 (Scheduled Capture Preset ID)"], [8, 3, 0, "status-108", "Status 108 (Is Scheduled Capture set?)"], [8, 3, 0, "status-11", "Status 11 (Is LCD lock active?)"], [8, 3, 0, "status-110", "Status 110 (Display Mod Status (bitmasked))"], [8, 3, 0, "status-111", "Status 111 (Does sdcard meet specified minimum write speed?)"], [8, 3, 0, "status-112", "Status 112 (Number of sdcard write speed errors since device booted)"], [8, 3, 0, "status-113", "Status 113 (Is Turbo Transfer active?)"], [8, 3, 0, "status-114", "Status 114 (Camera control status ID)"], [8, 3, 0, "status-115", "Status 115 (Is the camera connected to a PC via USB?)"], [8, 3, 0, "status-116", "Status 116 (Camera control over USB state)"], [8, 3, 0, "status-117", "Status 117 (Total SD card capacity in Kilobytes)"], [8, 3, 0, "status-13", "Status 13 (When encoding video, this is the duration (seconds) of the video so far; 0 otherwise)"], [8, 3, 0, "status-17", "Status 17 (Are Wireless Connections enabled?)"], [8, 3, 0, "status-19", "Status 19 (The pairing state of the camera)"], [8, 3, 0, "status-2", "Status 2 (Rough approximation of internal battery level in bars (or charging))"], [8, 3, 0, "status-20", "Status 20 (The last type of pairing in which the camera was engaged)"], [8, 3, 0, "status-21", "Status 21 (Time since boot (milliseconds) of last successful pairing complete action)"], [8, 3, 0, "status-22", "Status 22 (State of current scan for WiFi Access Points)"], [8, 3, 0, "status-23", "Status 23 (Time since boot (milliseconds) that the WiFi Access Point scan completed)"], [8, 3, 0, "status-24", "Status 24 (WiFi AP provisioning state)"], [8, 3, 0, "status-26", "Status 26 (Wireless remote control version)"], [8, 3, 0, "status-27", "Status 27 (Is a wireless remote control connected?)"], [8, 3, 0, "status-31", "Status 31 (The number of wireless devices connected to the camera)"], [8, 3, 0, "status-32", "Status 32 (Is Preview Stream enabled?)"], [8, 3, 0, "status-33", "Status 33 (Primary Storage Status)"], [8, 3, 0, "status-34", "Status 34 (How many photos can be taken with current settings before sdcard is full)"], [8, 3, 0, "status-35", "Status 35 (How many minutes of video can be captured with current settings before sdcard is full)"], [8, 3, 0, "status-38", "Status 38 (Total number of photos on sdcard)"], [8, 3, 0, "status-39", "Status 39 (Total number of videos on sdcard)"], [8, 3, 0, "status-41", "Status 41 (The current status of Over The Air (OTA) update)"], [8, 3, 0, "status-42", "Status 42 (Is there a pending request to cancel a firmware update download?)"], [8, 3, 0, "status-45", "Status 45 (Is locate camera feature active?)"], [8, 3, 0, "status-54", "Status 54 (Remaining space on the sdcard in Kilobytes)"], [8, 3, 0, "status-55", "Status 55 (Is preview stream supported in current recording/mode/secondary-stream?)"], [8, 3, 0, "status-56", "Status 56 (WiFi signal strength in bars)"], [8, 3, 0, "status-58", "Status 58 (The number of hilights in currently-encoding video (value is set to 0 when encoding stops))"], [8, 3, 0, "status-59", "Status 59 (Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops))"], [8, 3, 0, "status-6", "Status 6 (Is the system currently overheating?)"], [8, 3, 0, "status-64", "Status 64 (How many minutes of Time Lapse Video can be captured with current settings before sdcard is full)"], [8, 3, 0, "status-65", "Status 65 (Liveview Exposure Select Mode)"], [8, 3, 0, "status-66", "Status 66 (Liveview Exposure Select: y-coordinate (percent))"], [8, 3, 0, "status-67", "Status 67 (Liveview Exposure Select: y-coordinate (percent))"], [8, 3, 0, "status-68", "Status 68 (Does the camera currently have a GPS lock?)"], [8, 3, 0, "status-69", "Status 69 (Is the camera in AP Mode?)"], [8, 3, 0, "status-70", "Status 70 (Internal battery level (percent))"], [8, 3, 0, "status-74", "Status 74 (Microphone Accessory status)"], [8, 3, 0, "status-75", "Status 75 (Digital Zoom level (percent))"], [8, 3, 0, "status-76", "Status 76 (Wireless Band)"], [8, 3, 0, "status-77", "Status 77 (Is Digital Zoom feature available?)"], [8, 3, 0, "status-78", "Status 78 (Are current video settings mobile friendly? (related to video compression and frame rate))"], [8, 3, 0, "status-79", "Status 79 (Is the camera currently in First Time Use (FTU) UI flow?)"], [8, 3, 0, "status-8", "Status 8 (Is the camera busy?)"], [8, 3, 0, "status-81", "Status 81 (Is 5GHz wireless band available?)"], [8, 3, 0, "status-82", "Status 82 (Is the system fully booted and ready to accept commands?)"], [8, 3, 0, "status-83", "Status 83 (Is the internal battery charged sufficiently to start Over The Air (OTA) update?)"], [8, 3, 0, "status-85", "Status 85 (Is the camera getting too cold to continue recording?)"], [8, 3, 0, "status-86", "Status 86 (Rotational orientation of the camera)"], [8, 3, 0, "status-88", "Status 88 (Is this camera model capable of zooming while encoding?)"], [8, 3, 0, "status-89", "Status 89 (Current Flatmode ID)"], [8, 3, 0, "status-9", "Status 9 (Is Quick Capture feature enabled?)"], [8, 3, 0, "status-93", "Status 93 (Current Video Preset (ID))"], [8, 3, 0, "status-94", "Status 94 (Current Photo Preset (ID))"], [8, 3, 0, "status-95", "Status 95 (Current Time Lapse Preset (ID))"], [8, 3, 0, "status-97", "Status 97 (Current Preset (ID))"], [8, 3, 0, "status-98", "Status 98 (Preset Modified Status, which contains an event ID and a Preset (Group) ID)"], [8, 3, 0, "status-99", "Status 99 (The number of Live Bursts can be captured with current settings before sdcard is full)"]], "Status 101 (Is Capture Delay currently active (i.e": [[8, 3, 0, "status-101", " counting down)?)"]], "Status 28 (Wireless Pairing State": [[8, 3, 0, "status-28", " Each bit contains state information (see WirelessPairingStateFlags))"]], "Status 29 (SSID of the AP the camera is currently connected to": [[8, 3, 0, "status-29", " On BLE connection, value is big-endian byte-encoded int32)"]], "Status 30 (The camera's WiFi SSID": [[8, 3, 0, "status-30", " On BLE connection, value is big-endian byte-encoded int32)"]], "Status 49 (The current timelapse interval countdown value (e.g. 5...4...3...2...1..": [[8, 3, 0, "status-49", "))"]], "Status 60 (The minimum time between camera status updates (milliseconds)": [[8, 3, 0, "status-60", " Best practice is to not poll for status more often than this)"]], "Status 96 (Current Preset Group (ID) (corresponds to ui_mode_groups in settings": [[8, 3, 0, "status-96", "json))"]]}, "objtypes": {"0": "operation:Proto", "1": "operation:Operation", "2": "operation:Setting", "3": "operation:Status"}, "objnames": {"0": ["operation", "Proto", "Proto"], "1": ["operation", "Operation", "Operation"], "2": ["operation", "Setting", "Setting"], "3": ["operation", "Status", "Status"]}, "titleterms": {"access": [0, 8], "point": [0, 8], "oper": [0, 1, 2, 3, 4, 5, 6, 7], "disconnect": 0, "from": 0, "camera": [1, 7, 8, 9, 15], "home": 1, "network": 1, "certif": 1, "verifi": 1, "view": 1, "detail": 1, "provis": [1, 8], "procedur": 1, "control": [2, 7, 8, 15], "hilight": [3, 8], "live": [4, 8], "stream": [4, 8], "preset": [5, 8, 14], "group": [5, 8], "modifi": [5, 8], "statu": [5, 8, 13], "queri": [6, 12, 13], "set": [7, 8, 13], "capabl": [7, 8], "xlsx": 7, "json": [7, 8], "id": [7, 8, 13], "resolut": 7, "2": [7, 8], "frame": [7, 8], "per": 7, "second": [7, 8], "3": [7, 8], "fov": 7, "43": 7, "auto": 7, "off": 7, "59": [7, 8], "gp": [7, 8], "83": [7, 8], "aspect": 7, "ratio": 7, "108": [7, 8], "len": [7, 8], "121": 7, "122": 7, "123": 7, "format": 7, "128": 7, "anti": 7, "flicker": 7, "134": 7, "hypersmooth": 7, "135": 7, "horizon": 7, "level": [7, 8], "150": 7, "151": 7, "max": 7, "mod": [7, 8], "enabl": [7, 8], "162": [7, 8], "hindsight": [7, 8], "167": 7, "interv": [7, 8], "171": 7, "durat": [7, 8], "172": 7, "video": [7, 8], "perform": 7, "mode": [7, 8, 11], "173": 7, "175": 7, "speed": [7, 8], "176": 7, "night": 7, "photo": [7, 8], "177": 7, "wi": 7, "fi": 7, "band": [7, 8], "178": 7, "trail": 7, "length": [7, 12], "179": 7, "180": 7, "bit": [7, 8, 12], "rate": [7, 8], "182": 7, "depth": 7, "183": 7, "profil": 7, "184": 7, "186": 7, "laps": [7, 8], "187": 7, "189": [7, 8], "190": 7, "191": 7, "192": 7, "193": 7, "status": 8, "i": 8, "system": 8, "": [8, 9], "intern": 8, "batteri": 8, "present": 8, "1": 8, "rough": 8, "approxim": 8, "bar": 8, "charg": 8, "current": 8, "overh": 8, "6": 8, "busi": 8, "8": 8, "quick": 8, "captur": 8, "featur": 8, "9": 8, "encod": 8, "right": 8, "now": 8, "10": 8, "lcd": 8, "lock": 8, "activ": 8, "11": 8, "when": 8, "thi": 8, "so": 8, "far": 8, "0": 8, "otherwis": 8, "13": [8, 12], "ar": 8, "wireless": 8, "connect": 8, "17": 8, "The": 8, "pair": [8, 11], "state": [8, 15], "19": 8, "last": 8, "type": [8, 12], "which": 8, "wa": 8, "engag": 8, "20": 8, "time": 8, "sinc": 8, "boot": 8, "millisecond": 8, "success": 8, "complet": 8, "action": 8, "21": 8, "scan": 8, "wifi": 8, "22": 8, "23": 8, "ap": 8, "24": 8, "remot": 8, "version": 8, "26": 8, "27": 8, "each": 8, "contain": 8, "inform": 8, "see": 8, "wirelesspairingstateflag": 8, "28": 8, "ssid": 8, "On": 8, "ble": [8, 9, 11], "valu": [8, 12], "big": 8, "endian": 8, "byte": 8, "int32": 8, "29": 8, "30": 8, "number": 8, "devic": 8, "31": 8, "preview": 8, "32": 8, "primari": 8, "storag": 8, "33": 8, "how": 8, "mani": 8, "can": 8, "taken": 8, "befor": 8, "sdcard": 8, "full": 8, "34": 8, "minut": 8, "35": 8, "total": 8, "38": 8, "39": 8, "over": 8, "air": 8, "ota": 8, "updat": 8, "41": 8, "pend": 8, "request": 8, "cancel": 8, "firmwar": 8, "download": 8, "42": 8, "locat": 8, "45": 8, "timelaps": 8, "countdown": 8, "e": 8, "g": 8, "5": [8, 12], "4": 8, "49": 8, "remain": 8, "space": 8, "kilobyt": 8, "54": 8, "support": [8, 9], "record": 8, "secondari": 8, "55": 8, "signal": 8, "strength": 8, "56": 8, "stop": 8, "58": 8, "most": 8, "recent": 8, "minimum": 8, "between": 8, "best": 8, "practic": 8, "poll": 8, "more": 8, "often": 8, "than": 8, "60": 8, "64": 8, "liveview": 8, "exposur": 8, "select": 8, "65": 8, "y": 8, "coordin": 8, "percent": 8, "66": 8, "67": 8, "doe": 8, "have": 8, "68": 8, "69": 8, "70": 8, "microphon": 8, "accessori": 8, "74": 8, "digit": 8, "zoom": 8, "75": 8, "76": 8, "avail": 8, "77": 8, "mobil": 8, "friendli": 8, "relat": 8, "compress": 8, "78": 8, "first": 8, "us": 8, "ftu": 8, "ui": 8, "flow": 8, "79": 8, "5ghz": 8, "81": 8, "fulli": 8, "readi": [8, 15], "accept": 8, "command": [8, 12, 13], "82": 8, "suffici": 8, "start": [8, 9], "get": [8, 9], "too": 8, "cold": 8, "continu": [8, 12], "85": 8, "rotat": 8, "orient": 8, "86": 8, "model": 8, "while": 8, "88": 8, "flatmod": 8, "89": 8, "93": 8, "94": 8, "95": 8, "correspond": 8, "ui_mode_group": 8, "96": 8, "97": 8, "an": 8, "event": 8, "98": 8, "burst": 8, "99": 8, "100": 8, "delai": 8, "count": 8, "down": 8, "101": 8, "media": [8, 14], "102": 8, "warp": 8, "103": 8, "linux": 8, "core": 8, "104": 8, "reflect": 8, "chang": 8, "105": 8, "106": 8, "schedul": 8, "107": 8, "displai": 8, "bitmask": 8, "110": 8, "meet": 8, "specifi": 8, "write": 8, "111": 8, "error": 8, "112": 8, "turbo": 8, "transfer": 8, "113": 8, "114": 8, "pc": 8, "via": 8, "usb": 8, "115": 8, "116": 8, "sd": 8, "card": 8, "capac": 8, "117": 8, "welcom": 9, "open": 9, "gopro": 9, "api": 9, "document": [9, 14], "limit": 9, "gener": [9, 12], "protocol": [10, 12], "setup": 11, "advertis": 11, "finish": 11, "configur": 11, "gatt": 11, "characterist": 11, "send": 11, "messag": [11, 12], "data": 12, "packet": 12, "header": 12, "extend": 12, "16": 12, "deciph": 12, "payload": 12, "protobuf": [12, 13, 14], "tabl": 13, "enum": 14, "enumcohnnetworkst": 14, "enumcohnstatu": 14, "enumcameracontrolstatu": 14, "enumflatmod": 14, "enumlen": 14, "enumlivestreamerror": 14, "enumlivestreamstatu": 14, "enumpresetgroup": 14, "enumpresetgroupicon": 14, "enumpreseticon": 14, "enumpresettitl": 14, "enumprovis": 14, "enumregisterlivestreamstatu": 14, "enumregisterpresetstatu": 14, "enumresultgener": 14, "enumscanentryflag": 14, "enumscan": 14, "enumwindows": 14, "notifprovisioningst": 14, "notifstartscan": 14, "notifycohnstatu": 14, "notifylivestreamstatu": 14, "notifypresetstatu": 14, "presetgroup": 14, "presetset": 14, "requestcohncert": 14, "requestclearcohncert": 14, "requestconnect": 14, "requestconnectnew": 14, "requestcreatecohncert": 14, "requestcustompresetupd": 14, "requestgetapentri": 14, "requestgetcohnstatu": 14, "requestgetlastcapturedmedia": 14, "requestgetlivestreamstatu": 14, "requestgetpresetstatu": 14, "requestreleasenetwork": 14, "requestsetcohnset": 14, "requestsetcameracontrolstatu": 14, "requestsetlivestreammod": 14, "requestsetturboact": 14, "requeststartscan": 14, "responsecohncert": 14, "responseconnect": 14, "responseconnectnew": 14, "responsegener": 14, "responsegetapentri": 14, "responselastcapturedmedia": 14, "responsestartscan": 14, "scanentri": 14, "manag": 15, "keep": 15, "aliv": 15}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Access Point": [[0, "access-point"]], "Operations": [[0, "operations"], [1, "operations"], [2, "operations"], [3, "operations"], [4, "operations"], [5, "operations"], [6, "operations"], [7, "operations"]], "Disconnect from Access Point": [[0, "disconnect-from-access-point"]], "Camera on the Home Network": [[1, "camera-on-the-home-network"]], "Certificates": [[1, "certificates"]], "Verifying Certificate": [[1, "verifying-certificate"]], "View Certificate Details": [[1, "view-certificate-details"]], "Provisioning Procedure": [[1, "provisioning-procedure"]], "Control": [[2, "control"]], "Hilights": [[3, "hilights"]], "Live Streaming": [[4, "live-streaming"]], "Presets": [[5, "presets"]], "Preset Groups": [[5, "preset-groups"]], "Preset Modified Status": [[5, "preset-modified-status"]], "Query": [[6, "query"]], "Settings": [[7, "settings"]], "Camera Capabilities": [[7, "camera-capabilities"]], "XLSX": [[7, "xlsx"]], "JSON": [[7, "json"]], "Setting IDs": [[7, "setting-ids"], [13, "setting-ids"]], "Resolution (2)": [[7, "resolution-2"]], "Frames Per Second (3)": [[7, "frames-per-second-3"]], "FOV (43)": [[7, "fov-43"]], "Auto Off (59)": [[7, "auto-off-59"]], "GPS (83)": [[7, "gps-83"]], "Aspect Ratio (108)": [[7, "aspect-ratio-108"]], "Lens (121)": [[7, "lens-121"]], "Lens (122)": [[7, "lens-122"]], "Lens (123)": [[7, "lens-123"]], "Format (128)": [[7, "format-128"]], "Anti-Flicker (134)": [[7, "anti-flicker-134"]], "Hypersmooth (135)": [[7, "hypersmooth-135"]], "Horizon Leveling (150)": [[7, "horizon-leveling-150"]], "Horizon Leveling (151)": [[7, "horizon-leveling-151"]], "Max Lens Mod Enable (162)": [[7, "max-lens-mod-enable-162"]], "HindSight (167)": [[7, "hindsight-167"]], "Interval (171)": [[7, "interval-171"]], "Duration (172)": [[7, "duration-172"]], "Video Performance Modes (173)": [[7, "video-performance-modes-173"]], "Controls (175)": [[7, "controls-175"]], "Speed (176)": [[7, "speed-176"]], "Night Photo (177)": [[7, "night-photo-177"]], "Wi-fi Band (178)": [[7, "wi-fi-band-178"]], "Trail Length (179)": [[7, "trail-length-179"]], "Video Mode (180)": [[7, "video-mode-180"]], "Bit Rate (182)": [[7, "bit-rate-182"]], "Bit Depth (183)": [[7, "bit-depth-183"]], "Profiles (184)": [[7, "profiles-184"]], "Video Mode (186)": [[7, "video-mode-186"]], "Lapse Mode (187)": [[7, "lapse-mode-187"]], "Max Lens Mod (189)": [[7, "max-lens-mod-189"]], "Max Lens Mod Enable (190)": [[7, "max-lens-mod-enable-190"]], "Photo Mode (191)": [[7, "photo-mode-191"]], "Aspect Ratio (192)": [[7, "aspect-ratio-192"]], "Framing (193)": [[7, "framing-193"]], "Statuses": [[8, "statuses"]], "Status IDs": [[8, "status-ids"], [13, "status-ids"]], "Is the system\u2019s internal battery present? (1)": [[8, "is-the-system-s-internal-battery-present-1"]], "Rough approximation of internal battery level in bars (or charging) (2)": [[8, "rough-approximation-of-internal-battery-level-in-bars-or-charging-2"]], "Is the system currently overheating? (6)": [[8, "is-the-system-currently-overheating-6"]], "Is the camera busy? (8)": [[8, "is-the-camera-busy-8"]], "Is Quick Capture feature enabled? (9)": [[8, "is-quick-capture-feature-enabled-9"]], "Is the system encoding right now? (10)": [[8, "is-the-system-encoding-right-now-10"]], "Is LCD lock active? (11)": [[8, "is-lcd-lock-active-11"]], "When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)": [[8, "when-encoding-video-this-is-the-duration-seconds-of-the-video-so-far-0-otherwise-13"]], "Are Wireless Connections enabled? (17)": [[8, "are-wireless-connections-enabled-17"]], "The pairing state of the camera (19)": [[8, "the-pairing-state-of-the-camera-19"]], "The last type of pairing in which the camera was engaged (20)": [[8, "the-last-type-of-pairing-in-which-the-camera-was-engaged-20"]], "Time since boot (milliseconds) of last successful pairing complete action (21)": [[8, "time-since-boot-milliseconds-of-last-successful-pairing-complete-action-21"]], "State of current scan for WiFi Access Points (22)": [[8, "state-of-current-scan-for-wifi-access-points-22"]], "Time since boot (milliseconds) that the WiFi Access Point scan completed (23)": [[8, "time-since-boot-milliseconds-that-the-wifi-access-point-scan-completed-23"]], "WiFi AP provisioning state (24)": [[8, "wifi-ap-provisioning-state-24"]], "Wireless remote control version (26)": [[8, "wireless-remote-control-version-26"]], "Is a wireless remote control connected? (27)": [[8, "is-a-wireless-remote-control-connected-27"]], "Wireless Pairing State. Each bit contains state information (see WirelessPairingStateFlags) (28)": [[8, "wireless-pairing-state-each-bit-contains-state-information-see-wirelesspairingstateflags-28"]], "SSID of the AP the camera is currently connected to. On BLE connection, value is big-endian byte-encoded int32 (29)": [[8, "ssid-of-the-ap-the-camera-is-currently-connected-to-on-ble-connection-value-is-big-endian-byte-encoded-int32-29"]], "The camera\u2019s WiFi SSID. On BLE connection, value is big-endian byte-encoded int32 (30)": [[8, "the-camera-s-wifi-ssid-on-ble-connection-value-is-big-endian-byte-encoded-int32-30"]], "The number of wireless devices connected to the camera (31)": [[8, "the-number-of-wireless-devices-connected-to-the-camera-31"]], "Is Preview Stream enabled? (32)": [[8, "is-preview-stream-enabled-32"]], "Primary Storage Status (33)": [[8, "primary-storage-status-33"]], "How many photos can be taken with current settings before sdcard is full (34)": [[8, "how-many-photos-can-be-taken-with-current-settings-before-sdcard-is-full-34"]], "How many minutes of video can be captured with current settings before sdcard is full (35)": [[8, "how-many-minutes-of-video-can-be-captured-with-current-settings-before-sdcard-is-full-35"]], "Total number of photos on sdcard (38)": [[8, "total-number-of-photos-on-sdcard-38"]], "Total number of videos on sdcard (39)": [[8, "total-number-of-videos-on-sdcard-39"]], "The current status of Over The Air (OTA) update (41)": [[8, "the-current-status-of-over-the-air-ota-update-41"]], "Is there a pending request to cancel a firmware update download? (42)": [[8, "is-there-a-pending-request-to-cancel-a-firmware-update-download-42"]], "Is locate camera feature active? (45)": [[8, "is-locate-camera-feature-active-45"]], "The current timelapse interval countdown value (e.g. 5\u20264\u20263\u20262\u20261\u2026) (49)": [[8, "the-current-timelapse-interval-countdown-value-e-g-5-4-3-2-1-49"]], "Remaining space on the sdcard in Kilobytes (54)": [[8, "remaining-space-on-the-sdcard-in-kilobytes-54"]], "Is preview stream supported in current recording/mode/secondary-stream? (55)": [[8, "is-preview-stream-supported-in-current-recording-mode-secondary-stream-55"]], "WiFi signal strength in bars (56)": [[8, "wifi-signal-strength-in-bars-56"]], "The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)": [[8, "the-number-of-hilights-in-currently-encoding-video-value-is-set-to-0-when-encoding-stops-58"]], "Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)": [[8, "time-since-boot-milliseconds-of-most-recent-hilight-in-encoding-video-set-to-0-when-encoding-stops-59"]], "The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)": [[8, "the-minimum-time-between-camera-status-updates-milliseconds-best-practice-is-to-not-poll-for-status-more-often-than-this-60"]], "How many minutes of Time Lapse Video can be captured with current settings before sdcard is full (64)": [[8, "how-many-minutes-of-time-lapse-video-can-be-captured-with-current-settings-before-sdcard-is-full-64"]], "Liveview Exposure Select Mode (65)": [[8, "liveview-exposure-select-mode-65"]], "Liveview Exposure Select: y-coordinate (percent) (66)": [[8, "liveview-exposure-select-y-coordinate-percent-66"]], "Liveview Exposure Select: y-coordinate (percent) (67)": [[8, "liveview-exposure-select-y-coordinate-percent-67"]], "Does the camera currently have a GPS lock? (68)": [[8, "does-the-camera-currently-have-a-gps-lock-68"]], "Is the camera in AP Mode? (69)": [[8, "is-the-camera-in-ap-mode-69"]], "Internal battery level (percent) (70)": [[8, "internal-battery-level-percent-70"]], "Microphone Accessory status (74)": [[8, "microphone-accessory-status-74"]], "Digital Zoom level (percent) (75)": [[8, "digital-zoom-level-percent-75"]], "Wireless Band (76)": [[8, "wireless-band-76"]], "Is Digital Zoom feature available? (77)": [[8, "is-digital-zoom-feature-available-77"]], "Are current video settings mobile friendly? (related to video compression and frame rate) (78)": [[8, "are-current-video-settings-mobile-friendly-related-to-video-compression-and-frame-rate-78"]], "Is the camera currently in First Time Use (FTU) UI flow? (79)": [[8, "is-the-camera-currently-in-first-time-use-ftu-ui-flow-79"]], "Is 5GHz wireless band available? (81)": [[8, "is-5ghz-wireless-band-available-81"]], "Is the system fully booted and ready to accept commands? (82)": [[8, "is-the-system-fully-booted-and-ready-to-accept-commands-82"]], "Is the internal battery charged sufficiently to start Over The Air (OTA) update? (83)": [[8, "is-the-internal-battery-charged-sufficiently-to-start-over-the-air-ota-update-83"]], "Is the camera getting too cold to continue recording? (85)": [[8, "is-the-camera-getting-too-cold-to-continue-recording-85"]], "Rotational orientation of the camera (86)": [[8, "rotational-orientation-of-the-camera-86"]], "Is this camera model capable of zooming while encoding? (88)": [[8, "is-this-camera-model-capable-of-zooming-while-encoding-88"]], "Current Flatmode ID (89)": [[8, "current-flatmode-id-89"]], "Current Video Preset (ID) (93)": [[8, "current-video-preset-id-93"]], "Current Photo Preset (ID) (94)": [[8, "current-photo-preset-id-94"]], "Current Time Lapse Preset (ID) (95)": [[8, "current-time-lapse-preset-id-95"]], "Current Preset Group (ID) (corresponds to ui_mode_groups in settings.json) (96)": [[8, "current-preset-group-id-corresponds-to-ui-mode-groups-in-settings-json-96"]], "Current Preset (ID) (97)": [[8, "current-preset-id-97"]], "Preset Modified Status, which contains an event ID and a Preset (Group) ID (98)": [[8, "preset-modified-status-which-contains-an-event-id-and-a-preset-group-id-98"]], "The number of Live Bursts can be captured with current settings before sdcard is full (99)": [[8, "the-number-of-live-bursts-can-be-captured-with-current-settings-before-sdcard-is-full-99"]], "Total number of Live Bursts on sdcard (100)": [[8, "total-number-of-live-bursts-on-sdcard-100"]], "Is Capture Delay currently active (i.e. counting down)? (101)": [[8, "is-capture-delay-currently-active-i-e-counting-down-101"]], "Media Mod state (102)": [[8, "media-mod-state-102"]], "Time Warp Speed (103)": [[8, "time-warp-speed-103"]], "Is the system\u2019s Linux core active? (104)": [[8, "is-the-system-s-linux-core-active-104"]], "Camera lens type (reflects changes to setting 162 or setting 189) (105)": [[8, "camera-lens-type-reflects-changes-to-setting-162-or-setting-189-105"]], "Is Video Hindsight Capture Active? (106)": [[8, "is-video-hindsight-capture-active-106"]], "Scheduled Capture Preset ID (107)": [[8, "scheduled-capture-preset-id-107"]], "Is Scheduled Capture set? (108)": [[8, "is-scheduled-capture-set-108"]], "Display Mod Status (bitmasked) (110)": [[8, "display-mod-status-bitmasked-110"]], "Does sdcard meet specified minimum write speed? (111)": [[8, "does-sdcard-meet-specified-minimum-write-speed-111"]], "Number of sdcard write speed errors since device booted (112)": [[8, "number-of-sdcard-write-speed-errors-since-device-booted-112"]], "Is Turbo Transfer active? (113)": [[8, "is-turbo-transfer-active-113"]], "Camera control status ID (114)": [[8, "camera-control-status-id-114"]], "Is the camera connected to a PC via USB? (115)": [[8, "is-the-camera-connected-to-a-pc-via-usb-115"]], "Camera control over USB state (116)": [[8, "camera-control-over-usb-state-116"]], "Total SD card capacity in Kilobytes (117)": [[8, "total-sd-card-capacity-in-kilobytes-117"]], "Welcome to Open GoPro BLE API\u2019s documentation!": [[9, "welcome-to-open-gopro-ble-api-s-documentation"]], "Supported Cameras": [[9, "supported-cameras"]], "Getting Started": [[9, "getting-started"]], "Limitations": [[9, "limitations"]], "General": [[9, "general"]], "Protocol": [[10, "protocol"]], "BLE Setup": [[11, "ble-setup"]], "Pairing Mode": [[11, "pairing-mode"]], "Advertisements": [[11, "advertisements"]], "Finish Pairing": [[11, "finish-pairing"]], "Configure GATT Characteristics": [[11, "configure-gatt-characteristics"]], "BLE Characteristics": [[11, "ble-characteristics"]], "Send Messages": [[11, "send-messages"]], "Data Protocol": [[12, "data-protocol"]], "Packetization": [[12, "packetization"]], "Packet Headers": [[12, "packet-headers"]], "General (5-bit) Packets": [[12, "general-5-bit-packets"]], "Extended (13-bit) Packets": [[12, "extended-13-bit-packets"]], "Extended (16-bit) Packets": [[12, "extended-16-bit-packets"]], "Continuation Packets": [[12, "continuation-packets"]], "Decipher Message Payload Type": [[12, "decipher-message-payload-type"]], "Message Payload": [[12, "message-payload"]], "Type Length Value": [[12, "type-length-value"]], "Commands": [[12, "commands"]], "Queries": [[12, "queries"]], "Protobuf": [[12, "protobuf"]], "ID Tables": [[13, "id-tables"]], "Command IDs": [[13, "command-ids"]], "Query IDs": [[13, "query-ids"]], "Protobuf IDs": [[13, "protobuf-ids"]], "Protobuf Documentation": [[14, "protobuf-documentation"]], "Enums": [[14, "enums"]], "EnumCOHNNetworkState": [[14, "enumcohnnetworkstate"]], "EnumCOHNStatus": [[14, "enumcohnstatus"]], "EnumCameraControlStatus": [[14, "enumcameracontrolstatus"]], "EnumFlatMode": [[14, "enumflatmode"]], "EnumLens": [[14, "enumlens"]], "EnumLiveStreamError": [[14, "enumlivestreamerror"]], "EnumLiveStreamStatus": [[14, "enumlivestreamstatus"]], "EnumPresetGroup": [[14, "enumpresetgroup"]], "EnumPresetGroupIcon": [[14, "enumpresetgroupicon"]], "EnumPresetIcon": [[14, "enumpreseticon"]], "EnumPresetTitle": [[14, "enumpresettitle"]], "EnumProvisioning": [[14, "enumprovisioning"]], "EnumRegisterLiveStreamStatus": [[14, "enumregisterlivestreamstatus"]], "EnumRegisterPresetStatus": [[14, "enumregisterpresetstatus"]], "EnumResultGeneric": [[14, "enumresultgeneric"]], "EnumScanEntryFlags": [[14, "enumscanentryflags"]], "EnumScanning": [[14, "enumscanning"]], "EnumWindowSize": [[14, "enumwindowsize"]], "Media": [[14, "media"]], "NotifProvisioningState": [[14, "notifprovisioningstate"]], "NotifStartScanning": [[14, "notifstartscanning"]], "NotifyCOHNStatus": [[14, "notifycohnstatus"]], "NotifyLiveStreamStatus": [[14, "notifylivestreamstatus"]], "NotifyPresetStatus": [[14, "notifypresetstatus"]], "Preset": [[14, "preset"]], "PresetGroup": [[14, "presetgroup"]], "PresetSetting": [[14, "presetsetting"]], "RequestCOHNCert": [[14, "requestcohncert"]], "RequestClearCOHNCert": [[14, "requestclearcohncert"]], "RequestConnect": [[14, "requestconnect"]], "RequestConnectNew": [[14, "requestconnectnew"]], "RequestCreateCOHNCert": [[14, "requestcreatecohncert"]], "RequestCustomPresetUpdate": [[14, "requestcustompresetupdate"]], "RequestGetApEntries": [[14, "requestgetapentries"]], "RequestGetCOHNStatus": [[14, "requestgetcohnstatus"]], "RequestGetLastCapturedMedia": [[14, "requestgetlastcapturedmedia"]], "RequestGetLiveStreamStatus": [[14, "requestgetlivestreamstatus"]], "RequestGetPresetStatus": [[14, "requestgetpresetstatus"]], "RequestReleaseNetwork": [[14, "requestreleasenetwork"]], "RequestSetCOHNSetting": [[14, "requestsetcohnsetting"]], "RequestSetCameraControlStatus": [[14, "requestsetcameracontrolstatus"]], "RequestSetLiveStreamMode": [[14, "requestsetlivestreammode"]], "RequestSetTurboActive": [[14, "requestsetturboactive"]], "RequestStartScan": [[14, "requeststartscan"]], "ResponseCOHNCert": [[14, "responsecohncert"]], "ResponseConnect": [[14, "responseconnect"]], "ResponseConnectNew": [[14, "responseconnectnew"]], "ResponseGeneric": [[14, "responsegeneric"]], "ResponseGetApEntries": [[14, "responsegetapentries"]], "ResponseLastCapturedMedia": [[14, "responselastcapturedmedia"]], "ResponseStartScanning": [[14, "responsestartscanning"]], "ResponseGetApEntries::ScanEntry": [[14, "responsegetapentries-scanentry"]], "State Management": [[15, "state-management"]], "Camera Readiness": [[15, "camera-readiness"]], "Keep Alive": [[15, "keep-alive"]], "Camera Control": [[15, "camera-control"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["features/access_points", "features/cohn", "features/control", "features/hilights", "features/live_streaming", "features/presets", "features/query", "features/settings", "features/statuses", "index", "protocol", "protocol/ble_setup", "protocol/data_protocol", "protocol/id_tables", "protocol/protobuf", "protocol/state_management"], "filenames": ["features/access_points.rst", "features/cohn.rst", "features/control.rst", "features/hilights.rst", "features/live_streaming.rst", "features/presets.rst", "features/query.rst", "features/settings.rst", "features/statuses.rst", "index.rst", "protocol.rst", "protocol/ble_setup.rst", "protocol/data_protocol.rst", "protocol/id_tables.rst", "protocol/protobuf.rst", "protocol/state_management.rst"], "titles": ["Access Point", "Camera on the Home Network", "Control", "Hilights", "Live Streaming", "Presets", "Query", "Settings", "Statuses", "Welcome to Open GoPro BLE API\u2019s documentation!", "Protocol", "BLE Setup", "Data Protocol", "ID Tables", "Protobuf Documentation", "State Management"], "terms": {"The": [0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "camera": [0, 2, 4, 5, 6, 10, 11, 12, 13, 14], "support": [0, 1, 2, 4, 6, 7, 11, 13, 14], "connect": [0, 1, 2, 4, 11, 13, 14, 15], "station": [0, 4, 14], "mode": [0, 2, 4, 5, 9, 10, 13, 14], "sta": [0, 14], "thi": [0, 1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15], "i": [0, 1, 2, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15], "necessari": [0, 7, 11, 12, 15], "featur": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 14], "live": [0, 9, 13, 14], "stream": [0, 9, 13, 14], "where": [0, 9, 12], "need": [0, 1, 9, 11], "an": [0, 1, 4, 6, 7, 9, 11, 12, 13, 14, 15], "internet": [0, 14], "while": [0, 3, 9, 11, 13, 14, 15], "http": [0, 1, 14], "command": [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 14, 15], "control": [0, 1, 5, 9, 10, 11, 13, 14], "avail": [0, 5, 9, 13, 14], "some": [0, 1, 2, 12, 15], "scan": [0, 11, 13, 14], "type": [0, 1, 2, 3, 4, 5, 6, 7, 10, 13, 14], "protobuf": [0, 1, 2, 4, 5, 6, 9, 10], "request": [0, 1, 2, 3, 4, 5, 6, 7, 9, 12, 13, 14], "start": [0, 2, 4, 6, 12, 13, 14], "serial": [0, 2, 12, 14], "object": [0, 7, 12, 14], "zero": [0, 2, 5, 8, 14], "byte": [0, 2, 6, 12, 13, 14], "respons": [0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 13, 14], "responsestartscan": [0, 13], "ar": [0, 1, 5, 6, 7, 9, 10, 11, 12, 13, 14], "sent": [0, 4, 5, 6, 11, 12, 14], "immedi": [0, 2, 5, 14], "after": [0, 2, 11, 12, 14, 15], "receiv": [0, 6, 9, 11, 12, 14], "notif": [0, 1, 2, 4, 5, 6, 11, 13, 14], "notifstartscan": [0, 13], "period": [0, 5, 14, 15], "state": [0, 5, 6, 7, 9, 10, 11, 12, 13, 14], "chang": [0, 1, 4, 5, 6, 7, 9, 13, 14, 15], "us": [0, 1, 2, 3, 4, 5, 9, 10, 12, 13, 14, 15], "detect": [0, 14], "complet": [0, 9, 13, 14], "uuid": [0, 1, 2, 3, 4, 5, 6, 7, 11, 12], "network": [0, 9, 11, 14], "manag": [0, 9, 10, 11], "id": [0, 1, 2, 3, 4, 5, 6, 9, 10, 12, 14], "0x02": [0, 13], "action": [0, 1, 2, 4, 5, 6, 12, 13], "messag": [0, 1, 2, 4, 5, 6, 9, 10, 13, 14, 15], "requeststartscan": [0, 13], "doc": [0, 1, 2, 4, 5, 6], "sourc": [0, 1, 2, 4, 5, 6, 14], "current": [0, 1, 2, 4, 5, 6, 7, 9, 12, 13, 14], "initi": [0, 4, 5, 6, 10, 14], "0x82": [0, 6, 13], "trigger": [0, 1, 14], "via": [0, 1, 2, 4, 5, 6, 7, 9, 11, 13, 14], "0x0b": [0, 13], "get": [0, 1, 4, 5, 6, 7, 13, 14, 15], "ap": [0, 2, 11, 13, 14], "result": [0, 6, 7, 9, 12, 13, 14], "list": [0, 7, 9, 14], "found": [0, 5, 6, 7, 14], "dure": [0, 3, 11, 14], "responsegetapentri": [0, 13], "0x03": [0, 13], "requestgetapentri": [0, 13], "A": [0, 1, 5, 7, 12, 14, 15], "entri": [0, 14], "describ": [0, 6, 8, 9, 12, 14], "0x83": [0, 13], "provis": [0, 13, 14], "can": [0, 1, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14], "onli": [0, 3, 5, 6, 7, 8, 12, 14], "ha": [0, 1, 8, 12, 14], "been": [0, 12, 14], "previous": [0, 7, 14], "configur": [0, 1, 2, 4, 10, 14], "therefor": [0, 15], "first": [0, 1, 6, 7, 9, 11, 12, 13, 14], "ensur": [0, 11], "relev": [0, 9, 11, 12], "scan_flag_configur": [0, 14], "bit": [0, 11, 13], "set": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 14, 15], "do": [0, 11, 12, 14], "authent": [0, 14], "intend": [0, 14], "responseconnect": [0, 13], "notifprovisioningst": [0, 13], "0x04": [0, 13], "requestconnect": [0, 13], "statu": [0, 1, 2, 4, 6, 10, 12, 14, 15], "attempt": [0, 8, 14], "0x84": [0, 13], "requestconnectnew": [0, 13], "0x0c": [0, 13], "new": [0, 1, 5, 11, 13, 14], "doe": [0, 1, 11, 13, 14], "have": [0, 1, 11, 12, 13], "responseconnectnew": [0, 13], "0x05": [0, 2, 13], "0x85": [0, 13], "To": [0, 5, 8, 12], "return": [0, 1, 2, 5, 6, 14], "On": [0, 1, 2, 7, 13, 14], "which": [0, 1, 2, 5, 11, 13, 14], "disabl": [0, 2, 8, 14], "cohn": [1, 13, 14], "capabl": [1, 6, 9, 13], "allow": [1, 11], "client": [1, 2, 5, 11, 14, 15], "perform": [1, 5, 9, 13, 14], "indirectli": 1, "through": [1, 9, 10], "access": [1, 2, 4, 9, 11, 13, 14], "point": [1, 2, 4, 9, 11, 13, 14], "router": 1, "For": [1, 2, 4, 7, 9, 11, 12, 15], "secur": 1, "purpos": 1, "all": [1, 2, 6, 11, 12], "commun": [1, 9, 10, 11], "over": [1, 13], "hero12": [1, 6, 9], "black": [1, 6, 7, 9], "hero11": [1, 9], "mini": [1, 9], "hero10": [1, 9], "hero9": [1, 9], "requir": [1, 11, 14], "two": [1, 8, 11, 12], "thing": 1, "trust": 1, "ssl": [1, 14], "tl": [1, 14], "basic": [1, 7, 9, 14], "auth": [1, 14], "usernam": [1, 14], "password": [1, 11, 14], "header": [1, 14], "root": [1, 14], "ca": [1, 14], "cert": [1, 14], "provid": 1, "1": [1, 2, 6, 7, 12, 13, 14], "year": [1, 2, 6], "lifespan": 1, "contain": [1, 6, 7, 12, 13, 14], "": [1, 2, 4, 5, 6, 7, 11, 12, 13, 14, 15], "ip": [1, 14], "address": [1, 14], "local": [1, 2, 6, 13, 14], "sign": 1, "chain": 1, "e": [1, 2, 5, 6, 13, 14, 15], "g": [1, 5, 13, 14, 15], "when": [1, 2, 5, 6, 12, 13, 14], "dhcp": 1, "leas": 1, "expir": 1, "reset": [1, 2, 5, 11, 12], "replac": 1, "without": [1, 2, 6], "download": [1, 13], "instal": 1, "act": 1, "author": 1, "creat": [1, 5, 13, 14], "valid": [1, 7, 11, 14], "util": 1, "openssl": 1, "cafil": 1, "path": [1, 6, 14], "goprorootca": 1, "crt": 1, "ok": [1, 8], "most": [1, 2, 9, 13, 14], "system": [1, 13, 14, 15], "about": [1, 2, 4, 6, 14], "maco": 1, "right": [1, 8], "mous": 1, "click": 1, "quick": [1, 13], "look": 1, "window": 1, "properti": [1, 14], "ubuntu": 1, "open": [1, 6, 10, 12, 13], "file": [1, 7, 14], "x509": 1, "noout": 1, "text": [1, 14], "In": [1, 2, 7, 11, 12, 15], "order": [1, 2, 5, 7, 10, 11, 12, 15], "must": [1, 5, 8, 11, 12, 14], "At": 1, "high": [1, 7], "level": [1, 12, 13, 14], "process": [1, 11], "follow": [1, 4, 7, 10, 11, 12, 14], "instruct": 1, "gopro": [1, 2, 6, 8, 10, 11, 12, 13, 15], "credenti": 1, "depend": [1, 5, 6, 7, 12, 14, 15], "case": [1, 5, 9, 14], "step": [1, 11], "onc": [1, 11, 12], "nearli": 1, "function": [1, 9], "more": [1, 6, 7, 11, 12, 13, 14], "see": [1, 4, 6, 7, 9, 11, 12, 13], "specif": [1, 15], "clear": [1, 13, 14], "responsegener": [1, 2, 4, 5, 13], "0xf1": [1, 2, 4, 5, 13], "0x66": [1, 13], "requestclearcohncert": [1, 13], "gener": [1, 2, 4, 5, 14], "across": [1, 2, 4, 5, 14], "mani": [1, 2, 4, 5, 13, 14], "0xe6": [1, 13], "creation": [1, 14], "0x67": [1, 13], "requestcreatecohncert": [1, 13], "0xe7": [1, 13], "responsecohncert": [1, 13], "queri": [1, 4, 5, 7, 8, 9, 10, 11, 15], "0xf5": [1, 4, 5, 6, 13], "0x6e": [1, 13], "requestcohncert": [1, 13], "0xee": [1, 13], "notifycohnstatu": [1, 13], "addition": [1, 9, 14], "asynchron": [1, 4, 5, 11, 13, 14], "updat": [1, 2, 5, 6, 9, 13, 14], "also": [1, 14], "regist": [1, 4, 5, 6, 13, 14], "valu": [1, 2, 5, 6, 7, 9, 13, 14], "0x6f": [1, 13], "requestgetcohnstatu": [1, 13], "0xef": [1, 13], "0x65": [1, 13], "requestsetcohnset": [1, 13], "0xe5": [1, 13], "page": [2, 14], "detail": [2, 4, 7, 14], "keep": [2, 10, 13], "aliv": [2, 10, 13], "tlv": [2, 3, 5, 6, 7, 12], "0x5b": [2, 13], "maxim": [2, 12], "batteri": [2, 7, 13], "life": 2, "automat": [2, 14, 15], "go": 2, "sleep": [2, 11, 13], "time": [2, 6, 11, 13, 14, 15], "logic": 2, "handl": 2, "combin": 2, "auto": [2, 8, 13], "off": [2, 15], "user": [2, 5, 7, 9, 14, 15], "regularli": 2, "send": [2, 5, 9, 12, 14, 15], "both": 2, "timer": 2, "reach": 2, "power": [2, 11, 13, 15], "down": [2, 13], "tap": 2, "lcd": [2, 13], "screen": [2, 14], "press": [2, 5, 14], "button": [2, 14], "programmat": 2, "un": 2, "shutter": [2, 4, 13], "load": [2, 5, 13, 15], "preset": [2, 7, 9, 13, 15], "best": [2, 11, 13, 15], "practic": [2, 11, 13, 15], "prevent": [2, 15], "from": [2, 5, 6, 7, 8, 11, 12, 14], "inadvert": 2, "everi": [2, 7], "3": [2, 12, 13, 14], "0": [2, 6, 7, 12, 13, 14], "second": [2, 6, 13, 14], "establish": 2, "paramet": [2, 5, 6, 7, 12], "keep_al": 2, "uint8": [2, 6, 7], "hard": 2, "code": [2, 9], "data": [2, 6, 9, 10, 11], "0x42": 2, "analyt": [2, 13], "0x50": [2, 13], "third": [2, 14, 15], "parti": [2, 14, 15], "track": 2, "0x17": [2, 13], "enabl": [2, 5, 11, 13, 14], "wifi": [2, 11, 13, 14], "part": [2, 6, 14], "global": [2, 14], "behavior": [2, 14, 15], "tell": [2, 14, 15], "app": [2, 8, 14, 15], "extern": [2, 8, 14], "wish": [2, 14, 15], "claim": [2, 14, 15], "caus": [2, 11, 14], "exit": [2, 5, 12, 14], "contextu": [2, 14], "menu": [2, 8, 14], "idl": [2, 8, 14], "ani": [2, 4, 5, 9, 14], "interact": [2, 14], "physic": [2, 14], "reclaim": [2, 14], "accordingli": [2, 14], "If": [2, 6, 7, 11, 12, 14, 15], "ui": [2, 5, 11, 13, 14], "entiti": [2, 8, 14], "advertis": [2, 10, 14], "114": [2, 7, 13, 14], "inform": [2, 6, 7, 11, 13, 14], "whether": [2, 5, 11, 12, 14], "63": [2, 14], "0x69": [2, 13], "requestsetcameracontrolstatu": [2, 13], "0xe9": [2, 13], "date": [2, 6, 13], "0x0d": [2, 13], "timezon": [2, 6], "daylight": [2, 6], "save": [2, 6, 14], "date_tim": 2, "7": [2, 7, 8, 12, 14], "defin": [2, 6, 7, 12, 14], "uint16": [2, 6], "month": [2, 6], "12": [2, 6, 7, 8, 14], "dai": [2, 6], "31": [2, 6, 12, 13, 14], "hour": [2, 6, 7, 11], "23": [2, 6, 7, 13, 14], "minut": [2, 6, 7, 13], "59": [2, 6, 13, 14], "exampl": [2, 7, 9, 11, 12, 15], "2023": 2, "01": [2, 6, 9, 12], "03": [2, 9], "04": 2, "05": 2, "07": 2, "e7": 2, "1f": 2, "abov": [2, 6, 7, 9], "0x0f": [2, 13], "10": [2, 7, 9, 12, 13, 14], "int16": [2, 6], "utc": [2, 6], "offset": [2, 6], "is_dst": [2, 6], "otherwis": [2, 12, 13], "02": 2, "00": [2, 9, 12], "dst": 2, "ff": 2, "88": [2, 13], "0x01": [2, 13], "turbo": [2, 13, 14], "transfer": [2, 13, 14], "displai": [2, 13, 14], "media": [2, 4, 6, 13, 15], "0x6b": [2, 13], "requestsetturboact": [2, 13], "0xeb": [2, 13], "put": [2, 4, 11], "still": 2, "ble": [2, 10, 12, 13], "moment": [3, 13], "0x18": [3, 13], "add": [3, 14], "record": [3, 13], "encod": [3, 9, 13, 14, 15], "abil": 4, "social": 4, "platform": 4, "twitch": 4, "youtub": 4, "facebook": 4, "other": [4, 15], "site": 4, "accept": [4, 13, 14, 15], "rtmp": [4, 14], "url": [4, 14], "addit": [4, 14], "how": [4, 9, 12, 13], "accomplish": [4, 12], "livestream": [4, 13, 14], "poll": [4, 13], "until": 4, "indic": [4, 11, 14], "readi": [4, 10, 13, 14], "begin": 4, "unset": [4, 15], "stop": [4, 13, 14], "0x79": [4, 13], "requestsetlivestreammod": [4, 13], "0xf9": [4, 13], "option": [4, 5, 6, 7, 8, 12, 14], "futur": [4, 14], "notifylivestreamstatu": [4, 13], "0x74": [4, 13], "requestgetlivestreamstatu": [4, 13], "either": [4, 5, 12, 14], "As": [4, 14], "synchron": [4, 5, 14], "0xf4": [4, 13], "organ": 5, "differ": [5, 12], "collect": 5, "below": [5, 7, 9, 11, 12], "tabl": [5, 9, 10, 11, 12], "affect": 5, "therebi": 5, "162": [5, 13], "max": [5, 8, 13, 14], "len": [5, 13, 14], "173": [5, 13], "video": [5, 6, 9, 13, 14, 15], "175": [5, 13], "177": [5, 13], "night": [5, 13], "photo": [5, 6, 9, 13, 14, 15], "180": [5, 8, 13], "186": [5, 13], "187": [5, 13], "laps": [5, 13], "189": [5, 13], "mod": [5, 13], "190": [5, 13], "191": [5, 13], "find": 5, "98": [5, 13], "non": [5, 14], "submenu": 5, "were": 5, "delet": [5, 14], "within": [5, 14], "factori": [5, 11, 14], "default": [5, 8, 14], "notifi": [5, 11, 14], "notifypresetstatu": [5, 13], "one": [5, 6, 7, 8, 12, 14], "caption": [5, 14], "api": [5, 6, 14], "long": [5, 7, 14], "pill": [5, 14], "back": [5, 14], "arrow": [5, 14], "reorder": [5, 14], "0x72": [5, 6, 13], "requestgetpresetstatu": [5, 13], "0xf2": [5, 13], "0xf3": [5, 13], "0x40": [5, 13], "uint32": 5, "0x3e": [5, 13], "enumpresetgroup": 5, "custom": [5, 13, 14], "titl": [5, 14], "icon": [5, 14], "activ": [5, 9, 13, 14, 15], "fail": [5, 7, 8, 14], "icon_id": [5, 14], "alwai": [5, 7, 9, 12, 14, 15], "pass": [5, 14], "title_id": [5, 14], "preset_title_user_defined_custom_nam": [5, 14], "94": [5, 13, 14], "name": [5, 7, 8, 9, 14], "specifi": [5, 12, 13, 14], "custom_nam": [5, 14], "0x64": [5, 13], "requestcustompresetupd": [5, 13], "0xe4": [5, 13], "section": [6, 8, 9, 10, 11, 12], "variou": [6, 9, 10], "0x0e": [6, 13], "response_length": 6, "length": [6, 13], "payload": [6, 10], "weekdai": 6, "sundai": 6, "saturdai": 6, "6": [6, 7, 12, 13, 14], "hardwar": [6, 13], "info": [6, 13, 14], "0x3c": [6, 13], "firmwar": [6, 7, 9, 13], "note": [6, 12], "model": [6, 9, 13, 14], "number": [6, 13, 14], "under": 6, "model_number_length": 6, "model_numb": 6, "unsign": 6, "model_name_length": 6, "model_nam": 6, "string": [6, 8, 12, 14], "deprecated_length": 6, "deprec": 6, "firmware_version_length": 6, "firmware_vers": 6, "h23": [6, 9], "99": [6, 13], "56": [6, 13], "serial_number_length": 6, "serial_numb": 6, "c1234567812345": 6, "ap_ssid_length": 6, "ap_ssid": 6, "gp12345678": 6, "ap_mac_address_length": 6, "ap_mac_address": 6, "2674f7f65f78": 6, "reserv": [6, 12], "11": [6, 7, 13, 14], "0x10": [6, 13], "ye": 6, "last": [6, 13, 14], "captur": [6, 13, 14, 15], "filenam": [6, 14], "responselastcapturedmedia": [6, 13], "0x6d": [6, 13], "requestgetlastcapturedmedia": [6, 13], "rel": [6, 14], "dcim": [6, 14], "directori": [6, 14], "sdcard": [6, 13, 14, 15], "singl": [6, 12, 14], "group": [6, 13, 14], "0xed": [6, 13], "version": [6, 7, 9, 12, 13], "0x51": [6, 13], "major_length": 6, "major": 6, "minor_length": 6, "minor": 6, "associ": [6, 9, 14], "element": [6, 12, 13], "arrai": [6, 12, 14], "empti": 6, "0x12": [6, 13], "field": [6, 14], "individu": [6, 7, 12, 14], "document": [6, 7, 10, 12], "status": [6, 9, 12, 14], "0x13": [6, 13], "report": 6, "those": 6, "0x32": [6, 13], "whenev": 6, "0x52": [6, 13], "0x92": [6, 13], "0x53": [6, 13], "0x93": [6, 13], "0x62": [6, 13], "0xa2": [6, 13], "unregist": [6, 13, 14], "cancel": [6, 13], "ongo": 6, "0x73": [6, 13], "usual": [7, 14], "anoth": 7, "often": [7, 13], "releas": 7, "next": 7, "whitelist": 7, "These": 7, "each": [7, 11, 12, 13], "compris": [7, 12, 14], "present": [7, 13], "mean": [7, 14], "guarante": 7, "attain": 7, "failur": 7, "adher": 7, "mai": [7, 14, 15], "blacklist": 7, "rule": 7, "reject": [7, 9, 14, 15], "4": [7, 12, 13, 14], "5": [7, 13, 14], "hero": 7, "re": [7, 11, 14], "1080": 7, "60": [7, 9, 13, 14], "hz": 7, "fp": 7, "240": 7, "wide": 7, "work": [7, 12], "standard": 7, "suppos": 7, "wa": [7, 11, 13, 14], "4k": 7, "tri": 7, "becaus": [7, 14], "240fp": 7, "here": [7, 12], "spreadsheet": 7, "worksheet": 7, "row": [7, 12], "repres": [7, 14], "outlin": 7, "construct": 7, "given": [7, 14], "schema": 7, "settingid": [7, 13], "superset": 7, "altern": [7, 11, 12], "dynam": [7, 11], "value_length": 7, "variabl": [7, 12], "7k": 7, "1440": 7, "9": [7, 13, 14], "18": [7, 14], "24": [7, 13, 14], "5k": 7, "25": [7, 14], "26": [7, 13, 14], "3k": 7, "8": [7, 11, 13, 14], "27": [7, 13, 14], "28": [7, 13, 14], "100": [7, 13], "107": [7, 13], "109": 7, "110": [7, 13], "111": [7, 13], "120": 7, "50": 7, "30": [7, 13, 14], "13": [7, 13, 14], "200": 7, "narrow": [7, 11], "superview": 7, "linear": 7, "never": [7, 8], "min": 7, "15": [7, 14], "ON": [7, 11], "16": [7, 14], "hyperview": 7, "lock": [7, 13], "19": [7, 13, 14], "101": [7, 13], "102": [7, 13], "20": [7, 12, 13, 14], "21": [7, 13, 14], "60hz": 7, "50hz": 7, "boost": 7, "maximum": [7, 14], "extend": 7, "tripod": 7, "stationari": 7, "easi": [7, 13], "pro": 7, "8x": 7, "ultra": 7, "slo": 7, "mo": 7, "4x": 7, "super": 7, "2x": [7, 8], "1x": [7, 8], "low": [7, 9, 14], "light": 7, "14": [7, 14], "17": [7, 13, 14], "22": [7, 13, 14], "103": [7, 13], "104": [7, 13], "105": [7, 13], "106": [7, 13], "112": [7, 13], "113": [7, 13], "115": [7, 13], "116": [7, 13], "117": [7, 13], "118": [7, 13], "119": 7, "124": 7, "125": 7, "126": 7, "127": 7, "129": 7, "130": 7, "131": 7, "132": 7, "133": 7, "136": 7, "137": 7, "4ghz": 7, "5ghz": [7, 13], "short": 7, "highest": 7, "qualiti": 7, "longest": 7, "hdr": 7, "log": 7, "timewarp": 7, "star": 7, "paint": 7, "vehicl": 7, "none": 7, "widescreen": 7, "vertic": 7, "full": [7, 13, 14], "its": [8, 12], "oper": [8, 10, 13, 14], "fals": [8, 14], "true": 8, "One": 8, "three": 8, "abort": 8, "Not": [8, 14], "bluetooth": [8, 9], "unknown": [8, 14], "remov": [8, 14], "format": [8, 9, 12, 13, 14, 15], "swap": 8, "verifi": 8, "iso": 8, "hemispher": 8, "plug": 8, "ghz": 8, "degre": 8, "upright": 8, "upsid": 8, "90": 8, "lai": 8, "side": 8, "270": 8, "left": 8, "15x": 8, "30x": 8, "60x": 8, "150x": 8, "300x": 8, "900x": 8, "1800x": 8, "5x": 8, "10x": 8, "realtim": 8, "slow": 8, "motion": 8, "000": 8, "hdmi": 8, "001": 8, "010": 8, "011": 8, "No": [8, 14], "interven": 8, "outsid": [8, 14], "energi": 9, "pertain": 9, "public": 9, "market": 9, "minim": 9, "62": [9, 14], "v01": 9, "h22": 9, "58": [9, 13, 14], "57": 9, "h21": 9, "55": [9, 13], "hd9": 9, "70": [9, 13, 14], "minimum": [9, 13, 14], "assum": 9, "recent": [9, 13], "between": [9, 13, 14, 15], "read": [9, 10, 11], "protocol": [9, 11], "understand": 9, "setup": [9, 10], "Then": 9, "subsequ": [9, 11, 12], "desir": [9, 14], "home": [9, 14], "hilight": [9, 13], "walk": 9, "tutori": [9, 12], "demonstr": 9, "well": 9, "demo": 9, "program": 9, "languag": [9, 14], "hindsight": [9, 13], "core": [9, 13], "undefin": [9, 15], "should": [9, 11, 15], "try": 9, "digit": [9, 13], "lens": [9, 13, 14], "fov": [9, 14], "base": 9, "pair": [10, 12, 13], "finish": [10, 14], "gatt": [10, 12], "characterist": [10, 12], "packet": 10, "deciph": 10, "refer": 10, "befor": [11, 12, 13, 14, 15], "overview": 11, "up": 11, "discov": [11, 14], "peripher": 11, "devic": [11, 13], "limit": [11, 12], "servic": 11, "0xfea6": 11, "subscrib": 11, "flag": [11, 15], "discover": 11, "wake": 11, "boot": [11, 13], "procedur": [11, 12], "done": 11, "again": 11, "store": 11, "so": [11, 13], "wai": 11, "cach": 11, "subscript": 11, "upon": 11, "gp": [11, 12, 13], "xxxx": 11, "shorthand": 11, "128": [11, 13], "b5f9xxxx": 11, "aa8d": 11, "11e3": 11, "9046": 11, "0002a5d5c51b": 11, "descript": [11, 12], "permiss": 11, "0001": 11, "0002": 11, "ssid": [11, 13, 14], "write": [11, 13], "0003": 11, "0004": 11, "0005": 11, "0090": 11, "0091": 11, "0092": 11, "fea6": 11, "0072": [11, 12], "0073": 11, "0074": [11, 12], "0075": 11, "0076": [11, 12], "0077": 11, "wait": [11, 14, 15], "correspond": [11, 13, 14], "build": 11, "pars": [11, 12], "terminologi": 12, "includ": [12, 14], "accumul": 12, "depacket": 12, "extract": 12, "per": [12, 13], "identifi": 12, "big": [12, 13], "endian": [12, 13], "unless": [12, 15], "v4": 12, "2": [12, 13, 14], "size": 12, "accommod": 12, "larger": 12, "less": 12, "than": [12, 13, 15], "split": 12, "multipl": 12, "prepend": 12, "onto": 12, "fewer": 12, "8191": 12, "avoid": 12, "8192": 12, "longer": 12, "respond": 12, "It": 12, "n": 12, "counter": 12, "0x0": 12, "0xf": 12, "determin": 12, "appropri": 12, "pseudocod": 12, "u": 12, "p": 12, "f": 12, "int": 12, "match": 12, "structur": 12, "nope": 12, "scheme": 12, "els": 12, "map": 12, "flowchart": 12, "form": 12, "had": 12, "top": 12, "thei": 12, "consid": 12, "There": 12, "summar": 12, "throughout": 12, "possibl": 12, "success": [12, 13, 14], "error": [12, 13, 14], "invalid": [12, 14], "255": 12, "respect": 12, "triplet": 12, "bandwidth": 12, "googl": 12, "buffer": 12, "deseri": 12, "certif": [13, 14], "resolut": [13, 14], "frame": 13, "43": 13, "webcam": 13, "83": [13, 14], "108": 13, "aspect": 13, "ratio": 13, "121": 13, "122": 13, "123": 13, "134": 13, "anti": 13, "flicker": 13, "135": 13, "hypersmooth": 13, "150": 13, "horizon": 13, "151": 13, "167": 13, "171": 13, "interv": 13, "172": 13, "durat": 13, "176": 13, "speed": 13, "178": 13, "wireless": 13, "band": 13, "179": 13, "trail": 13, "182": 13, "rate": 13, "183": 13, "depth": 13, "184": 13, "profil": 13, "192": 13, "193": 13, "intern": 13, "rough": 13, "approxim": 13, "bar": [13, 14], "charg": 13, "overh": 13, "busi": [13, 15], "far": 13, "engag": 13, "sinc": 13, "millisecond": 13, "remot": 13, "wirelesspairingstateflag": 13, "29": [13, 14], "int32": [13, 14], "32": [13, 14], "preview": 13, "33": [13, 14], "primari": [13, 14], "storag": 13, "34": [13, 14], "taken": 13, "35": [13, 14], "38": [13, 14], "total": [13, 14], "39": [13, 14], "41": [13, 14], "air": 13, "ota": 13, "42": [13, 14], "pend": 13, "45": 13, "locat": 13, "49": 13, "timelaps": 13, "countdown": 13, "54": 13, "remain": 13, "space": 13, "kilobyt": 13, "secondari": [13, 14], "signal": [13, 14, 15], "strength": [13, 14], "65": [13, 14], "liveview": 13, "exposur": 13, "select": 13, "66": [13, 14], "y": 13, "coordin": 13, "percent": 13, "67": [13, 14], "68": [13, 14], "69": [13, 14], "74": [13, 14], "microphon": 13, "accessori": 13, "75": [13, 14], "zoom": 13, "76": [13, 14], "77": [13, 14], "78": [13, 14], "mobil": 13, "friendli": 13, "relat": 13, "compress": 13, "79": [13, 14], "ftu": 13, "flow": 13, "81": 13, "82": [13, 14], "fulli": 13, "suffici": 13, "85": [13, 14], "too": 13, "cold": 13, "continu": 13, "86": 13, "rotat": 13, "orient": 13, "89": 13, "flatmod": [13, 14], "93": [13, 14], "95": 13, "96": 13, "ui_mode_group": 13, "json": 13, "97": 13, "modifi": [13, 14], "event": 13, "burst": 13, "delai": 13, "count": [13, 14], "warp": 13, "linux": [13, 14], "reflect": 13, "194": 13, "schedul": 13, "bitmask": [13, 14], "meet": 13, "pc": 13, "usb": 13, "sd": [13, 14], "card": [13, 14], "capac": 13, "summari": 14, "cohn_state_init": 14, "cohn_state_error": 14, "cohn_state_exit": 14, "cohn_state_idl": 14, "cohn_state_networkconnect": 14, "cohn_state_networkdisconnect": 14, "cohn_state_connectingtonetwork": 14, "cohn_state_invalid": 14, "cohn_unprovis": 14, "cohn_provis": 14, "camera_idl": 14, "camera_control": 14, "camera_external_control": 14, "flat_mode_unknown": 14, "flat_mode_playback": 14, "flat_mode_setup": 14, "flat_mode_video": 14, "flat_mode_time_lapse_video": 14, "flat_mode_loop": 14, "flat_mode_photo_singl": 14, "flat_mode_photo": 14, "flat_mode_photo_night": 14, "flat_mode_photo_burst": 14, "flat_mode_time_lapse_photo": 14, "flat_mode_night_lapse_photo": 14, "flat_mode_broadcast_record": 14, "flat_mode_broadcast_broadcast": 14, "flat_mode_time_warp_video": 14, "flat_mode_live_burst": 14, "flat_mode_night_lapse_video": 14, "flat_mode_slomo": 14, "flat_mode_idl": 14, "flat_mode_video_star_trail": 14, "flat_mode_video_light_paint": 14, "flat_mode_video_light_trail": 14, "flat_mode_video_burst_slomo": 14, "lens_wid": 14, "lens_superview": 14, "lens_linear": 14, "live_stream_error_non": 14, "live_stream_error_network": 14, "live_stream_error_createstream": 14, "startup": 14, "bad": 14, "server": 14, "live_stream_error_outofmemori": 14, "enough": 14, "memori": 14, "task": 14, "live_stream_error_inputstream": 14, "live_stream_error_internet": 14, "streamer": 14, "live_stream_error_osnetwork": 14, "occur": 14, "stack": 14, "close": 14, "live_stream_error_selectednetworktimeout": 14, "out": 14, "attemp": 14, "live_stream_error_ssl_handshak": 14, "handshak": 14, "commonli": 14, "due": 14, "incorrect": 14, "zone": 14, "live_stream_error_camera_block": 14, "live_stream_error_unknown": 14, "live_stream_error_sd_card_ful": 14, "40": 14, "live_stream_error_sd_card_remov": 14, "live_stream_state_idl": 14, "yet": 14, "live_stream_state_config": 14, "being": 14, "live_stream_state_readi": 14, "live_stream_state_stream": 14, "live_stream_state_complete_stay_on": 14, "live_stream_state_failed_stay_on": 14, "live_stream_state_reconnect": 14, "reconnect": 14, "preset_group_id_video": 14, "1000": 14, "preset_group_id_photo": 14, "1001": 14, "preset_group_id_timelaps": 14, "1002": 14, "preset_group_video_icon_id": 14, "preset_group_photo_icon_id": 14, "preset_group_timelapse_icon_id": 14, "preset_group_long_bat_video_icon_id": 14, "preset_group_endurance_video_icon_id": 14, "preset_group_max_video_icon_id": 14, "preset_group_max_photo_icon_id": 14, "preset_group_max_timelapse_icon_id": 14, "preset_icon_video": 14, "preset_icon_act": 14, "preset_icon_cinemat": 14, "preset_icon_photo": 14, "preset_icon_live_burst": 14, "preset_icon_burst": 14, "preset_icon_photo_night": 14, "preset_icon_timewarp": 14, "preset_icon_timelaps": 14, "preset_icon_nightlaps": 14, "preset_icon_snail": 14, "preset_icon_video_2": 14, "preset_icon_photo_2": 14, "preset_icon_panorama": 14, "preset_icon_burst_2": 14, "preset_icon_timewarp_2": 14, "preset_icon_timelapse_2": 14, "preset_icon_custom": 14, "preset_icon_air": 14, "preset_icon_bik": 14, "preset_icon_ep": 14, "preset_icon_indoor": 14, "preset_icon_motor": 14, "preset_icon_mount": 14, "preset_icon_outdoor": 14, "preset_icon_pov": 14, "preset_icon_selfi": 14, "preset_icon_sk": 14, "preset_icon_snow": 14, "preset_icon_trail": 14, "preset_icon_travel": 14, "preset_icon_wat": 14, "preset_icon_loop": 14, "preset_icon_star": 14, "preset_icon_follow_cam": 14, "36": 14, "preset_icon_surf": 14, "37": 14, "preset_icon_c": 14, "preset_icon_shaki": 14, "preset_icon_chesti": 14, "preset_icon_helmet": 14, "preset_icon_bit": 14, "preset_icon_bas": 14, "preset_icon_ultra_slo_mo": 14, "preset_icon_standard_endur": 14, "preset_icon_activity_endur": 14, "61": 14, "preset_icon_cinematic_endur": 14, "preset_icon_slomo_endur": 14, "preset_icon_stationary_1": 14, "64": 14, "preset_icon_stationary_2": 14, "preset_icon_stationary_3": 14, "preset_icon_stationary_4": 14, "preset_icon_simple_super_photo": 14, "preset_icon_simple_night_photo": 14, "71": 14, "preset_icon_highest_quality_video": 14, "73": 14, "preset_icon_standard_quality_video": 14, "preset_icon_basic_quality_video": 14, "preset_icon_star_trail": 14, "preset_icon_light_paint": 14, "preset_icon_light_trail": 14, "preset_icon_full_fram": 14, "preset_icon_timelapse_photo": 14, "preset_icon_nightlapse_photo": 14, "preset_title_act": 14, "preset_title_standard": 14, "preset_title_cinemat": 14, "preset_title_photo": 14, "preset_title_live_burst": 14, "preset_title_burst": 14, "preset_title_night": 14, "preset_title_time_warp": 14, "preset_title_time_laps": 14, "preset_title_night_laps": 14, "preset_title_video": 14, "preset_title_slomo": 14, "preset_title_photo_2": 14, "preset_title_panorama": 14, "preset_title_time_warp_2": 14, "preset_title_custom": 14, "preset_title_air": 14, "preset_title_bik": 14, "preset_title_ep": 14, "preset_title_indoor": 14, "preset_title_motor": 14, "preset_title_mount": 14, "preset_title_outdoor": 14, "preset_title_pov": 14, "preset_title_selfi": 14, "preset_title_sk": 14, "preset_title_snow": 14, "preset_title_trail": 14, "preset_title_travel": 14, "preset_title_wat": 14, "preset_title_loop": 14, "preset_title_star": 14, "preset_title_follow_cam": 14, "preset_title_surf": 14, "preset_title_c": 14, "preset_title_shaki": 14, "preset_title_chesti": 14, "preset_title_helmet": 14, "preset_title_bit": 14, "preset_title_bas": 14, "preset_title_ultra_slo_mo": 14, "preset_title_standard_endur": 14, "preset_title_activity_endur": 14, "preset_title_cinematic_endur": 14, "preset_title_slomo_endur": 14, "preset_title_stationary_1": 14, "preset_title_stationary_2": 14, "preset_title_stationary_3": 14, "preset_title_stationary_4": 14, "preset_title_simple_video": 14, "preset_title_simple_time_warp": 14, "preset_title_simple_super_photo": 14, "preset_title_simple_night_photo": 14, "preset_title_simple_video_endur": 14, "72": 14, "preset_title_highest_qu": 14, "preset_title_extended_batteri": 14, "preset_title_longest_batteri": 14, "preset_title_star_trail": 14, "preset_title_light_paint": 14, "preset_title_light_trail": 14, "preset_title_full_fram": 14, "preset_title_standard_quality_video": 14, "preset_title_basic_quality_video": 14, "preset_title_highest_quality_video": 14, "provisioning_unknown": 14, "provisioning_never_start": 14, "provisioning_start": 14, "provisioning_aborted_by_system": 14, "provisioning_cancelled_by_us": 14, "provisioning_success_new_ap": 14, "provisioning_success_old_ap": 14, "provisioning_error_failed_to_associ": 14, "provisioning_error_password_auth": 14, "provisioning_error_eula_block": 14, "provisioning_error_no_internet": 14, "provisioning_error_unsupported_typ": 14, "register_live_stream_status_statu": 14, "register_live_stream_status_error": 14, "register_live_stream_status_mod": 14, "register_live_stream_status_bitr": 14, "register_preset_status_preset": 14, "register_preset_status_preset_group_arrai": 14, "result_unknown": 14, "result_success": 14, "result_ill_form": 14, "result_not_support": 14, "result_argument_out_of_bound": 14, "result_argument_invalid": 14, "result_resource_not_avail": 14, "scan_flag_open": 14, "scan_flag_authent": 14, "scan_flag_best_ssid": 14, "scan_flag_associ": 14, "scan_flag_unsupported_typ": 14, "scanning_unknown": 14, "scanning_never_start": 14, "scanning_start": 14, "scanning_aborted_by_system": 14, "scanning_cancelled_by_us": 14, "scanning_success": 14, "window_size_480": 14, "window_size_720": 14, "window_size_1080": 14, "common": 14, "typespec": 14, "folder": 14, "provisioning_st": 14, "scanning_st": 14, "scan_id": 14, "total_entri": 14, "total_configured_ssid": 14, "ipaddress": 14, "bool": 14, "macaddress": 14, "mac": 14, "adapt": 14, "live_stream_statu": 14, "live_stream_error": 14, "live_stream_encod": 14, "live_stream_bitr": 14, "bitrat": 14, "kbp": 14, "live_stream_window_size_supported_arrai": 14, "live_stream_encode_support": 14, "live_stream_max_lens_unsupport": 14, "NOT": 14, "live_stream_minimum_stream_bitr": 14, "static": 14, "live_stream_maximum_stream_bitr": 14, "live_stream_lens_support": 14, "live_stream_lens_supported_arrai": 14, "preset_group_arrai": 14, "title_numb": 14, "custom1": 14, "custom2": 14, "custom3": 14, "user_defin": 14, "setting_arrai": 14, "is_modifi": 14, "is_fix": 14, "mutabl": 14, "meta": 14, "preset_arrai": 14, "can_add_preset": 14, "room": 14, "represent": 14, "is_capt": 14, "appear": 14, "static_ip": 14, "gatewai": 14, "subnet": 14, "mask": 14, "dns_primari": 14, "dn": 14, "dns_secondari": 14, "overrid": 14, "rang": 14, "utf": 14, "obei": 14, "charact": 14, "inclus": 14, "special": 14, "english": 14, "french": 14, "italian": 14, "german": 14, "spanish": 14, "portugues": 14, "swedish": 14, "russian": 14, "start_index": 14, "max_entri": 14, "register_cohn_statu": 14, "register_live_stream_statu": 14, "unregister_live_stream_statu": 14, "register_preset_statu": 14, "unregister_preset_statu": 14, "disconnect": 14, "drop": 14, "cohn_act": 14, "camera_control_statu": 14, "declar": 14, "who": 14, "take": 14, "window_s": 14, "pem": 14, "minimum_bitr": 14, "honor": 14, "maximum_bitr": 14, "starting_bitr": 14, "ascii": 14, "timeout_second": 14, "timeout": 14, "batch": 14, "result_resource_not_availbl": 14, "scan_entry_flag": 14, "alreadi": 14, "signal_strength_bar": 14, "dbm": 14, "signal_frequency_mhz": 14, "frequenc": 14, "mhz": 14, "incom": 15, "howev": 15, "5min": 15, "15min": 15, "30min": 15, "maintain": 15, "simultan": 15, "discourag": 15}, "objects": {"": [[14, 0, 0, "enumcohnnetworkstate", "EnumCOHNNetworkState"], [14, 0, 0, "enumcohnstatus", "EnumCOHNStatus"], [14, 0, 0, "enumcameracontrolstatus", "EnumCameraControlStatus"], [14, 0, 0, "enumflatmode", "EnumFlatMode"], [14, 0, 0, "enumlens", "EnumLens"], [14, 0, 0, "enumlivestreamerror", "EnumLiveStreamError"], [14, 0, 0, "enumlivestreamstatus", "EnumLiveStreamStatus"], [14, 0, 0, "enumpresetgroup", "EnumPresetGroup"], [14, 0, 0, "enumpresetgroupicon", "EnumPresetGroupIcon"], [14, 0, 0, "enumpreseticon", "EnumPresetIcon"], [14, 0, 0, "enumpresettitle", "EnumPresetTitle"], [14, 0, 0, "enumprovisioning", "EnumProvisioning"], [14, 0, 0, "enumregisterlivestreamstatus", "EnumRegisterLiveStreamStatus"], [14, 0, 0, "enumregisterpresetstatus", "EnumRegisterPresetStatus"], [14, 0, 0, "enumresultgeneric", "EnumResultGeneric"], [14, 0, 0, "enumscanentryflags", "EnumScanEntryFlags"], [14, 0, 0, "enumscanning", "EnumScanning"], [14, 0, 0, "enumwindowsize", "EnumWindowSize"], [14, 0, 0, "media", "Media"], [14, 0, 0, "notifprovisioningstate", "NotifProvisioningState"], [14, 0, 0, "notifstartscanning", "NotifStartScanning"], [14, 0, 0, "notifycohnstatus", "NotifyCOHNStatus"], [14, 0, 0, "notifylivestreamstatus", "NotifyLiveStreamStatus"], [14, 0, 0, "notifypresetstatus", "NotifyPresetStatus"], [14, 0, 0, "preset", "Preset"], [14, 0, 0, "presetgroup", "PresetGroup"], [14, 0, 0, "presetsetting", "PresetSetting"], [14, 0, 0, "requestcohncert", "RequestCOHNCert"], [14, 0, 0, "requestclearcohncert", "RequestClearCOHNCert"], [14, 0, 0, "requestconnect", "RequestConnect"], [14, 0, 0, "requestconnectnew", "RequestConnectNew"], [14, 0, 0, "requestcreatecohncert", "RequestCreateCOHNCert"], [14, 0, 0, "requestcustompresetupdate", "RequestCustomPresetUpdate"], [14, 0, 0, "requestgetapentries", "RequestGetApEntries"], [14, 0, 0, "requestgetcohnstatus", "RequestGetCOHNStatus"], [14, 0, 0, "requestgetlastcapturedmedia", "RequestGetLastCapturedMedia"], [14, 0, 0, "requestgetlivestreamstatus", "RequestGetLiveStreamStatus"], [14, 0, 0, "requestgetpresetstatus", "RequestGetPresetStatus"], [14, 0, 0, "requestreleasenetwork", "RequestReleaseNetwork"], [14, 0, 0, "requestsetcohnsetting", "RequestSetCOHNSetting"], [14, 0, 0, "requestsetcameracontrolstatus", "RequestSetCameraControlStatus"], [14, 0, 0, "requestsetlivestreammode", "RequestSetLiveStreamMode"], [14, 0, 0, "requestsetturboactive", "RequestSetTurboActive"], [14, 0, 0, "requeststartscan", "RequestStartScan"], [14, 0, 0, "responsecohncert", "ResponseCOHNCert"], [14, 0, 0, "responseconnect", "ResponseConnect"], [14, 0, 0, "responseconnectnew", "ResponseConnectNew"], [14, 0, 0, "responsegeneric", "ResponseGeneric"], [14, 0, 0, "responsegetapentries", "ResponseGetApEntries"], [14, 0, 0, "responselastcapturedmedia", "ResponseLastCapturedMedia"], [14, 0, 0, "responsestartscanning", "ResponseStartScanning"], [14, 0, 0, "scanentry", "ScanEntry"], [1, 1, 0, "clear-cohn-certificate", "clear cohn certificate"], [0, 1, 0, "connect-to-a-new-access-point", "connect to a new access point"], [0, 1, 0, "connect-to-provisioned-access-point", "connect to provisioned access point"], [1, 1, 0, "create-cohn-certificate", "create cohn certificate"], [0, 1, 0, "get-ap-scan-results", "get ap scan results"], [5, 1, 0, "get-available-presets", "get available presets"], [1, 1, 0, "get-cohn-certificate", "get cohn certificate"], [1, 1, 0, "get-cohn-status", "get cohn status"], [6, 1, 0, "get-date-time", "get date time"], [6, 1, 0, "get-hardware-info", "get hardware info"], [6, 1, 0, "get-last-captured-media", "get last captured media"], [4, 1, 0, "get-livestream-status", "get livestream status"], [6, 1, 0, "get-local-date-time", "get local date time"], [6, 1, 0, "get-open-gopro-version", "get open gopro version"], [6, 1, 0, "get-setting-capabilities", "get setting capabilities"], [6, 1, 0, "get-setting-values", "get setting values"], [6, 1, 0, "get-status-values", "get status values"], [3, 1, 0, "hilight-moment", "hilight moment"], [2, 1, 0, "keep-alive", "keep alive"], [5, 1, 0, "load-preset", "load preset"], [5, 1, 0, "load-preset-group", "load preset group"], [6, 1, 0, "register-for-setting-capability-updates", "register for setting capability updates"], [6, 1, 0, "register-for-setting-value-updates", "register for setting value updates"], [6, 1, 0, "register-for-status-value-updates", "register for status value updates"], [0, 1, 0, "scan-for-access-points", "scan for access points"], [2, 1, 0, "set-analytics", "set analytics"], [2, 1, 0, "set-ap-control", "set ap control"], [2, 1, 0, "set-camera-control", "set camera control"], [1, 1, 0, "set-cohn-setting", "set cohn setting"], [2, 1, 0, "set-date-time", "set date time"], [4, 1, 0, "set-livestream-mode", "set livestream mode"], [2, 1, 0, "set-local-date-time", "set local date time"], [7, 1, 0, "set-setting", "set setting"], [2, 1, 0, "set-shutter", "set shutter"], [2, 1, 0, "set-turbo-transfer", "set turbo transfer"], [2, 1, 0, "sleep", "sleep"], [6, 1, 0, "unregister-for-setting-capability-updates", "unregister for setting capability updates"], [6, 1, 0, "unregister-for-setting-value-updates", "unregister for setting value updates"], [6, 1, 0, "unregister-for-status-value-updates", "unregister for status value updates"], [5, 1, 0, "update-custom-preset", "update custom preset"], [7, 2, 0, "setting-108", "Setting 108 (Aspect Ratio)"], [7, 2, 0, "setting-121", "Setting 121 (Lens)"], [7, 2, 0, "setting-122", "Setting 122 (Lens)"], [7, 2, 0, "setting-123", "Setting 123 (Time Lapse Digital Lenses)"], [7, 2, 0, "setting-128", "Setting 128 (Media Format)"], [7, 2, 0, "setting-134", "Setting 134 (Anti-Flicker)"], [7, 2, 0, "setting-135", "Setting 135 (Hypersmooth)"], [7, 2, 0, "setting-150", "Setting 150 (Horizon Leveling)"], [7, 2, 0, "setting-151", "Setting 151 (Horizon Leveling)"], [7, 2, 0, "setting-162", "Setting 162 (Max Lens)"], [7, 2, 0, "setting-167", "Setting 167 (HindSight)"], [7, 2, 0, "setting-171", "Setting 171 (Interval)"], [7, 2, 0, "setting-172", "Setting 172 (Duration)"], [7, 2, 0, "setting-173", "Setting 173 (Video Performance Mode)"], [7, 2, 0, "setting-175", "Setting 175 (Controls)"], [7, 2, 0, "setting-176", "Setting 176 (Easy Mode Speed)"], [7, 2, 0, "setting-177", "Setting 177 (Enable Night Photo)"], [7, 2, 0, "setting-178", "Setting 178 (Wireless Band)"], [7, 2, 0, "setting-179", "Setting 179 (Trail Length)"], [7, 2, 0, "setting-180", "Setting 180 (Video Mode)"], [7, 2, 0, "setting-182", "Setting 182 (Bit Rate)"], [7, 2, 0, "setting-183", "Setting 183 (Bit Depth)"], [7, 2, 0, "setting-184", "Setting 184 (Profiles)"], [7, 2, 0, "setting-186", "Setting 186 (Video Mode)"], [7, 2, 0, "setting-187", "Setting 187 (Lapse Mode)"], [7, 2, 0, "setting-189", "Setting 189 (Max Lens Mod)"], [7, 2, 0, "setting-190", "Setting 190 (Max Lens Mod Enable)"], [7, 2, 0, "setting-191", "Setting 191 (Photo Mode)"], [7, 2, 0, "setting-192", "Setting 192 (Aspect Ratio)"], [7, 2, 0, "setting-193", "Setting 193 (Framing)"], [7, 2, 0, "setting-2", "Setting 2 (Resolution)"], [7, 2, 0, "setting-3", "Setting 3 (Frames Per Second)"], [7, 2, 0, "setting-43", "Setting 43 (Webcam Digital Lenses)"], [7, 2, 0, "setting-59", "Setting 59 (Auto Power Down)"], [7, 2, 0, "setting-83", "Setting 83 (GPS)"], [8, 3, 0, "status-1", "Status 1 (Is the system's internal battery present?)"], [8, 3, 0, "status-10", "Status 10 (Is the system currently encoding?)"], [8, 3, 0, "status-100", "Status 100 (Total number of Live Bursts on sdcard)"], [8, 3, 0, "status-102", "Status 102 (Media Mod state)"], [8, 3, 0, "status-103", "Status 103 (Time Warp Speed)"], [8, 3, 0, "status-104", "Status 104 (Is the system's Linux core active?)"], [8, 3, 0, "status-106", "Status 106 (Is Video Hindsight Capture Active?)"], [8, 3, 0, "status-107", "Status 107 (Scheduled Capture Preset ID)"], [8, 3, 0, "status-108", "Status 108 (Is Scheduled Capture set?)"], [8, 3, 0, "status-11", "Status 11 (Is LCD lock active?)"], [8, 3, 0, "status-110", "Status 110 (Display Mod Status (bitmasked))"], [8, 3, 0, "status-111", "Status 111 (Does sdcard meet specified minimum write speed?)"], [8, 3, 0, "status-112", "Status 112 (Number of sdcard write speed errors since device booted)"], [8, 3, 0, "status-113", "Status 113 (Is Turbo Transfer active?)"], [8, 3, 0, "status-114", "Status 114 (Camera control status ID)"], [8, 3, 0, "status-115", "Status 115 (Is the camera connected to a PC via USB?)"], [8, 3, 0, "status-116", "Status 116 (Camera control over USB state)"], [8, 3, 0, "status-117", "Status 117 (Total SD card capacity in Kilobytes)"], [8, 3, 0, "status-118", "Status 118 (Photo interval capture count)"], [8, 3, 0, "status-13", "Status 13 (When encoding video, this is the duration (seconds) of the video so far; 0 otherwise)"], [8, 3, 0, "status-17", "Status 17 (Are Wireless Connections enabled?)"], [8, 3, 0, "status-19", "Status 19 (The pairing state of the camera)"], [8, 3, 0, "status-2", "Status 2 (Rough approximation of internal battery level in bars (or charging))"], [8, 3, 0, "status-20", "Status 20 (The last type of pairing in which the camera was engaged)"], [8, 3, 0, "status-21", "Status 21 (Time since boot (milliseconds) of last successful pairing complete action)"], [8, 3, 0, "status-22", "Status 22 (State of current scan for WiFi Access Points)"], [8, 3, 0, "status-23", "Status 23 (Time since boot (milliseconds) that the WiFi Access Point scan completed)"], [8, 3, 0, "status-24", "Status 24 (WiFi AP provisioning state)"], [8, 3, 0, "status-26", "Status 26 (Wireless remote control version)"], [8, 3, 0, "status-27", "Status 27 (Is a wireless remote control connected?)"], [8, 3, 0, "status-31", "Status 31 (The number of wireless devices connected to the camera)"], [8, 3, 0, "status-32", "Status 32 (Is Preview Stream enabled?)"], [8, 3, 0, "status-33", "Status 33 (Primary Storage Status)"], [8, 3, 0, "status-34", "Status 34 (How many photos can be taken with current settings before sdcard is full)"], [8, 3, 0, "status-35", "Status 35 (How many minutes of video can be captured with current settings before sdcard is full)"], [8, 3, 0, "status-38", "Status 38 (Total number of photos on sdcard)"], [8, 3, 0, "status-39", "Status 39 (Total number of videos on sdcard)"], [8, 3, 0, "status-41", "Status 41 (The current status of Over The Air (OTA) update)"], [8, 3, 0, "status-42", "Status 42 (Is there a pending request to cancel a firmware update download?)"], [8, 3, 0, "status-45", "Status 45 (Is locate camera feature active?)"], [8, 3, 0, "status-54", "Status 54 (Remaining space on the sdcard in Kilobytes)"], [8, 3, 0, "status-55", "Status 55 (Is preview stream supported in current recording/mode/secondary-stream?)"], [8, 3, 0, "status-56", "Status 56 (WiFi signal strength in bars)"], [8, 3, 0, "status-58", "Status 58 (The number of hilights in currently-encoding video (value is set to 0 when encoding stops))"], [8, 3, 0, "status-59", "Status 59 (Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops))"], [8, 3, 0, "status-6", "Status 6 (Is the system currently overheating?)"], [8, 3, 0, "status-65", "Status 65 (Liveview Exposure Select Mode)"], [8, 3, 0, "status-66", "Status 66 (Liveview Exposure Select: y-coordinate (percent))"], [8, 3, 0, "status-67", "Status 67 (Liveview Exposure Select: y-coordinate (percent))"], [8, 3, 0, "status-68", "Status 68 (Does the camera currently have a GPS lock?)"], [8, 3, 0, "status-69", "Status 69 (Is AP mode enabled?)"], [8, 3, 0, "status-70", "Status 70 (Internal battery level (percent))"], [8, 3, 0, "status-74", "Status 74 (Microphone Accessory status)"], [8, 3, 0, "status-75", "Status 75 (Digital Zoom level (percent))"], [8, 3, 0, "status-76", "Status 76 (Wireless Band)"], [8, 3, 0, "status-77", "Status 77 (Is Digital Zoom feature available?)"], [8, 3, 0, "status-78", "Status 78 (Are current video settings mobile friendly? (related to video compression and frame rate))"], [8, 3, 0, "status-79", "Status 79 (Is the camera currently in First Time Use (FTU) UI flow?)"], [8, 3, 0, "status-8", "Status 8 (Is the camera busy?)"], [8, 3, 0, "status-81", "Status 81 (Is 5GHz wireless band available?)"], [8, 3, 0, "status-82", "Status 82 (Is the system fully booted and ready to accept commands?)"], [8, 3, 0, "status-83", "Status 83 (Is the internal battery charged sufficiently to start Over The Air (OTA) update?)"], [8, 3, 0, "status-85", "Status 85 (Is the camera getting too cold to continue recording?)"], [8, 3, 0, "status-86", "Status 86 (Rotational orientation of the camera)"], [8, 3, 0, "status-88", "Status 88 (Is this camera model capable of zooming while encoding?)"], [8, 3, 0, "status-89", "Status 89 (Current Flatmode ID)"], [8, 3, 0, "status-9", "Status 9 (Is Quick Capture feature enabled?)"], [8, 3, 0, "status-93", "Status 93 (Current Video Preset (ID))"], [8, 3, 0, "status-94", "Status 94 (Current Photo Preset (ID))"], [8, 3, 0, "status-95", "Status 95 (Current Time Lapse Preset (ID))"], [8, 3, 0, "status-97", "Status 97 (Current Preset (ID))"], [8, 3, 0, "status-98", "Status 98 (Preset Modified Status, which contains an event ID and a Preset (Group) ID)"], [8, 3, 0, "status-99", "Status 99 (The number of Live Bursts can be captured with current settings before sdcard is full)"]], "Status 101 (Is Capture Delay currently active (i.e": [[8, 3, 0, "status-101", " counting down)?)"]], "Status 105 (Camera lens type (reflects changes to lens settings such as 162, 189, 194, ..": [[8, 3, 0, "status-105", "))"]], "Status 28 (Wireless Pairing State": [[8, 3, 0, "status-28", " Each bit contains state information (see WirelessPairingStateFlags))"]], "Status 29 (SSID of the AP the camera is currently connected to": [[8, 3, 0, "status-29", " On BLE connection, value is big-endian byte-encoded int32)"]], "Status 30 (The camera's WiFi SSID": [[8, 3, 0, "status-30", " On BLE connection, value is big-endian byte-encoded int32)"]], "Status 49 (The current timelapse interval countdown value (e.g. 5...4...3...2...1..": [[8, 3, 0, "status-49", "))"]], "Status 60 (The minimum time between camera status updates (milliseconds)": [[8, 3, 0, "status-60", " Best practice is to not poll for status more often than this)"]], "Status 96 (Current Preset Group (ID) (corresponds to ui_mode_groups in settings": [[8, 3, 0, "status-96", "json))"]]}, "objtypes": {"0": "operation:Proto", "1": "operation:Operation", "2": "operation:Setting", "3": "operation:Status"}, "objnames": {"0": ["operation", "Proto", "Proto"], "1": ["operation", "Operation", "Operation"], "2": ["operation", "Setting", "Setting"], "3": ["operation", "Status", "Status"]}, "titleterms": {"access": [0, 8], "point": [0, 8], "oper": [0, 1, 2, 3, 4, 5, 6, 7], "disconnect": 0, "from": 0, "camera": [1, 7, 8, 9, 15], "home": 1, "network": 1, "certif": 1, "verifi": 1, "view": 1, "detail": 1, "provis": [1, 8], "procedur": 1, "control": [2, 7, 8, 15], "hilight": [3, 8], "live": [4, 8], "stream": [4, 8], "preset": [5, 8, 14], "group": [5, 8], "modifi": [5, 8], "statu": [5, 8, 13], "queri": [6, 12, 13], "set": [7, 8, 13], "capabl": [7, 8], "xlsx": 7, "json": [7, 8], "id": [7, 8, 13], "resolut": 7, "2": [7, 8], "frame": [7, 8], "per": 7, "second": [7, 8], "3": [7, 8], "fov": 7, "43": 7, "auto": 7, "off": 7, "59": [7, 8], "gp": [7, 8], "83": [7, 8], "aspect": 7, "ratio": 7, "108": [7, 8], "len": [7, 8], "121": 7, "122": 7, "123": 7, "format": 7, "128": 7, "anti": 7, "flicker": 7, "134": 7, "hypersmooth": 7, "135": 7, "horizon": 7, "level": [7, 8], "150": 7, "151": 7, "max": 7, "mod": [7, 8], "enabl": [7, 8], "162": [7, 8], "hindsight": [7, 8], "167": 7, "interv": [7, 8], "171": 7, "durat": [7, 8], "172": 7, "video": [7, 8], "perform": 7, "mode": [7, 8, 11], "173": 7, "175": 7, "speed": [7, 8], "176": 7, "night": 7, "photo": [7, 8], "177": 7, "wi": 7, "fi": 7, "band": [7, 8], "178": 7, "trail": 7, "length": [7, 12], "179": 7, "180": 7, "bit": [7, 8, 12], "rate": [7, 8], "182": 7, "depth": 7, "183": 7, "profil": 7, "184": 7, "186": 7, "laps": [7, 8], "187": 7, "189": [7, 8], "190": 7, "191": 7, "192": 7, "193": 7, "status": 8, "i": 8, "system": 8, "": [8, 9], "intern": 8, "batteri": 8, "present": 8, "1": 8, "rough": 8, "approxim": 8, "bar": 8, "charg": 8, "current": 8, "overh": 8, "6": 8, "busi": 8, "8": 8, "quick": 8, "captur": 8, "featur": 8, "9": 8, "encod": 8, "10": 8, "lcd": 8, "lock": 8, "activ": 8, "11": 8, "when": 8, "thi": 8, "so": 8, "far": 8, "0": 8, "otherwis": 8, "13": [8, 12], "ar": 8, "wireless": 8, "connect": 8, "17": 8, "The": 8, "pair": [8, 11], "state": [8, 15], "19": 8, "last": 8, "type": [8, 12], "which": 8, "wa": 8, "engag": 8, "20": 8, "time": 8, "sinc": 8, "boot": 8, "millisecond": 8, "success": 8, "complet": 8, "action": 8, "21": 8, "scan": 8, "wifi": 8, "22": 8, "23": 8, "ap": 8, "24": 8, "remot": 8, "version": 8, "26": 8, "27": 8, "each": 8, "contain": 8, "inform": 8, "see": 8, "wirelesspairingstateflag": 8, "28": 8, "ssid": 8, "On": 8, "ble": [8, 9, 11], "valu": [8, 12], "big": 8, "endian": 8, "byte": 8, "int32": 8, "29": 8, "30": 8, "number": 8, "devic": 8, "31": 8, "preview": 8, "32": 8, "primari": 8, "storag": 8, "33": 8, "how": 8, "mani": 8, "can": 8, "taken": 8, "befor": 8, "sdcard": 8, "full": 8, "34": 8, "minut": 8, "35": 8, "total": 8, "38": 8, "39": 8, "over": 8, "air": 8, "ota": 8, "updat": 8, "41": 8, "pend": 8, "request": 8, "cancel": 8, "firmwar": 8, "download": 8, "42": 8, "locat": 8, "45": 8, "timelaps": 8, "countdown": 8, "e": 8, "g": 8, "5": [8, 12], "4": 8, "49": 8, "remain": 8, "space": 8, "kilobyt": 8, "54": 8, "support": [8, 9], "record": 8, "secondari": 8, "55": 8, "signal": 8, "strength": 8, "56": 8, "stop": 8, "58": 8, "most": 8, "recent": 8, "minimum": 8, "between": 8, "best": 8, "practic": 8, "poll": 8, "more": 8, "often": 8, "than": 8, "60": 8, "liveview": 8, "exposur": 8, "select": 8, "65": 8, "y": 8, "coordin": 8, "percent": 8, "66": 8, "67": 8, "doe": 8, "have": 8, "68": 8, "69": 8, "70": 8, "microphon": 8, "accessori": 8, "74": 8, "digit": 8, "zoom": 8, "75": 8, "76": 8, "avail": 8, "77": 8, "mobil": 8, "friendli": 8, "relat": 8, "compress": 8, "78": 8, "first": 8, "us": 8, "ftu": 8, "ui": 8, "flow": 8, "79": 8, "5ghz": 8, "81": 8, "fulli": 8, "readi": [8, 15], "accept": 8, "command": [8, 12, 13], "82": 8, "suffici": 8, "start": [8, 9], "get": [8, 9], "too": 8, "cold": 8, "continu": [8, 12], "85": 8, "rotat": 8, "orient": 8, "86": 8, "model": 8, "while": 8, "88": 8, "flatmod": 8, "89": 8, "93": 8, "94": 8, "95": 8, "correspond": 8, "ui_mode_group": 8, "96": 8, "97": 8, "an": 8, "event": 8, "98": 8, "burst": 8, "99": 8, "100": 8, "delai": 8, "count": 8, "down": 8, "101": 8, "media": [8, 14], "102": 8, "warp": 8, "103": 8, "linux": 8, "core": 8, "104": 8, "reflect": 8, "chang": 8, "194": 8, "105": 8, "106": 8, "schedul": 8, "107": 8, "displai": 8, "bitmask": 8, "110": 8, "meet": 8, "specifi": 8, "write": 8, "111": 8, "error": 8, "112": 8, "turbo": 8, "transfer": 8, "113": 8, "114": 8, "pc": 8, "via": 8, "usb": 8, "115": 8, "116": 8, "sd": 8, "card": 8, "capac": 8, "117": 8, "118": 8, "welcom": 9, "open": 9, "gopro": 9, "api": 9, "document": [9, 14], "limit": 9, "gener": [9, 12], "protocol": [10, 12], "setup": 11, "advertis": 11, "finish": 11, "configur": 11, "gatt": 11, "characterist": 11, "send": 11, "messag": [11, 12], "data": 12, "packet": 12, "header": 12, "extend": 12, "16": 12, "deciph": 12, "payload": 12, "protobuf": [12, 13, 14], "tabl": 13, "enum": 14, "enumcohnnetworkst": 14, "enumcohnstatu": 14, "enumcameracontrolstatu": 14, "enumflatmod": 14, "enumlen": 14, "enumlivestreamerror": 14, "enumlivestreamstatu": 14, "enumpresetgroup": 14, "enumpresetgroupicon": 14, "enumpreseticon": 14, "enumpresettitl": 14, "enumprovis": 14, "enumregisterlivestreamstatu": 14, "enumregisterpresetstatu": 14, "enumresultgener": 14, "enumscanentryflag": 14, "enumscan": 14, "enumwindows": 14, "notifprovisioningst": 14, "notifstartscan": 14, "notifycohnstatu": 14, "notifylivestreamstatu": 14, "notifypresetstatu": 14, "presetgroup": 14, "presetset": 14, "requestcohncert": 14, "requestclearcohncert": 14, "requestconnect": 14, "requestconnectnew": 14, "requestcreatecohncert": 14, "requestcustompresetupd": 14, "requestgetapentri": 14, "requestgetcohnstatu": 14, "requestgetlastcapturedmedia": 14, "requestgetlivestreamstatu": 14, "requestgetpresetstatu": 14, "requestreleasenetwork": 14, "requestsetcohnset": 14, "requestsetcameracontrolstatu": 14, "requestsetlivestreammod": 14, "requestsetturboact": 14, "requeststartscan": 14, "responsecohncert": 14, "responseconnect": 14, "responseconnectnew": 14, "responsegener": 14, "responsegetapentri": 14, "responselastcapturedmedia": 14, "responsestartscan": 14, "scanentri": 14, "manag": 15, "keep": 15, "aliv": 15}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Access Point": [[0, "access-point"]], "Operations": [[0, "operations"], [1, "operations"], [2, "operations"], [3, "operations"], [4, "operations"], [5, "operations"], [6, "operations"], [7, "operations"]], "Disconnect from Access Point": [[0, "disconnect-from-access-point"]], "Camera on the Home Network": [[1, "camera-on-the-home-network"]], "Certificates": [[1, "certificates"]], "Verifying Certificate": [[1, "verifying-certificate"]], "View Certificate Details": [[1, "view-certificate-details"]], "Provisioning Procedure": [[1, "provisioning-procedure"]], "Control": [[2, "control"]], "Hilights": [[3, "hilights"]], "Live Streaming": [[4, "live-streaming"]], "Presets": [[5, "presets"]], "Preset Groups": [[5, "preset-groups"]], "Preset Modified Status": [[5, "preset-modified-status"]], "Query": [[6, "query"]], "Settings": [[7, "settings"]], "Camera Capabilities": [[7, "camera-capabilities"]], "XLSX": [[7, "xlsx"]], "JSON": [[7, "json"]], "Setting IDs": [[7, "setting-ids"], [13, "setting-ids"]], "Resolution (2)": [[7, "resolution-2"]], "Frames Per Second (3)": [[7, "frames-per-second-3"]], "FOV (43)": [[7, "fov-43"]], "Auto Off (59)": [[7, "auto-off-59"]], "GPS (83)": [[7, "gps-83"]], "Aspect Ratio (108)": [[7, "aspect-ratio-108"]], "Lens (121)": [[7, "lens-121"]], "Lens (122)": [[7, "lens-122"]], "Lens (123)": [[7, "lens-123"]], "Format (128)": [[7, "format-128"]], "Anti-Flicker (134)": [[7, "anti-flicker-134"]], "Hypersmooth (135)": [[7, "hypersmooth-135"]], "Horizon Leveling (150)": [[7, "horizon-leveling-150"]], "Horizon Leveling (151)": [[7, "horizon-leveling-151"]], "Max Lens Mod Enable (162)": [[7, "max-lens-mod-enable-162"]], "HindSight (167)": [[7, "hindsight-167"]], "Interval (171)": [[7, "interval-171"]], "Duration (172)": [[7, "duration-172"]], "Video Performance Modes (173)": [[7, "video-performance-modes-173"]], "Controls (175)": [[7, "controls-175"]], "Speed (176)": [[7, "speed-176"]], "Night Photo (177)": [[7, "night-photo-177"]], "Wi-fi Band (178)": [[7, "wi-fi-band-178"]], "Trail Length (179)": [[7, "trail-length-179"]], "Video Mode (180)": [[7, "video-mode-180"]], "Bit Rate (182)": [[7, "bit-rate-182"]], "Bit Depth (183)": [[7, "bit-depth-183"]], "Profiles (184)": [[7, "profiles-184"]], "Video Mode (186)": [[7, "video-mode-186"]], "Lapse Mode (187)": [[7, "lapse-mode-187"]], "Max Lens Mod (189)": [[7, "max-lens-mod-189"]], "Max Lens Mod Enable (190)": [[7, "max-lens-mod-enable-190"]], "Photo Mode (191)": [[7, "photo-mode-191"]], "Aspect Ratio (192)": [[7, "aspect-ratio-192"]], "Framing (193)": [[7, "framing-193"]], "Statuses": [[8, "statuses"]], "Status IDs": [[8, "status-ids"], [13, "status-ids"]], "Is the system\u2019s internal battery present? (1)": [[8, "is-the-system-s-internal-battery-present-1"]], "Rough approximation of internal battery level in bars (or charging) (2)": [[8, "rough-approximation-of-internal-battery-level-in-bars-or-charging-2"]], "Is the system currently overheating? (6)": [[8, "is-the-system-currently-overheating-6"]], "Is the camera busy? (8)": [[8, "is-the-camera-busy-8"]], "Is Quick Capture feature enabled? (9)": [[8, "is-quick-capture-feature-enabled-9"]], "Is the system currently encoding? (10)": [[8, "is-the-system-currently-encoding-10"]], "Is LCD lock active? (11)": [[8, "is-lcd-lock-active-11"]], "When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13)": [[8, "when-encoding-video-this-is-the-duration-seconds-of-the-video-so-far-0-otherwise-13"]], "Are Wireless Connections enabled? (17)": [[8, "are-wireless-connections-enabled-17"]], "The pairing state of the camera (19)": [[8, "the-pairing-state-of-the-camera-19"]], "The last type of pairing in which the camera was engaged (20)": [[8, "the-last-type-of-pairing-in-which-the-camera-was-engaged-20"]], "Time since boot (milliseconds) of last successful pairing complete action (21)": [[8, "time-since-boot-milliseconds-of-last-successful-pairing-complete-action-21"]], "State of current scan for WiFi Access Points (22)": [[8, "state-of-current-scan-for-wifi-access-points-22"]], "Time since boot (milliseconds) that the WiFi Access Point scan completed (23)": [[8, "time-since-boot-milliseconds-that-the-wifi-access-point-scan-completed-23"]], "WiFi AP provisioning state (24)": [[8, "wifi-ap-provisioning-state-24"]], "Wireless remote control version (26)": [[8, "wireless-remote-control-version-26"]], "Is a wireless remote control connected? (27)": [[8, "is-a-wireless-remote-control-connected-27"]], "Wireless Pairing State. Each bit contains state information (see WirelessPairingStateFlags) (28)": [[8, "wireless-pairing-state-each-bit-contains-state-information-see-wirelesspairingstateflags-28"]], "SSID of the AP the camera is currently connected to. On BLE connection, value is big-endian byte-encoded int32 (29)": [[8, "ssid-of-the-ap-the-camera-is-currently-connected-to-on-ble-connection-value-is-big-endian-byte-encoded-int32-29"]], "The camera\u2019s WiFi SSID. On BLE connection, value is big-endian byte-encoded int32 (30)": [[8, "the-camera-s-wifi-ssid-on-ble-connection-value-is-big-endian-byte-encoded-int32-30"]], "The number of wireless devices connected to the camera (31)": [[8, "the-number-of-wireless-devices-connected-to-the-camera-31"]], "Is Preview Stream enabled? (32)": [[8, "is-preview-stream-enabled-32"]], "Primary Storage Status (33)": [[8, "primary-storage-status-33"]], "How many photos can be taken with current settings before sdcard is full (34)": [[8, "how-many-photos-can-be-taken-with-current-settings-before-sdcard-is-full-34"]], "How many minutes of video can be captured with current settings before sdcard is full (35)": [[8, "how-many-minutes-of-video-can-be-captured-with-current-settings-before-sdcard-is-full-35"]], "Total number of photos on sdcard (38)": [[8, "total-number-of-photos-on-sdcard-38"]], "Total number of videos on sdcard (39)": [[8, "total-number-of-videos-on-sdcard-39"]], "The current status of Over The Air (OTA) update (41)": [[8, "the-current-status-of-over-the-air-ota-update-41"]], "Is there a pending request to cancel a firmware update download? (42)": [[8, "is-there-a-pending-request-to-cancel-a-firmware-update-download-42"]], "Is locate camera feature active? (45)": [[8, "is-locate-camera-feature-active-45"]], "The current timelapse interval countdown value (e.g. 5\u20264\u20263\u20262\u20261\u2026) (49)": [[8, "the-current-timelapse-interval-countdown-value-e-g-5-4-3-2-1-49"]], "Remaining space on the sdcard in Kilobytes (54)": [[8, "remaining-space-on-the-sdcard-in-kilobytes-54"]], "Is preview stream supported in current recording/mode/secondary-stream? (55)": [[8, "is-preview-stream-supported-in-current-recording-mode-secondary-stream-55"]], "WiFi signal strength in bars (56)": [[8, "wifi-signal-strength-in-bars-56"]], "The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58)": [[8, "the-number-of-hilights-in-currently-encoding-video-value-is-set-to-0-when-encoding-stops-58"]], "Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59)": [[8, "time-since-boot-milliseconds-of-most-recent-hilight-in-encoding-video-set-to-0-when-encoding-stops-59"]], "The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this (60)": [[8, "the-minimum-time-between-camera-status-updates-milliseconds-best-practice-is-to-not-poll-for-status-more-often-than-this-60"]], "Liveview Exposure Select Mode (65)": [[8, "liveview-exposure-select-mode-65"]], "Liveview Exposure Select: y-coordinate (percent) (66)": [[8, "liveview-exposure-select-y-coordinate-percent-66"]], "Liveview Exposure Select: y-coordinate (percent) (67)": [[8, "liveview-exposure-select-y-coordinate-percent-67"]], "Does the camera currently have a GPS lock? (68)": [[8, "does-the-camera-currently-have-a-gps-lock-68"]], "Is AP mode enabled? (69)": [[8, "is-ap-mode-enabled-69"]], "Internal battery level (percent) (70)": [[8, "internal-battery-level-percent-70"]], "Microphone Accessory status (74)": [[8, "microphone-accessory-status-74"]], "Digital Zoom level (percent) (75)": [[8, "digital-zoom-level-percent-75"]], "Wireless Band (76)": [[8, "wireless-band-76"]], "Is Digital Zoom feature available? (77)": [[8, "is-digital-zoom-feature-available-77"]], "Are current video settings mobile friendly? (related to video compression and frame rate) (78)": [[8, "are-current-video-settings-mobile-friendly-related-to-video-compression-and-frame-rate-78"]], "Is the camera currently in First Time Use (FTU) UI flow? (79)": [[8, "is-the-camera-currently-in-first-time-use-ftu-ui-flow-79"]], "Is 5GHz wireless band available? (81)": [[8, "is-5ghz-wireless-band-available-81"]], "Is the system fully booted and ready to accept commands? (82)": [[8, "is-the-system-fully-booted-and-ready-to-accept-commands-82"]], "Is the internal battery charged sufficiently to start Over The Air (OTA) update? (83)": [[8, "is-the-internal-battery-charged-sufficiently-to-start-over-the-air-ota-update-83"]], "Is the camera getting too cold to continue recording? (85)": [[8, "is-the-camera-getting-too-cold-to-continue-recording-85"]], "Rotational orientation of the camera (86)": [[8, "rotational-orientation-of-the-camera-86"]], "Is this camera model capable of zooming while encoding? (88)": [[8, "is-this-camera-model-capable-of-zooming-while-encoding-88"]], "Current Flatmode ID (89)": [[8, "current-flatmode-id-89"]], "Current Video Preset (ID) (93)": [[8, "current-video-preset-id-93"]], "Current Photo Preset (ID) (94)": [[8, "current-photo-preset-id-94"]], "Current Time Lapse Preset (ID) (95)": [[8, "current-time-lapse-preset-id-95"]], "Current Preset Group (ID) (corresponds to ui_mode_groups in settings.json) (96)": [[8, "current-preset-group-id-corresponds-to-ui-mode-groups-in-settings-json-96"]], "Current Preset (ID) (97)": [[8, "current-preset-id-97"]], "Preset Modified Status, which contains an event ID and a Preset (Group) ID (98)": [[8, "preset-modified-status-which-contains-an-event-id-and-a-preset-group-id-98"]], "The number of Live Bursts can be captured with current settings before sdcard is full (99)": [[8, "the-number-of-live-bursts-can-be-captured-with-current-settings-before-sdcard-is-full-99"]], "Total number of Live Bursts on sdcard (100)": [[8, "total-number-of-live-bursts-on-sdcard-100"]], "Is Capture Delay currently active (i.e. counting down)? (101)": [[8, "is-capture-delay-currently-active-i-e-counting-down-101"]], "Media Mod state (102)": [[8, "media-mod-state-102"]], "Time Warp Speed (103)": [[8, "time-warp-speed-103"]], "Is the system\u2019s Linux core active? (104)": [[8, "is-the-system-s-linux-core-active-104"]], "Camera lens type (reflects changes to lens settings such as 162, 189, 194, \u2026) (105)": [[8, "camera-lens-type-reflects-changes-to-lens-settings-such-as-162-189-194-105"]], "Is Video Hindsight Capture Active? (106)": [[8, "is-video-hindsight-capture-active-106"]], "Scheduled Capture Preset ID (107)": [[8, "scheduled-capture-preset-id-107"]], "Is Scheduled Capture set? (108)": [[8, "is-scheduled-capture-set-108"]], "Display Mod Status (bitmasked) (110)": [[8, "display-mod-status-bitmasked-110"]], "Does sdcard meet specified minimum write speed? (111)": [[8, "does-sdcard-meet-specified-minimum-write-speed-111"]], "Number of sdcard write speed errors since device booted (112)": [[8, "number-of-sdcard-write-speed-errors-since-device-booted-112"]], "Is Turbo Transfer active? (113)": [[8, "is-turbo-transfer-active-113"]], "Camera control status ID (114)": [[8, "camera-control-status-id-114"]], "Is the camera connected to a PC via USB? (115)": [[8, "is-the-camera-connected-to-a-pc-via-usb-115"]], "Camera control over USB state (116)": [[8, "camera-control-over-usb-state-116"]], "Total SD card capacity in Kilobytes (117)": [[8, "total-sd-card-capacity-in-kilobytes-117"]], "Photo interval capture count (118)": [[8, "photo-interval-capture-count-118"]], "Welcome to Open GoPro BLE API\u2019s documentation!": [[9, "welcome-to-open-gopro-ble-api-s-documentation"]], "Supported Cameras": [[9, "supported-cameras"]], "Getting Started": [[9, "getting-started"]], "Limitations": [[9, "limitations"]], "General": [[9, "general"]], "Protocol": [[10, "protocol"]], "BLE Setup": [[11, "ble-setup"]], "Pairing Mode": [[11, "pairing-mode"]], "Advertisements": [[11, "advertisements"]], "Finish Pairing": [[11, "finish-pairing"]], "Configure GATT Characteristics": [[11, "configure-gatt-characteristics"]], "BLE Characteristics": [[11, "ble-characteristics"]], "Send Messages": [[11, "send-messages"]], "Data Protocol": [[12, "data-protocol"]], "Packetization": [[12, "packetization"]], "Packet Headers": [[12, "packet-headers"]], "General (5-bit) Packets": [[12, "general-5-bit-packets"]], "Extended (13-bit) Packets": [[12, "extended-13-bit-packets"]], "Extended (16-bit) Packets": [[12, "extended-16-bit-packets"]], "Continuation Packets": [[12, "continuation-packets"]], "Decipher Message Payload Type": [[12, "decipher-message-payload-type"]], "Message Payload": [[12, "message-payload"]], "Type Length Value": [[12, "type-length-value"]], "Commands": [[12, "commands"]], "Queries": [[12, "queries"]], "Protobuf": [[12, "protobuf"]], "ID Tables": [[13, "id-tables"]], "Command IDs": [[13, "command-ids"]], "Query IDs": [[13, "query-ids"]], "Protobuf IDs": [[13, "protobuf-ids"]], "Protobuf Documentation": [[14, "protobuf-documentation"]], "Enums": [[14, "enums"]], "EnumCOHNNetworkState": [[14, "enumcohnnetworkstate"]], "EnumCOHNStatus": [[14, "enumcohnstatus"]], "EnumCameraControlStatus": [[14, "enumcameracontrolstatus"]], "EnumFlatMode": [[14, "enumflatmode"]], "EnumLens": [[14, "enumlens"]], "EnumLiveStreamError": [[14, "enumlivestreamerror"]], "EnumLiveStreamStatus": [[14, "enumlivestreamstatus"]], "EnumPresetGroup": [[14, "enumpresetgroup"]], "EnumPresetGroupIcon": [[14, "enumpresetgroupicon"]], "EnumPresetIcon": [[14, "enumpreseticon"]], "EnumPresetTitle": [[14, "enumpresettitle"]], "EnumProvisioning": [[14, "enumprovisioning"]], "EnumRegisterLiveStreamStatus": [[14, "enumregisterlivestreamstatus"]], "EnumRegisterPresetStatus": [[14, "enumregisterpresetstatus"]], "EnumResultGeneric": [[14, "enumresultgeneric"]], "EnumScanEntryFlags": [[14, "enumscanentryflags"]], "EnumScanning": [[14, "enumscanning"]], "EnumWindowSize": [[14, "enumwindowsize"]], "Media": [[14, "media"]], "NotifProvisioningState": [[14, "notifprovisioningstate"]], "NotifStartScanning": [[14, "notifstartscanning"]], "NotifyCOHNStatus": [[14, "notifycohnstatus"]], "NotifyLiveStreamStatus": [[14, "notifylivestreamstatus"]], "NotifyPresetStatus": [[14, "notifypresetstatus"]], "Preset": [[14, "preset"]], "PresetGroup": [[14, "presetgroup"]], "PresetSetting": [[14, "presetsetting"]], "RequestCOHNCert": [[14, "requestcohncert"]], "RequestClearCOHNCert": [[14, "requestclearcohncert"]], "RequestConnect": [[14, "requestconnect"]], "RequestConnectNew": [[14, "requestconnectnew"]], "RequestCreateCOHNCert": [[14, "requestcreatecohncert"]], "RequestCustomPresetUpdate": [[14, "requestcustompresetupdate"]], "RequestGetApEntries": [[14, "requestgetapentries"]], "RequestGetCOHNStatus": [[14, "requestgetcohnstatus"]], "RequestGetLastCapturedMedia": [[14, "requestgetlastcapturedmedia"]], "RequestGetLiveStreamStatus": [[14, "requestgetlivestreamstatus"]], "RequestGetPresetStatus": [[14, "requestgetpresetstatus"]], "RequestReleaseNetwork": [[14, "requestreleasenetwork"]], "RequestSetCOHNSetting": [[14, "requestsetcohnsetting"]], "RequestSetCameraControlStatus": [[14, "requestsetcameracontrolstatus"]], "RequestSetLiveStreamMode": [[14, "requestsetlivestreammode"]], "RequestSetTurboActive": [[14, "requestsetturboactive"]], "RequestStartScan": [[14, "requeststartscan"]], "ResponseCOHNCert": [[14, "responsecohncert"]], "ResponseConnect": [[14, "responseconnect"]], "ResponseConnectNew": [[14, "responseconnectnew"]], "ResponseGeneric": [[14, "responsegeneric"]], "ResponseGetApEntries": [[14, "responsegetapentries"]], "ResponseLastCapturedMedia": [[14, "responselastcapturedmedia"]], "ResponseStartScanning": [[14, "responsestartscanning"]], "ResponseGetApEntries::ScanEntry": [[14, "responsegetapentries-scanentry"]], "State Management": [[15, "state-management"]], "Camera Readiness": [[15, "camera-readiness"]], "Keep Alive": [[15, "keep-alive"]], "Camera Control": [[15, "camera-control"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/docs/http.html b/docs/http.html index 33e18278..5472f95c 100644 --- a/docs/http.html +++ b/docs/http.html @@ -408,7 +408,7 @@ -
    Limitations

    -rwxrwxrwx@ 1 gopro 123456789 184517614 Jan 1 00:00 GL030078.LRV -rwxrwxrwx@ 1 gopro 123456789 34877660 Jan 1 00:00 GL040078.LRV -

    Download a Media File

    Delete All Files

    HERO12 Black +HERO11 Black Mini + HERO11 Black +HERO10 Black + HERO9 Black

    +

    Supported Protocols:

    +
      +
    • USB
    • +
    • WIFI
    • +
    +
    +

    Responses

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Delete Grouped Media Item

    HERO12 Black +HERO11 Black Mini + HERO11 Black +HERO10 Black + HERO9 Black

    +

    Supported Protocols:

    +
      +
    • USB
    • +
    • WIFI
    • +
    +
    +

    Delete an entire group of media files such as in a burst, timelapse, or chaptered video. This API should +not be used to delete single files. Instead use Delete Single File

    +
    query Parameters
    p
    string
    Example: p=105GOPRO/G0016880.JPG

    The path to the group on the camera to delete. This path must be the first file in the group.

    +

    Responses

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Delete Single Media File

    HERO12 Black +HERO11 Black Mini + HERO11 Black +HERO10 Black + HERO9 Black

    +

    Supported Protocols:

    +
      +
    • USB
    • +
    • WIFI
    • +
    +
    +

    When operating on a file that is part of a group, only the individual file will be deleted. To delete +the entire group, use Delete Grouped Media Item

    +
    query Parameters
    p
    string
    Example: p=105GOPRO/GOPR6879.JPG

    path to media file to delete

    +

    Responses

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Download a Media File

    Limitations

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    There is no last captured media for the camera to report

    Response samples

    Content type
    application/json
    {
    • "file": "GOPR0002.JPG",
    • "folder": "100GOPRO"
    }

    Get Media File GPMF

    http://10.5.5.9:8080/gopro/media/last_captured

    Response samples

    Content type
    application/json
    {
    • "file": "GOPR0002.JPG",
    • "folder": "100GOPRO"
    }

    Get Media File GPMF

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Width of media in pixels

    Response samples

    Content type
    application/json
    Example
    {
    • "ao": "auto",
    • "avc_profile": 0,
    • "cl": 0,
    • "cre": 1692992748,
    • "ct": 0,
    • "dur": 42,
    • "eis": 0,
    • "fov": "string",
    • "fps": 1001,
    • "fps_denom": 30000,
    • "gumi": "12345678998765443211234567899875",
    • "h": 1080,
    • "hc": 99,
    • "hi": [
      ],
    • "lc": 0,
    • "ls": -1,
    • "mos": [
      ],
    • "mp": 0,
    • "prjn": 0,
    • "profile": 255,
    • "progr": 0,
    • "pta": 0,
    • "rot": "string",
    • "s": 1234567890,
    • "subsample": 0,
    • "tr": 0,
    • "us": 0,
    • "w": 1920
    }

    Get Media File Screennail

    http://10.5.5.9:8080/gopro/media/info

    Response samples

    Content type
    application/json
    Example
    {
    • "ao": "auto",
    • "avc_profile": 0,
    • "cl": 0,
    • "cre": 1692992748,
    • "ct": 0,
    • "dur": 42,
    • "eis": 0,
    • "fov": "string",
    • "fps": 1001,
    • "fps_denom": 30000,
    • "gumi": "12345678998765443211234567899875",
    • "h": 1080,
    • "hc": 99,
    • "hi": [
      ],
    • "lc": 0,
    • "ls": -1,
    • "mos": [
      ],
    • "mp": 0,
    • "prjn": 0,
    • "profile": 255,
    • "progr": 0,
    • "pta": 0,
    • "rot": "string",
    • "s": 1234567890,
    • "subsample": 0,
    • "tr": 0,
    • "us": 0,
    • "w": 1920
    }

    Get Media File Screennail

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Size of media in bytes

    Response samples

    Content type
    application/json
    {
    • "id": "1554375628411872255",
    • "media": [
      ]
    }

    Models

    http://10.5.5.9:8080/gopro/media/list

    Response samples

    Content type
    application/json
    {
    • "id": "1554375628411872255",
    • "media": [
      ]
    }

    Models

    Common data models used across operations

    GroupedMediaListItem

    b
    required
    integer
    Example: "1"

    ID of first member in the group

    @@ -8855,13 +8949,13 @@

    Limitations

    HERO11 Black HERO10 Black HERO9 Black

    -
    10
    integer
    Enum: 0 1
    10
    integer
    Enum: 0 1

    Is the system encoding right now?

    +" class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Is the system currently encoding?

    HERO12 Black HERO11 Black Mini HERO11 Black @@ -9623,18 +9717,6 @@

    Limitations

    HERO11 Black HERO10 Black HERO9 Black

    -
    64
    integer

    How many minutes of Time Lapse Video can be captured with current settings before sdcard is full

    -

    HERO12 Black -HERO11 Black Mini - HERO11 Black -HERO10 Black - HERO9 Black

    65
    integer
    Enum: 0 1 2 3
    Limitations HERO11 Black HERO10 Black HERO9 Black

    -
    69
    integer
    Enum: 0 1
    69
    integer
    Enum: 0 1

    Is the camera in AP Mode?

    +" class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Is AP mode enabled?

    HERO12 Black HERO11 Black Mini HERO11 Black @@ -10307,12 +10389,12 @@

    Limitations

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Is the system's Linux core active?

    HERO10 Black HERO9 Black

    -
    105
    integer
    Enum: 0 1 2
    105
    integer
    Enum: 0 1 2
    Limitations <td>Max Lens 2.0</td> </tr> </tbody></table> -" class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Camera lens type (reflects changes to setting 162 or setting 189)

    +" class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Camera lens type (reflects changes to lens settings such as 162, 189, 194, ...)

    HERO12 Black - HERO11 Black Mini -HERO11 Black - HERO10 Black -HERO9 Black

    +HERO11 Black Mini + HERO11 Black +HERO10 Black + HERO9 Black

    @@ -10613,7 +10695,7 @@

    Limitations

    Enabled
    -
    117
    integer
    117
    integer
    Limitations

    HERO12 Black HERO11 Black Mini HERO11 Black

    -
    {
    • "settings": {
      },
    • "status": {
      }
    }

    VideoMetadata

    ao
    required
    string
    Enum: "auto" "wind" "stereo" "off"
    Example: "auto"
    118
    integer

    Photo interval capture count

    +

    HERO12 Black

    +
    {
    • "settings": {
      },
    • "status": {
      }
    }

    VideoMetadata

    ao
    required
    string
    Enum: "auto" "wind" "stereo" "off"
    Example: "auto"

    Audio option

    avc_profile
    required
    integer [ 0 .. 255 ]
    Example: "0"

    Advanced Video Code Profile

    @@ -11153,7 +11239,7 @@

    Limitations

    Response samples

    Content type
    application/json
    {
    • "bytes_complete": 0,
    • "complete": true,
    • "message": "string",
    • "sha1": "string",
    • "status": 0
    }

    Simple OTA Update

    http://10.5.5.9:8080/gp/gpSoftUpdate

    Response samples

    Content type
    application/json
    {
    • "bytes_complete": 0,
    • "complete": true,
    • "message": "string",
    • "sha1": "string",
    • "status": 0
    }

    Simple OTA Update

    Limitations

    Response samples

    Content type
    application/json
    {
    • "status": 0
    }

    Presets

    Presets

    http://10.5.5.9:8080/gp/gpUpdate

    Response samples

    Content type
    application/json
    {
    • "status": 0
    }

    Presets

    Presets

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Is this preset user defined?

    Response samples

    Content type
    application/json
    {
    • "customIconIds": [
      ],
    • "customTitleIds": [
      ],
    • "presetGroupArray": [
      ]
    }

    Load Preset by ID

    http://10.5.5.9:8080/gopro/camera/presets/get

    Response samples

    Content type
    application/json
    {
    • "customIconIds": [
      ],
    • "customTitleIds": [
      ],
    • "presetGroupArray": [
      ]
    }

    Load Preset by ID

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Load Preset Group by ID

    http://10.5.5.9:8080/gopro/camera/presets/load

    Response samples

    Content type
    application/json
    { }

    Load Preset Group by ID

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Update Custom Preset

    http://10.5.5.9:8080/gopro/camera/presets/set_group

    Response samples

    Content type
    application/json
    { }

    Update Custom Preset

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Attempted to update custom preset but the currently active preset is not custom.

    Request samples

    Content type
    application/json
    {
    • "custom_name": "string",
    • "icon_id": 0,
    • "title_id": 0
    }

    Response samples

    Content type
    application/json
    { }

    Preview Stream

    http://10.5.5.9:8080/gopro/camera/presets/update_custom

    Request samples

    Content type
    application/json
    {
    • "custom_name": "string",
    • "icon_id": 0,
    • "title_id": 0
    }

    Response samples

    Content type
    application/json
    { }

    Preview Stream

    When the preview stream is started, the camera starts up a UDP client and begins writing MPEG Transport @@ -14789,7 +14875,7 @@

    Limitations

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Stop Preview Stream

    http://10.5.5.9:8080/gopro/camera/stream/start

    Response samples

    Content type
    application/json
    { }

    Stop Preview Stream

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Query

    http://10.5.5.9:8080/gopro/camera/stream/stop

    Response samples

    Content type
    application/json
    { }

    Query

    Get information about the camera

    Get Camera State

    Limitations HERO11 Black HERO10 Black HERO9 Black

    -
    10
    integer
    Enum: 0 1
    10
    integer
    Enum: 0 1

    Is the system encoding right now?

    +" class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Is the system currently encoding?

    HERO12 Black HERO11 Black Mini HERO11 Black @@ -18731,18 +18817,6 @@

    Limitations

    HERO11 Black HERO10 Black HERO9 Black

    -
    64
    integer

    How many minutes of Time Lapse Video can be captured with current settings before sdcard is full

    -

    HERO12 Black -HERO11 Black Mini - HERO11 Black -HERO10 Black - HERO9 Black

    65
    integer
    Enum: 0 1 2 3
    Limitations HERO11 Black HERO10 Black HERO9 Black

    -
    69
    integer
    Enum: 0 1
    69
    integer
    Enum: 0 1

    Is the camera in AP Mode?

    +" class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Is AP mode enabled?

    HERO12 Black HERO11 Black Mini HERO11 Black @@ -19415,12 +19489,12 @@

    Limitations

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Is the system's Linux core active?

    HERO10 Black HERO9 Black

    -
    105
    integer
    Enum: 0 1 2
    105
    integer
    Enum: 0 1 2
    Limitations <td>Max Lens 2.0</td> </tr> </tbody></table> -" class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Camera lens type (reflects changes to setting 162 or setting 189)

    +" class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Camera lens type (reflects changes to lens settings such as 162, 189, 194, ...)

    HERO12 Black - HERO11 Black Mini -HERO11 Black - HERO10 Black -HERO9 Black

    +HERO11 Black Mini + HERO11 Black +HERO10 Black + HERO9 Black

    @@ -19721,7 +19795,7 @@

    Limitations

    Enabled
    -
    117
    integer
    117
    integer
    Limitations

    HERO12 Black HERO11 Black Mini HERO11 Black

    +
    118
    integer

    Photo interval capture count

    +

    HERO12 Black

    Response samples

    Content type
    application/json
    {
    • "settings": {
      },
    • "status": {
      }
    }

    Get Date / Time

    http://10.5.5.9:8080/gopro/camera/state

    Response samples

    Content type
    application/json
    {
    • "settings": {
      },
    • "status": {
      }
    }

    Get Date / Time

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Timezone offset in minutes

    Response samples

    Content type
    application/json
    {
    • "date": "2023_12_31",
    • "dst": 0,
    • "time": "11_05_45",
    • "tzone": -480
    }

    Get Hardware Info

    http://10.5.5.9:8080/gopro/camera/get_date_time

    Response samples

    Content type
    application/json
    {
    • "date": "2023_12_31",
    • "dst": 0,
    • "time": "11_05_45",
    • "tzone": -480
    }

    Get Hardware Info

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Camera serial number

    Response samples

    Content type
    application/json
    {
    • "info": {
      }
    }

    Get Last Captured Media

    http://10.5.5.9:8080/gopro/camera/info

    Response samples

    Content type
    application/json
    {
    • "info": {
      }
    }

    Get Last Captured Media

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    There is no last captured media for the camera to report

    Response samples

    Content type
    application/json
    {
    • "file": "GOPR0002.JPG",
    • "folder": "100GOPRO"
    }

    Get Open GoPro Version

    http://10.5.5.9:8080/gopro/media/last_captured

    Response samples

    Content type
    application/json
    {
    • "file": "GOPR0002.JPG",
    • "folder": "100GOPRO"
    }

    Get Open GoPro Version

    Limitations " class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Open GoPro version

    Response samples

    Content type
    application/json
    {
    • "version": "2.0"
    }

    settings

    http://10.5.5.9:8080/gopro/version

    Response samples

    Content type
    application/json
    {
    • "version": "2.0"
    }

    settings

    GoPro cameras have hundreds of setting options to choose from, all of which can be set using a single endpoint. The endpoint is configured with a setting id and an option value. Note that setting option values are not globally unique. While most option values are enumerated values, some are complex bit-masked values.

    Capabilities

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Aspect Ratio (108)

    http://10.5.5.9:8080/gopro/camera/setting?setting=134

    Response samples

    Content type
    application/json
    { }

    Aspect Ratio (108)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1 3 4
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Aspect Ratio (192)

    http://10.5.5.9:8080/gopro/camera/setting?setting=108

    Response samples

    Content type
    application/json
    { }

    Aspect Ratio (192)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1 3
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Auto Power Down (59)

    http://10.5.5.9:8080/gopro/camera/setting?setting=192

    Response samples

    Content type
    application/json
    { }

    Auto Power Down (59)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Bit Depth (183)

    http://10.5.5.9:8080/gopro/camera/setting?setting=59

    Response samples

    Content type
    application/json
    { }

    Bit Depth (183)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 2
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Bit Rate (182)

    http://10.5.5.9:8080/gopro/camera/setting?setting=183

    Response samples

    Content type
    application/json
    { }

    Bit Rate (182)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1
    Example: option=1
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Controls (175)

    http://10.5.5.9:8080/gopro/camera/setting?setting=182

    Response samples

    Content type
    application/json
    { }

    Controls (175)

    HERO12 Black HERO11 Black

    @@ -20363,7 +20441,7 @@

    JSON

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Duration (172)

    http://10.5.5.9:8080/gopro/camera/setting?setting=175

    Response samples

    Content type
    application/json
    { }

    Duration (172)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1 2 3 4 5 6 7 8 9
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Easy Mode Speed (176)

    http://10.5.5.9:8080/gopro/camera/setting?setting=172

    Response samples

    Content type
    application/json
    { }

    Easy Mode Speed (176)

    HERO12 Black HERO11 Black

    @@ -21173,7 +21251,7 @@

    JSON

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Enable Night Photo (177)

    http://10.5.5.9:8080/gopro/camera/setting?setting=176

    Response samples

    Content type
    application/json
    { }

    Enable Night Photo (177)

    HERO11 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Frames Per Second (3)

    http://10.5.5.9:8080/gopro/camera/setting?setting=177

    Response samples

    Content type
    application/json
    { }

    Frames Per Second (3)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Framing (193)

    http://10.5.5.9:8080/gopro/camera/setting?setting=3

    Response samples

    Content type
    application/json
    { }

    Framing (193)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1 2
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    GPS (83)

    http://10.5.5.9:8080/gopro/camera/setting?setting=193

    Response samples

    Content type
    application/json
    { }

    GPS (83)

    HERO11 Black @@ -21441,7 +21519,7 @@

    JSON

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    HindSight (167)

    http://10.5.5.9:8080/gopro/camera/setting?setting=83

    Response samples

    Content type
    application/json
    { }

    HindSight (167)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Horizon Leveling (150)

    http://10.5.5.9:8080/gopro/camera/setting?setting=167

    Response samples

    Content type
    application/json
    { }

    Horizon Leveling (150)

    HERO11 Black

    query Parameters
    option
    required
    integer
    Enum: 0 2
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Horizon Leveling (151)

    http://10.5.5.9:8080/gopro/camera/setting?setting=150

    Response samples

    Content type
    application/json
    { }

    Horizon Leveling (151)

    HERO11 Black

    query Parameters
    option
    required
    integer
    Enum: 0 2
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Hypersmooth (135)

    http://10.5.5.9:8080/gopro/camera/setting?setting=151

    Response samples

    Content type
    application/json
    { }

    Hypersmooth (135)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Interval (171)

    http://10.5.5.9:8080/gopro/camera/setting?setting=135

    Response samples

    Content type
    application/json
    { }

    Interval (171)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 2 3 4 5 6 7 8 9 10
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Lapse Mode (187)

    http://10.5.5.9:8080/gopro/camera/setting?setting=171

    Response samples

    Content type
    application/json
    { }

    Lapse Mode (187)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1 2 3 4 5 6 7
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Lens (121)

    http://10.5.5.9:8080/gopro/camera/setting?setting=187

    Response samples

    Content type
    application/json
    { }

    Lens (121)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Lens (122)

    http://10.5.5.9:8080/gopro/camera/setting?setting=121

    Response samples

    Content type
    application/json
    { }

    Lens (122)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Max Lens (162)

    http://10.5.5.9:8080/gopro/camera/setting?setting=122

    Response samples

    Content type
    application/json
    { }

    Max Lens (162)

    HERO11 Black @@ -22149,7 +22227,7 @@

    JSON

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Max Lens Mod (189)

    http://10.5.5.9:8080/gopro/camera/setting?setting=162

    Response samples

    Content type
    application/json
    { }

    Max Lens Mod (189)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1 2
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Max Lens Mod Enable (190)

    http://10.5.5.9:8080/gopro/camera/setting?setting=189

    Response samples

    Content type
    application/json
    { }

    Max Lens Mod Enable (190)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Media Format (128)

    http://10.5.5.9:8080/gopro/camera/setting?setting=190

    Response samples

    Content type
    application/json
    { }

    Media Format (128)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Photo Mode (191)

    http://10.5.5.9:8080/gopro/camera/setting?setting=128

    Response samples

    Content type
    application/json
    { }

    Photo Mode (191)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Profiles (184)

    http://10.5.5.9:8080/gopro/camera/setting?setting=191

    Response samples

    Content type
    application/json
    { }

    Profiles (184)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1 2
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Resolution (2)

    http://10.5.5.9:8080/gopro/camera/setting?setting=184

    Response samples

    Content type
    application/json
    { }

    Resolution (2)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Time Lapse Digital Lenses (123)

    http://10.5.5.9:8080/gopro/camera/setting?setting=2

    Response samples

    Content type
    application/json
    { }

    Time Lapse Digital Lenses (123)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Trail Length (179)

    http://10.5.5.9:8080/gopro/camera/setting?setting=123

    Response samples

    Content type
    application/json
    { }

    Trail Length (179)

    HERO12 Black @@ -22745,7 +22823,7 @@

    JSON

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Video Mode (180)

    http://10.5.5.9:8080/gopro/camera/setting?setting=179

    Response samples

    Content type
    application/json
    { }

    Video Mode (180)

    HERO11 Black

    query Parameters
    option
    required
    integer
    Enum: 0 101 102
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Video Mode (186)

    http://10.5.5.9:8080/gopro/camera/setting?setting=180

    Response samples

    Content type
    application/json
    { }

    Video Mode (186)

    HERO12 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1 2
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Video Performance Mode (173)

    http://10.5.5.9:8080/gopro/camera/setting?setting=186

    Response samples

    Content type
    application/json
    { }

    Video Performance Mode (173)

    HERO10 Black

    query Parameters
    option
    required
    integer
    Enum: 0 1 2
    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Webcam Digital Lenses (43)

    http://10.5.5.9:8080/gopro/camera/setting?setting=173

    Response samples

    Content type
    application/json
    { }

    Webcam Digital Lenses (43)

    JSON " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Wireless Band (178)

    http://10.5.5.9:8080/gopro/camera/setting?setting=43

    Response samples

    Content type
    application/json
    { }

    Wireless Band (178)

    HERO12 Black @@ -23027,7 +23105,7 @@

    JSON

    " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Webcam

    http://10.5.5.9:8080/gopro/camera/setting?setting=178

    Response samples

    Content type
    application/json
    { }

    Webcam

    Webcam Stabilization " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Exit Webcam Mode

    http://10.5.5.9:8080/gopro/webcam/preview

    Response samples

    Content type
    application/json
    { }

    Exit Webcam Mode

    Webcam Stabilization " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Get Webcam Status

    http://10.5.5.9:8080/gopro/webcam/exit

    Response samples

    Content type
    application/json
    { }

    Get Webcam Status

    Webcam Stabilization

    Response samples

    Content type
    application/json
    {
    • "error": 0,
    • "status": 0
    }

    Get Webcam Version

    http://10.5.5.9:8080/gopro/webcam/status

    Response samples

    Content type
    application/json
    {
    • "error": 0,
    • "status": 0
    }

    Get Webcam Version

    Webcam Stabilization " class="sc-iKOmoZ sc-cCzLxZ WVNwY jaVotg">

    Current webcam version

    Response samples

    Content type
    application/json
    {
    • "max_lens_support": true,
    • "usb_3_1_compatible": true,
    • "version": 0
    }

    Start Webcam

    http://10.5.5.9:8080/gopro/webcam/version

    Response samples

    Content type
    application/json
    {
    • "max_lens_support": true,
    • "usb_3_1_compatible": true,
    • "version": 0
    }

    Start Webcam

    Webcam Stabilization " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }

    Stop Webcam

    http://10.5.5.9:8080/gopro/webcam/start

    Response samples

    Content type
    application/json
    { }

    Stop Webcam

    Webcam Stabilization " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

    Request was successfully received by the camera

    Response Schema: application/json
    object

    Response samples

    Content type
    application/json
    { }
    +
    http://10.5.5.9:8080/gopro/webcam/stop

    Response samples

    Content type
    application/json
    { }