diff --git a/ble/.buildinfo b/ble/.buildinfo new file mode 100644 index 00000000..8cf4934f --- /dev/null +++ b/ble/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: ca55401b1ba039d0f22292726a740df9 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/ble/.doctrees/environment.pickle b/ble/.doctrees/environment.pickle new file mode 100644 index 00000000..68eb21e8 Binary files /dev/null and b/ble/.doctrees/environment.pickle differ diff --git a/ble/.doctrees/features/access_points.doctree b/ble/.doctrees/features/access_points.doctree new file mode 100644 index 00000000..40621a3c Binary files /dev/null and b/ble/.doctrees/features/access_points.doctree differ diff --git a/ble/.doctrees/features/cohn.doctree b/ble/.doctrees/features/cohn.doctree new file mode 100644 index 00000000..bc11ef70 Binary files /dev/null and b/ble/.doctrees/features/cohn.doctree differ diff --git a/ble/.doctrees/features/control.doctree b/ble/.doctrees/features/control.doctree new file mode 100644 index 00000000..9f413117 Binary files /dev/null and b/ble/.doctrees/features/control.doctree differ diff --git a/ble/.doctrees/features/hilights.doctree b/ble/.doctrees/features/hilights.doctree new file mode 100644 index 00000000..13d4fcc6 Binary files /dev/null and b/ble/.doctrees/features/hilights.doctree differ diff --git a/ble/.doctrees/features/live_streaming.doctree b/ble/.doctrees/features/live_streaming.doctree new file mode 100644 index 00000000..5ca1f8ee Binary files /dev/null and b/ble/.doctrees/features/live_streaming.doctree differ diff --git a/ble/.doctrees/features/presets.doctree b/ble/.doctrees/features/presets.doctree new file mode 100644 index 00000000..8274f723 Binary files /dev/null and b/ble/.doctrees/features/presets.doctree differ diff --git a/ble/.doctrees/features/query.doctree b/ble/.doctrees/features/query.doctree new file mode 100644 index 00000000..0627169a Binary files /dev/null and b/ble/.doctrees/features/query.doctree differ diff --git a/ble/.doctrees/features/settings.doctree b/ble/.doctrees/features/settings.doctree new file mode 100644 index 00000000..546efdbc Binary files /dev/null and b/ble/.doctrees/features/settings.doctree differ diff --git a/ble/.doctrees/features/statuses.doctree b/ble/.doctrees/features/statuses.doctree new file mode 100644 index 00000000..7108a1d9 Binary files /dev/null and b/ble/.doctrees/features/statuses.doctree differ diff --git a/ble/.doctrees/index.doctree b/ble/.doctrees/index.doctree new file mode 100644 index 00000000..9c7a68f2 Binary files /dev/null and b/ble/.doctrees/index.doctree differ diff --git a/ble/.doctrees/protocol.doctree b/ble/.doctrees/protocol.doctree new file mode 100644 index 00000000..e74c1d74 Binary files /dev/null and b/ble/.doctrees/protocol.doctree differ diff --git a/ble/.doctrees/protocol/ble_setup.doctree b/ble/.doctrees/protocol/ble_setup.doctree new file mode 100644 index 00000000..46d013fd Binary files /dev/null and b/ble/.doctrees/protocol/ble_setup.doctree differ diff --git a/ble/.doctrees/protocol/data_protocol.doctree b/ble/.doctrees/protocol/data_protocol.doctree new file mode 100644 index 00000000..aa4c82fe Binary files /dev/null and b/ble/.doctrees/protocol/data_protocol.doctree differ diff --git a/ble/.doctrees/protocol/id_tables.doctree b/ble/.doctrees/protocol/id_tables.doctree new file mode 100644 index 00000000..a1ff6f18 Binary files /dev/null and b/ble/.doctrees/protocol/id_tables.doctree differ diff --git a/ble/.doctrees/protocol/protobuf.doctree b/ble/.doctrees/protocol/protobuf.doctree new file mode 100644 index 00000000..3d32be4e Binary files /dev/null and b/ble/.doctrees/protocol/protobuf.doctree differ diff --git a/ble/.doctrees/protocol/state_management.doctree b/ble/.doctrees/protocol/state_management.doctree new file mode 100644 index 00000000..2d3bf0ac Binary files /dev/null and b/ble/.doctrees/protocol/state_management.doctree differ diff --git a/ble/_images/plantuml_all_global_behaviors_fsm.png b/ble/_images/plantuml_all_global_behaviors_fsm.png deleted file mode 100644 index 137cb9b6..00000000 Binary files a/ble/_images/plantuml_all_global_behaviors_fsm.png and /dev/null differ diff --git a/ble/_sources/features/access_points.rst.txt b/ble/_sources/features/access_points.rst.txt index 7bc3edf8..6c9d8333 100644 --- a/ble/_sources/features/access_points.rst.txt +++ b/ble/_sources/features/access_points.rst.txt @@ -8,7 +8,40 @@ Internet connection. While in this mode, HTTP command and control of the camera Operations ---------- +.. operation:protobuf:: Delete Stored Access Point + :operation-id: GPCAMERA_NETWORK_DELETE_AP + + .. operation:protobuf-message:: request + :feature-id: 0x02 + :action-id: 0x06 + :uuid: Network Management Command + :message: RequestDeleteSingleAp + + .. operation:protobuf-message:: response + :feature-id: 0x02 + :action-id: 0x86 + :uuid: Network Management Response + :message: ResponseGeneric + + +.. operation:protobuf:: Delete All Stored Access Points + :operation-id: OGP_DELETE_ALL_ACCESS_POINTS + + .. operation:protobuf-message:: request + :feature-id: 0x02 + :action-id: 0x07 + :uuid: Network Management Command + :message: RequestDeleteAllAp + + .. operation:protobuf-message:: response + :feature-id: 0x02 + :action-id: 0x87 + :uuid: Network Management Response + :message: ResponseGeneric + .. operation:protobuf:: Scan for Access Points + :operation-id: GPCAMERA_NETWORK_START_AP_SCAN + :external: .. image:: ../../assets/images/plantuml_ble_scan_for_ssids.png @@ -31,20 +64,29 @@ Operations :message: NotifStartScanning .. operation:protobuf:: Get AP Scan Results + :operation-id: GPCAMERA_NETWORK_GET_AP_LIST + :external: .. operation:protobuf-message:: request :feature-id: 0x02 - :action-id: 0x04 + :action-id: 0x03 :uuid: Network Management Command :message: RequestGetApEntries .. operation:protobuf-message:: response :feature-id: 0x02 - :action-id: 0x84 + :action-id: 0x83 :uuid: Network Management Response :message: ResponseGetApEntries .. operation:protobuf:: Connect to Provisioned Access Point + :operation-id: GPCAMERA_NETWORK_CONNECT_EXISTING_AP + :external: + + .. warning:: This operation can only be used on an Access Point that has been previously configured. Therefore it is + first necessary to :operation:ref:`Scan for Access Points`, then :operation:ref:`Get AP Scan Results` to ensure + that the relevant :ref:`Scan Entry` has the + :ref:`SCAN_FLAG_CONFIGURED` bit set. .. image:: ../../assets/images/plantuml_ble_connect_ap.png @@ -67,8 +109,13 @@ Operations :message: NotifProvisioningState .. operation:protobuf:: Connect to a New Access Point + :operation-id: GPCAMERA_NETWORK_CONNECT_NEW_AP + :external: - .. note:: This should only be done once to provision the AP; subsequent connections should use RequestConnect. + .. warning:: This operation can only be used on an Access Point that has not been previously configured. Therefore it + is first necessary to :operation:ref:`Scan for Access Points`, then :operation:ref:`Get AP Scan Results` to + ensure that the relevant :ref:`Scan Entry` does not have the + :ref:`SCAN_FLAG_CONFIGURED` bit set. .. image:: ../../assets/images/plantuml_ble_connect_new_ap.png @@ -93,8 +140,7 @@ Operations Disconnect from Access Point ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To disconnect from a connected Access Point and return the camera to AP mode, use -`Set AP Control <../features/control.html#set_ap_control>`__ -to set AP Control: ON, which disables Station Mode. +To disconnect from a connected Access Point and return the camera to AP mode, use :operation:ref:`Set AP Control` +to set AP Control On, which disables Station Mode. .. image:: ../../assets/images/plantuml_ble_disconnect_ap.png diff --git a/ble/_sources/features/cohn.rst.txt b/ble/_sources/features/cohn.rst.txt index 1990522d..53cc8a6f 100644 --- a/ble/_sources/features/cohn.rst.txt +++ b/ble/_sources/features/cohn.rst.txt @@ -58,9 +58,9 @@ Provisioning Procedure In order to use the COHN capability, the camera must first be provisioned for COHN. At a high level, the provisioning process is as follows: -1. Instruct the GoPro to `create `__ the COHN certificate -2. `Get `__ the created COHN certificate -3. `Get `__ the Basic auth credentials +1. Instruct the GoPro to :operation:ref:`Create COHN Certificate` +2. Use :operation:ref:`Get COHN Certificate` to get the created COHN certificate +3. Use :operation:ref:`Get COHN Status` to get the Basic auth credentials 4. Connect the camera to an :doc:`access point` .. tip:: Depending on the use case, some of these steps can be performed via `HTTP `_ @@ -75,7 +75,8 @@ Operations ========== .. operation:protobuf:: Clear COHN Certificate - :unsupported: boilers kongs pismo sultans + :operation-id: GPCAMERA_CLEAR_HOME_NETWORK_CERT + :external: .. operation:protobuf-message:: request :feature-id: 0xF1 @@ -86,11 +87,12 @@ Operations .. operation:protobuf-message:: response :feature-id: 0xF1 :action-id: 0xE6 - :uuid: Response + :uuid: Command Response :message: ResponseGeneric .. operation:protobuf:: Create COHN Certificate - :unsupported: boilers kongs pismo sultans + :operation-id: GPCAMERA_CREATE_HOME_NETWORK_CERT + :external: .. operation:protobuf-message:: request :feature-id: 0xF1 @@ -101,47 +103,50 @@ Operations .. operation:protobuf-message:: response :feature-id: 0xF1 :action-id: 0xE7 - :uuid: Response + :uuid: Command Response :message: ResponseGeneric .. operation:protobuf:: Get COHN Certificate - :unsupported: boilers kongs pismo sultans + :operation-id: GPCAMERA_GET_HOME_NETWORK_CERT + :external: .. operation:protobuf-message:: request :feature-id: 0xF5 :action-id: 0x6E - :uuid: Command + :uuid: Query :message: WSDK_RequestCOHNCert .. operation:protobuf-message:: response :feature-id: 0xF5 :action-id: 0xEE - :uuid: Response + :uuid: Query Response :message: WSDK_ResponseCOHNCert .. operation:protobuf:: Get COHN Status - :unsupported: boilers kongs pismo sultans + :operation-id: GPCAMERA_GET_HOME_NETWORK_STATUS + :external: .. operation:protobuf-message:: request :feature-id: 0xF5 :action-id: 0x6F - :uuid: Command + :uuid: Query :message: WSDK_RequestGetCOHNStatus .. operation:protobuf-message:: response :feature-id: 0xF5 :action-id: 0xEF - :uuid: Response + :uuid: Query Response :message: WSDK_NotifyCOHNStatus .. operation:protobuf-message:: notification :feature-id: 0xF5 :action-id: 0xEF - :uuid: Response + :uuid: Query Response :message: WSDK_NotifyCOHNStatus .. operation:protobuf:: Set COHN Setting - :unsupported: boilers kongs pismo sultans + :operation-id: GPCAMERA_SET_HOME_NETWORK_SETTING + :external: .. operation:protobuf-message:: request :feature-id: 0xF1 @@ -152,5 +157,5 @@ Operations .. operation:protobuf-message:: response :feature-id: 0xF1 :action-id: 0xE5 - :uuid: Response + :uuid: Command Response :message: ResponseGeneric diff --git a/ble/_sources/features/control.rst.txt b/ble/_sources/features/control.rst.txt index 85b418b0..c07bb3f7 100644 --- a/ble/_sources/features/control.rst.txt +++ b/ble/_sources/features/control.rst.txt @@ -6,13 +6,30 @@ This page will detail operations to command and control the GoPro. Operations ---------- +.. operation:protobuf:: Clear New Media Flag + :operation-id: GPCAMERA_MOBILE_OFFLOAD_NEW_MEDIA_FLAG_CLEAR + + .. operation:protobuf-message:: request + :feature-id: 0xF1 + :action-id: 0x7C + :uuid: Command + :message: WSDK_RequestClearNewMediaFlag + + .. operation:protobuf-message:: response + :feature-id: 0xF1 + :action-id: 0xFC + :uuid: Command Response + :message: ResponseGeneric + .. operation:tlv-command:: Keep Alive + :operation-id: OGP_KEEP_ALIVE + :external: :id: 0x5B In order to maximize battery life, GoPro cameras automatically go to sleep after some time. This logic is handled by - a combination of the `Auto Power Down <../features/settings.html#setting_59>`_ - setting which most (but not all) cameras support and a Keep Alive message that the user can regularly send to the - camera. The camera will automatically go to sleep if both timers reach zero. + a combination of the :operation:ref:`Auto Off` setting which most (but not all) cameras support + and a Keep Alive message that the user can regularly send to the camera. The camera will automatically go to sleep + if both timers reach zero. The Auto Power Down timer is reset when the user taps the LCD screen, presses a button on the camera, programmatically (un)sets the shutter, sets a setting, or loads a Preset. @@ -30,6 +47,8 @@ Operations :uuid: Settings Response .. operation:tlv-command:: Set Analytics + :operation-id: GPCAMERA_ANALYTICS_SET_CLIENT_INFO + :external: :id: 0x50 Configure the client as third-party for analytic tracking. @@ -40,6 +59,8 @@ Operations :uuid: Command Response .. operation:tlv-command:: Set AP Control + :operation-id: GPCAMERA_AP_CONTROL + :external: :id: 0x17 Enable / disable the camera's WiFi access point. @@ -52,7 +73,8 @@ Operations :uuid: Command Response .. operation:protobuf:: Set Camera Control - :unsupported: boilers + :operation-id: GPCAMERA_SET_CAMERA_CONTROL_STATUS + :external: .. image:: ../../assets/images/global_behaviors.png @@ -69,6 +91,8 @@ Operations :message: ResponseGeneric .. operation:tlv-command:: Set Date Time + :operation-id: GPCAMERA_SET_DATE_AND_TIME_ID + :external: :id: 0x0D Set the camera's date and time (without timezone and daylight-savings information). @@ -92,8 +116,9 @@ Operations :uuid: Command Response .. operation:tlv-command:: Set Local Date Time + :operation-id: GPCAMERA_SET_DATE_AND_TIME_DST_ID + :external: :id: 0x0F - :unsupported: boilers kongs Set the cameras date and time with timezone and daylight-savings information. @@ -117,7 +142,24 @@ Operations .. operation:tlv-message:: Response :uuid: Command Response +.. operation:protobuf:: Set Pairing State + :operation-id: GPCAMERA_WIRELESS_PAIRING_COMPLETE + + .. operation:protobuf-message:: request + :feature-id: 0x03 + :action-id: 0x01 + :uuid: Network Management Command + :message: RequestPairingFinish + + .. operation:protobuf-message:: response + :feature-id: 0x03 + :action-id: 0x81 + :uuid: Network Management Response + :message: ResponseGeneric + .. operation:tlv-command:: Set Shutter + :operation-id: GPCAMERA_SHUTTER + :external: :id: 0x01 Set Shutter On / Off @@ -130,6 +172,8 @@ Operations :uuid: Command Response .. operation:protobuf:: Set Turbo Transfer + :operation-id: GPCAMERA_TURBO_MODE_ENABLE + :external: .. operation:protobuf-message:: request :feature-id: 0xF1 @@ -143,7 +187,24 @@ Operations :uuid: Command Response :message: ResponseGeneric +.. operation:protobuf:: Set Wakeup Reason + :operation-id: OGP_SET_WAKEUP_REASON + + .. operation:protobuf-message:: request + :feature-id: 0xF1 + :action-id: 0x7D + :uuid: Command + :message: WSDK_RequestSetSystemNotifyEvent + + .. operation:protobuf-message:: response + :feature-id: 0xF1 + :action-id: 0xFD + :uuid: Command Response + :message: ResponseGeneric + .. operation:tlv-command:: Sleep + :operation-id: GPCAMERA_POWER_ID + :external: :id: 0x05 Put the camera to sleep. diff --git a/ble/_sources/features/hilights.rst.txt b/ble/_sources/features/hilights.rst.txt index 2fbddfd1..14e2d151 100644 --- a/ble/_sources/features/hilights.rst.txt +++ b/ble/_sources/features/hilights.rst.txt @@ -5,6 +5,8 @@ Operations ---------- .. operation:tlv-command:: Hilight Moment + :operation-id: GPCAMERA_TAG_MOMENT + :external: :id: 0x18 Add a hilight while recording. This can only be used during encoding. diff --git a/ble/_sources/features/live_streaming.rst.txt b/ble/_sources/features/live_streaming.rst.txt index 9265800b..5f254b51 100644 --- a/ble/_sources/features/live_streaming.rst.txt +++ b/ble/_sources/features/live_streaming.rst.txt @@ -10,8 +10,8 @@ For additional details about getting started with RTMP, see Live streaming with camera is accomplished as follows: 1. Put the camera into :doc:`Station Mode` and connect it to an access point -2. Set the `Livestream Mode `__ -3. Poll for `Livestream Status `__ until the camera indicates it is ready +2. Use :operation:ref:`Set Livestream Mode` to configure livestreaming. +3. Poll for :operation:ref:`Livestream Status` until the camera indicates it is ready 4. Set the shutter to begin live streaming 5. Unset the shutter to stop live streaming @@ -21,10 +21,10 @@ Operations ---------- .. operation:protobuf:: Set Livestream Mode + :operation-id: GPCAMERA_LIVE_STREAM_SETUP + :external: - .. note:: The current Livestream Mode can be queried via - `Get Livestream Status `__ - + .. note:: The current Livestream Mode can be queried via :operation:ref:`Get Livestream Status` .. operation:protobuf-message:: request :feature-id: 0xF1 @@ -39,6 +39,8 @@ Operations :message: ResponseGeneric .. operation:protobuf:: Get Livestream Status + :operation-id: OGP_LIVESTREAM_STATUS + :external: .. operation:protobuf-message:: request :feature-id: 0xF5 diff --git a/ble/_sources/features/presets.rst.txt b/ble/_sources/features/presets.rst.txt index a2e27a8f..1db37f6a 100644 --- a/ble/_sources/features/presets.rst.txt +++ b/ble/_sources/features/presets.rst.txt @@ -6,32 +6,50 @@ The camera organizes many modes of operation into Presets. Depending on the camera's state, different collections of presets will be available for immediate loading and use. Below is a table of settings that affect the current preset collection and thereby which presets can be loaded -=== ======================= +=== ==================================================== ID Setting -=== ======================= -162 Max Lens -173 Video Performance Mode -175 Controls -177 Enable Night Photo -180 Video Mode -186 Video Mode -187 Lapse Mode -189 Max Lens Mod -190 Max Lens Mod Enable -191 Photo Mode -=== ======================= +=== ==================================================== +162 :operation:ref:`Max Lens` +173 :operation:ref:`Video Performance Mode` +175 :operation:ref:`Controls` +177 :operation:ref:`Enable Night Photo` +180 :operation:ref:`Video Mode` +186 :operation:ref:`Video Mode` +187 :operation:ref:`Lapse Mode` +189 :operation:ref:`Max Lens Mod` +190 :operation:ref:`Max Lens Mod Enable` +191 :operation:ref:`Photo Mode` +=== ==================================================== Preset Groups ------------- Presets are organized into Preset Groups. -To find the currently available Presets / Preset Groups, use `Get Available Presets <../features/presets.html#get_available_presets>`__ +To find the currently available Presets / Preset Groups, use :operation:ref:`Get Available Presets` + +Preset Modified Status +---------------------- + +:operation:ref:`Status 98` returns the camera's Preset Modified Status value. + +The value of this status is set to zero when the client sends a Get Preset Status message to the camera. + +The value of this status is set to a non-zero value when: + +- Preset settings submenu is exited in the camera UI (whether any settings were changed or not) +- A new preset is created +- A preset is deleted +- Preset ordering is changed within a preset group +- A preset is reset to factory defaults + Operations ---------- .. operation:protobuf:: Get Available Presets + :operation-id: OGP_PRESETS_GET + :external: .. operation:protobuf-message:: request :feature-id: 0xF5 @@ -52,9 +70,11 @@ Operations :message: WSDK_NotifyPresetStatus .. operation:tlv-command:: Load Preset + :operation-id: GPCAMERA_SET_PRESET + :external: :id: 0x40 - Load preset by ID. The ID must be found from `Get Available Presets <../features/presets.html#get_available_presets>`__ + Load preset by ID. The ID must be found from :operation:ref:`Get Available Presets` .. operation:tlv-message:: Request :uuid: Command @@ -65,9 +85,11 @@ Operations .. operation:tlv-command:: Load Preset Group + :operation-id: OGP_PRESET_SET_GROUP + :external: :id: 0x3E - Load preset group by ID. The ID must be found from `Get Available Presets <../features/presets.html#get_available_presets>`__ + The available group ID values can be found in :ref:`proto-enumpresetgroup` .. operation:tlv-message:: Request :uuid: Command @@ -77,7 +99,8 @@ Operations :uuid: Command Response .. operation:protobuf:: Update Custom Preset - :unsupported: boilers kongs pismo sultans + :operation-id: GPCAMERA_CUSTOM_PRESET_UPDATE + :external: .. operation:protobuf-message:: request :feature-id: 0xF1 diff --git a/ble/_sources/features/query.rst.txt b/ble/_sources/features/query.rst.txt index e30588ea..cad38dea 100644 --- a/ble/_sources/features/query.rst.txt +++ b/ble/_sources/features/query.rst.txt @@ -6,22 +6,9 @@ This section describes operations to query various GoPro state / information. Operations ---------- -.. operation:tlv-command:: Get Open GoPro Version - :id: 0x51 - - Get the current version of the Open GoPro API. - - .. operation:tlv-message:: Request - :uuid: Command - .. operation:tlv-message:: Response - :uuid: Command Response - :params: - - major_length (uint8): length of major parameter - - major (unsigned major_length bytes) : major part of version number - - minor_length (uint8): length of minor parameter - - minor (unsigned minor_length bytes) : minor part of version number - .. operation:tlv-command:: Get Date Time + :operation-id: OGP_GET_DATE_TIME + :external: :id: 0x0E Get the current date and time (without daylight savings times and timezone information). @@ -41,6 +28,8 @@ Operations - weekday (uint8): Sunday = 0, Saturday = 6 .. operation:tlv-command:: Get Hardware Info + :operation-id: GPCAMERA_INFO + :external: :id: 0x3C Get information about the camera and firmware. @@ -69,8 +58,9 @@ Operations - reserved (11 bytes): reserved data not part of the payload .. operation:tlv-command:: Get Local Date Time + :operation-id: OGP_GET_DATE_AND_TIME_DST + :external: :id: 0x10 - :unsupported: boilers kongs Get the current date and time with daylight savings and timezone information. @@ -90,7 +80,8 @@ Operations - is_dst (uint8): Is daylight savings? 1 if yes, 0 if no .. operation:protobuf:: Get Last Captured Media - :unsupported: boilers kongs pismo sultans + :operation-id: OGP_GET_LAST_MEDIA + :external: .. operation:protobuf-message:: request :feature-id: 0xF5 @@ -104,7 +95,41 @@ Operations :uuid: Query Response :message: WSDK_ResponseLastCapturedMedia +.. operation:protobuf:: Get Network Capabilities + :operation-id: GPCAMERA_NETWORK_GET_CAPABILITIES + + .. operation:protobuf-message:: request + :feature-id: 0x02 + :action-id: 0x01 + :uuid: Network Management Command + :message: RequestGetNetworkCapabilities + + .. operation:protobuf-message:: response + :feature-id: 0x02 + :action-id: 0x81 + :uuid: Network Management Response + :message: ResponseCapabilities + +.. operation:tlv-command:: Get Open GoPro Version + :operation-id: GPCAMERA_OPENGOPRO_VERSION + :external: + :id: 0x51 + + Get the current version of the Open GoPro API. + + .. operation:tlv-message:: Request + :uuid: Command + .. operation:tlv-message:: Response + :uuid: Command Response + :params: + - major_length (uint8): length of major parameter + - major (unsigned major_length bytes) : major part of version number + - minor_length (uint8): length of minor parameter + - minor (unsigned minor_length bytes) : minor part of version number + .. operation:tlv-query:: Get Setting Values + :operation-id: OGP_GET_SETTING_VALUE + :external: Get the current value associated with one or more settings. @@ -126,6 +151,8 @@ Operations - **value**: Setting value defined via the individual :doc:`Setting` documentation .. operation:tlv-query:: Get Status Values + :operation-id: OGP_GET_STATUS_VALUE + :external: Get the current value of one or more camera statuses. @@ -147,6 +174,8 @@ Operations - **value**: Status value defined via the individual :doc:`Status` documentation .. operation:tlv-query:: Get Setting Capabilities + :operation-id: OGP_GET_SETTING_CAPABILITIES + :external: Get one or more setting value capabilities. The reported capabilities are only those setting options that are **currently** supported. @@ -169,6 +198,8 @@ Operations - **value**: Setting value defined via the individual :doc:`Setting` documentation .. operation:tlv-query:: Register for Setting Value Updates + :operation-id: OGP_REGISTER_SETTING_VALUE_UPDATES + :external: Register to receive updates when one or more setting values change. The initial response contains the current setting values. Notifications will be sent whenever one of the requested setting's values change. @@ -200,6 +231,8 @@ Operations - **value**: Setting value defined via the individual :doc:`Setting` documentation .. operation:tlv-query:: Register for Status Value Updates + :operation-id: OGP_REGISTER_STATUS_VALUE_UPDATES + :external: Register to receive updates when one or more status values change. The initial response contains the current status values. Notifications will be sent whenever one of the requested statuses' values change. @@ -231,6 +264,8 @@ Operations - **value**: Status value defined via the individual :doc:`Status` documentation .. operation:tlv-query:: Register for Setting Capability Updates + :operation-id: OGP_REGISTER_SETTING_CAPABILITY_UPDATES + :external: Register to receive updates when one or more setting capabilities change. The initial response contains the current setting capabilities. Notifications will be sent whenever one of the requested settings' capabilities change. @@ -262,6 +297,8 @@ Operations - **value**: Setting value defined via the individual :doc:`Setting` documentation .. operation:tlv-query:: Unregister for Setting Value Updates + :operation-id: OGP_UNREGISTER_SETTING_VALUE_UPDATES + :external: Cancel ongoing setting value updates. @@ -278,6 +315,8 @@ Operations :id: 0x72 .. operation:tlv-query:: Unregister for Status Value Updates + :operation-id: OGP_UNREGISTER_STATUS_VALUE_UPDATES + :external: Cancel ongoing status value updates. @@ -294,6 +333,8 @@ Operations :id: 0x73 .. operation:tlv-query:: Unregister for Setting Capability Updates + :operation-id: OGP_UNREGISTER_SETTING_CAPABILITY_UPDATES + :external: Cancel ongoing setting capability updates. diff --git a/ble/_sources/features/settings.rst.txt b/ble/_sources/features/settings.rst.txt index 5acb4886..9c5eacdc 100644 --- a/ble/_sources/features/settings.rst.txt +++ b/ble/_sources/features/settings.rst.txt @@ -48,23 +48,21 @@ Operations ========== .. operation:tlv-command:: Set Setting + :operation-id: GPCAMERA_CHANGE_SETTING + :external: :id: SettingID Set an individual :ref:`Setting ID` to a given value. - The superset of per-setting values can be found in the `setting `__ documentation. Alternatively, - the currently supported setting values can be dynamically queried via - `Get Setting Capabilities <../features/query.html#get_setting_capabilities>`_ + The superset of per-setting values can be found in the :ref:`Setting ID` documentation. Alternatively, + the currently supported setting values can be dynamically queried via :operation:ref:`Get Setting Capabilities` .. operation:tlv-message:: Request :uuid: Setting :params: - - value_length (uint8): length of `value` - - value (variable length and type): value to set, of length `value_length` + - value_length (uint8): length of value + - value (variable length and type): value to set, of length value_length .. operation:tlv-message:: Response :uuid: Settings Response -Setting IDs -=========== - -.. operation:setting-descriptions:: \ No newline at end of file +.. include:: setting_ids.inc \ No newline at end of file diff --git a/ble/_sources/features/statuses.rst.txt b/ble/_sources/features/statuses.rst.txt index d27c979a..6e04ba5d 100644 --- a/ble/_sources/features/statuses.rst.txt +++ b/ble/_sources/features/statuses.rst.txt @@ -4,4 +4,4 @@ Statuses This section will describe each status and its supported values. See the :doc:`Query` section for operations to query status values. -.. operation:status-descriptions:: \ No newline at end of file +.. include:: status_ids.inc \ No newline at end of file diff --git a/ble/_sources/index.rst.txt b/ble/_sources/index.rst.txt index a4502463..86e3f3cb 100644 --- a/ble/_sources/index.rst.txt +++ b/ble/_sources/index.rst.txt @@ -20,7 +20,7 @@ Below is a table of cameras that support GoPro's public BLE API: 55 HD9.01 HERO9 Black `v01.70.00 `__ ========== ============ =================== ========================== -.. warning:: While the version listed above are *mininum versions* needed to support the Open GoPro API, the documentation +.. warning:: While the version listed above are *minimum versions* needed to support the Open GoPro API, the documentation assumes that the GoPro is always updated to the most recent version. This is relevant in cases where functionality changes between versions. @@ -49,6 +49,7 @@ Then see any of the subsequent feature sections to perform desired functionality features/presets features/settings features/statuses + features/cah .. tip:: Additionally, there are walk-through `tutorials `_ available to demonstrate basic BLE functionality diff --git a/ble/_sources/protocol/data_protocol.rst.txt b/ble/_sources/protocol/data_protocol.rst.txt index c4bd8e11..6560b6ef 100644 --- a/ble/_sources/protocol/data_protocol.rst.txt +++ b/ble/_sources/protocol/data_protocol.rst.txt @@ -189,6 +189,17 @@ Type (Command / Setting ID) Command Status Optional Response 1 Byte 1 Byte Variable Length =========================== ============== ================= +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 :ref:`Command ID` will define the response. diff --git a/ble/_sources/protocol/id_tables.rst.txt b/ble/_sources/protocol/id_tables.rst.txt index af64f144..9a440da1 100644 --- a/ble/_sources/protocol/id_tables.rst.txt +++ b/ble/_sources/protocol/id_tables.rst.txt @@ -12,18 +12,18 @@ Query IDs ======== =============================================== Query ID Query ======== =============================================== -0x12 `Get Setting Values <../features/query.html#get_setting_values>`__ -0x13 `Get Status Values <../features/query.html#get_status_values>`__ -0x32 `Get Setting Capabilities <../features/query.html#get_setting_capabilities>`__ -0x52 `Register for Setting Value Updates <../features/query.html#register_for_setting_value_updates>`__ -0x53 `Register for Status Value Updates <../features/query.html#register_for_status_value_updates>`__ -0x62 `Register for Setting Capability Updates <../features/query.html#register_for_setting_capability_updates>`__ -0x72 `Unregister for Setting Value Updates <../features/query.html#unregister_for_setting_value_updates>`__ -0x73 `Unregister for Status Value Updates <../features/query.html#unregister_for_status_value_updates>`__ -0x82 `Unregister for Setting Capability Updates <../features/query.html#unregister_for_setting_capability_updates>`__ -0x92 `Asynchronous setting value Notification <../features/query.html#register_for_setting_value_updates>`__ -0x93 `Asynchronous status value Notification <../features/query.html#register_for_status_value_updates>`__ -0xA2 `Asynchronous setting capability Notification <../features/query.html#register_for_setting_capability_updates>`__ +0x12 `Get Setting Values <../features/query.html#get-setting-values>`__ +0x13 `Get Status Values <../features/query.html#get-status-values>`__ +0x32 `Get Setting Capabilities <../features/query.html#get-setting-capabilities>`__ +0x52 `Register for Setting Value Updates <../features/query.html#register-for-setting-value-updates>`__ +0x53 `Register for Status Value Updates <../features/query.html#register-for-status-value-updates>`__ +0x62 `Register for Setting Capability Updates <../features/query.html#register-for-setting-capability-updates>`__ +0x72 `Unregister for Setting Value Updates <../features/query.html#unregister-for-setting-value-updates>`__ +0x73 `Unregister for Status Value Updates <../features/query.html#unregister-for-status-value-updates>`__ +0x82 `Unregister for Setting Capability Updates <../features/query.html#unregister-for-setting-capability-updates>`__ +0x92 `Asynchronous setting value Notification <../features/query.html#register-for-setting-value-updates>`__ +0x93 `Asynchronous status value Notification <../features/query.html#register-for-status-value-updates>`__ +0xA2 `Asynchronous setting capability Notification <../features/query.html#register-for-setting-capability-updates>`__ ======== =============================================== Protobuf IDs diff --git a/ble/_sources/protocol/protobuf.rst.txt b/ble/_sources/protocol/protobuf.rst.txt index 36939882..dad5b234 100644 --- a/ble/_sources/protocol/protobuf.rst.txt +++ b/ble/_sources/protocol/protobuf.rst.txt @@ -266,6 +266,11 @@ EnumFlatMode - + * - FLAT_MODE_VIDEO_BURST_SLOMO + - 32 + + - + @@ -425,7 +430,7 @@ EnumLiveStreamStatus * - LIVE_STREAM_STATE_READY - 2 - - | Livestream has finished configuration and is ready to start streaming + - Livestream has finished configuration and is ready to start streaming * - LIVE_STREAM_STATE_STREAMING - 3 @@ -447,6 +452,11 @@ EnumLiveStreamStatus - An error occurred during livestream and stream is attempting to reconnect. + * - LIVE_STREAM_STATE_UNAVAILABLE + - 7 + + - Live stream setup is unavailable due to camera lens configuration + @@ -2694,12 +2704,18 @@ RequestGetPresetStatus `Source Protobuf File `__ -Get preset status (and optionally register to be notified when it changes) +Get the set of currently available presets and optionally register to be notified when it changes. Response: :ref:`proto-notifypresetstatus` sent immediately Notification: :ref:`proto-notifypresetstatus` sent periodically as preset status changes, if registered. +The preset status changes when: + +- A client changes one of a preset's captioned settings via the API +- The user exits from a preset's settings UI on the camera (e.g. long-press the preset pill and then press the back arrow) +- The user creates/deletes/reorders a preset within a group + .. list-table:: :widths: 10 10 15 40 :header-rows: 1 @@ -2869,7 +2885,7 @@ Response: :ref:`proto-responsegeneric` - | Resolution to use for live stream | - | The set of supported lenses is only available from the `live_stream_window_size_supported_array` in :ref:`proto-notifylivestreamstatus`) + | The set of supported resolutions is only available from the `live_stream_window_size_supported_array` in :ref:`proto-notifylivestreamstatus`) * - cert - bytes diff --git a/ble/_sources/protocol/state_management.rst.txt b/ble/_sources/protocol/state_management.rst.txt index c15dfff1..42003cae 100644 --- a/ble/_sources/protocol/state_management.rst.txt +++ b/ble/_sources/protocol/state_management.rst.txt @@ -5,8 +5,7 @@ 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 <../features/statuses.html#status_8>`_ -and `Encoding Active <../features/statuses.html#status_10>`_ status flags. For example: +:operation:ref:`System Busy` and :operation:ref:`Encoding Active` status flags. For example: - System Busy flag is set while loading presets, changing settings, formatting sdcard, ... - Encoding Active flag is set while capturing photo/video media @@ -18,12 +17,11 @@ Keep Alive ========== Unless changed by the user, GoPro cameras will automatically power off after some time (e.g. 5min, 15min, 30min). -Therefore, it is necessary to periodically send a `keep alive <../features/control.html#keep_alive>`_ signal to maintain the connection. +Therefore, it is necessary to periodically send a :operation:ref:`Keep Alive` signal to maintain the connection. Camera Control ============== In order to prevent undefined behavior between the camera and a connected app, simultaneous use of the camera and a -connected app is discouraged. A third party client should use -`Set Camera Control <../features/control.html#set_camera_control>`_ -to tell the camera that the client wishes to claim control of the camera. \ No newline at end of file +connected app is discouraged. A third party client should use :operation:ref:`Set Camera Control` to tell the camera +that the client wishes to claim control of the camera. \ No newline at end of file diff --git a/ble/_static/css/badge_only.css b/ble/_static/css/badge_only.css index 7f92e7fb..c718cee4 100644 --- a/ble/_static/css/badge_only.css +++ b/ble/_static/css/badge_only.css @@ -1,4 +1 @@ -/* 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 19 17:22:39 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/ble/_static/css/rtd_sphinx_search.min.css b/ble/_static/css/rtd_sphinx_search.min.css deleted file mode 100644 index b0391d8f..00000000 --- a/ble/_static/css/rtd_sphinx_search.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/* rtd_sphinx_search.min.css/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */ -/* This copyright was auto-generated on Tue Mar 5 22:34:21 UTC 2024 */ - -@-webkit-keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.search__backdrop,.search__outer__wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:700}.search__backdrop{z-index:500;display:none;background-color:rgba(0,0,0,.502)}.search__outer{margin:auto;position:absolute;top:0;left:0;right:0;bottom:0;z-index:100000;height:80%;width:80%;max-height:1000px;max-width:1500px;padding:10px;overflow-y:scroll;border:1px solid #e0e0e0;line-height:1.875;background-color:#fcfcfc;-webkit-box-shadow:1px 3px 4px rgba(0,0,0,.09);box-shadow:1px 3px 4px rgba(0,0,0,.09);text-align:left}.search__outer::-webkit-scrollbar-track{border-radius:10px;background-color:#fcfcfc}.search__outer::-webkit-scrollbar{width:7px;height:7px;background-color:#fcfcfc}.search__outer::-webkit-scrollbar-thumb{border-radius:10px;background-color:#8f8f8f}.search__cross__img{width:15px;height:15px;margin:12px}.search__cross{position:absolute;top:0;right:0}.search__cross:hover{cursor:pointer}.search__outer__input{width:90%;height:30px;font-size:19px;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fcfcfc;border:0;border-bottom:1px solid #757575;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDUxIDQ1MSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDUxIDQ1MTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZD0iTTQ0Ny4wNSw0MjhsLTEwOS42LTEwOS42YzI5LjQtMzMuOCw0Ny4yLTc3LjksNDcuMi0xMjYuMUMzODQuNjUsODYuMiwyOTguMzUsMCwxOTIuMzUsMEM4Ni4yNSwwLDAuMDUsODYuMywwLjA1LDE5Mi4zDQoJCXM4Ni4zLDE5Mi4zLDE5Mi4zLDE5Mi4zYzQ4LjIsMCw5Mi4zLTE3LjgsMTI2LjEtNDcuMkw0MjguMDUsNDQ3YzIuNiwyLjYsNi4xLDQsOS41LDRzNi45LTEuMyw5LjUtNA0KCQlDNDUyLjI1LDQ0MS44LDQ1Mi4yNSw0MzMuMiw0NDcuMDUsNDI4eiBNMjYuOTUsMTkyLjNjMC05MS4yLDc0LjItMTY1LjMsMTY1LjMtMTY1LjNjOTEuMiwwLDE2NS4zLDc0LjIsMTY1LjMsMTY1LjMNCgkJcy03NC4xLDE2NS40LTE2NS4zLDE2NS40QzEwMS4xNSwzNTcuNywyNi45NSwyODMuNSwyNi45NSwxOTIuM3oiLz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K);background-repeat:no-repeat;background-position:left;background-size:15px 15px;padding-left:25px}.search__outer__input:focus{outline:0}.search__outer .bar{position:relative;display:block;width:90%;margin-bottom:15px}.search__outer .bar:after,.search__outer .bar:before{content:"";height:2px;width:0;bottom:1px;position:absolute;background:#5264ae;-webkit-transition:.2s ease all;-o-transition:.2s ease all;transition:.2s ease all}.search__outer .bar:before{left:50%}.search__outer .bar:after{right:50%}.search__outer__input:focus~.bar:after,.search__outer__input:focus~.bar:before{width:50%}.search__result__box{padding:0 10px}.search__result__single{margin-top:10px;border-bottom:1px solid #e6e6e6}.outer_div_page_results:hover,.search__result__box .active{background-color:#f5f5f5}.search__error__box{color:#000;min-width:300px;font-weight:700}.outer_div_page_results{margin:5px 0;overflow:auto;padding:3px 5px}.search__result__single a{text-decoration:none;cursor:pointer}.search__result__title{display:inline-block;font-weight:500;margin-bottom:15px;margin-top:0;font-size:15px;color:#6ea0ec;border-bottom:1px solid #6ea0ec}.search__result__subheading{color:#000;font-weight:700;float:left;width:20%;font-size:15px;margin-right:10px;word-break:break-all;overflow-x:hidden}.search__result__content{text-decoration:none;color:#000;font-size:15px;display:block;margin:0;line-height:inherit;float:right;width:calc(80% - 15px);text-align:left}.search__outer span{font-style:normal}.search__outer .search__result__title span{background-color:#e5f6ff;padding-bottom:3px;border-bottom-color:#000}.search__outer .search__result__content span{background-color:#e5f6ff;border-bottom:1px solid #000}.search__result__subheading span{border-bottom:1px solid #000}.br-for-hits{display:block;content:"";margin-top:10px}.rtd_ui_search_subtitle{all:unset;color:inherit;font-size:85%}.rtd__search__credits{margin:auto;position:absolute;top:0;left:0;right:0;bottom:calc(-80% - 20px);width:80%;max-width:1500px;height:30px;overflow:hidden;background:#eee;z-index:100000;border:1px solid #eee;padding:5px 10px;text-align:center;color:#000}.rtd__search__credits a{color:#000;text-decoration:underline}.search__domain_role_name{font-size:80%;letter-spacing:1px}.search__filters{padding:0 10px}.search__filters li,.search__filters ul{display:-webkit-box;display:-ms-flexbox;display:flex}.search__filters ul{list-style:none;padding:0;margin:0}.search__filters li{-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:15px}.search__filters label{margin:auto}.search__filters .search__filters__title,.search__filters label{color:#000;font-size:15px}@media (max-width:670px){.rtd__search__credits{height:50px;bottom:calc(-80% - 40px);overflow:hidden}}@media (min-height:1250px){.rtd__search__credits{bottom:calc(-1000px - 30px)}}@media (max-width:630px){.search__result__content,.search__result__subheading{float:none;width:90%}} \ No newline at end of file diff --git a/ble/_static/documentation_options.js b/ble/_static/documentation_options.js index 3485ac95..d1f22919 100644 --- a/ble/_static/documentation_options.js +++ b/ble/_static/documentation_options.js @@ -1,6 +1,3 @@ -/* 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 19 17:22:39 UTC 2024 */ - const DOCUMENTATION_OPTIONS = { VERSION: '0.0.1', LANGUAGE: 'en', diff --git a/ble/_static/jquery.js b/ble/_static/jquery.js index c18fd355..c4c6022f 100644 --- a/ble/_static/jquery.js +++ b/ble/_static/jquery.js @@ -1,5 +1,2 @@ -/* jquery.js/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */ -/* This copyright was auto-generated on Fri Apr 19 17:22:39 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=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,l=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){l=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(l)throw a}}}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);rSearching ....",a.appendChild(e);return debounce(function(){updateUrl(),updateSearchBar();var e=t+"?"+new URLSearchParams(r).toString();fetch(e,{method:"GET"}).then(function(e){if(!e.ok)throw new Error;return e.json()}).then(function(e){var t;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;t - - - - + + + -Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Access Point — Open GoPro BLE API 0.0.1 documentation - - - + + Access Point — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Camera on the Home Network — Open GoPro BLE API 0.0.1 documentation - - - + + Camera on the Home Network — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Control — Open GoPro BLE API 0.0.1 documentation - - - + + Control — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Hilights — Open GoPro BLE API 0.0.1 documentation - - - + + Hilights — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Live Streaming — Open GoPro BLE API 0.0.1 documentation - - - + + Live Streaming — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Presets — Open GoPro BLE API 0.0.1 documentation - - - + + Presets — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Query — Open GoPro BLE API 0.0.1 documentation - - - + + Query — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- --- ---- - ---- ---- - ---- ---- - ---- ---- - ---- ---- - - - - - - - - - <no title> — Open GoPro BLE API 0.0.1 documentation - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- - - -
-
- -
-
-
-
- - - - - - diff --git a/ble/features/setting_ids.html b/ble/features/setting_ids.html deleted file mode 100644 index c30ed683..00000000 --- a/ble/features/setting_ids.html +++ /dev/null @@ -1,2595 +0,0 @@ - - - - - - -Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- --- ---- - ---- ---- - ---- ---- - ---- ---- - ---- ---- - - - - - - - - - Setting IDs — Open GoPro BLE API 0.0.1 documentation - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- -
-

Setting IDs -

-
-

Resolution (2) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
14K -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
42.7K -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
62.7K 4:3 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
71440https://img.shields.io/badge/HERO9Black-e6194b
91080 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
184K 4:3 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
245Khttps://img.shields.io/badge/HERO9Black-e6194b
255K 4:3https://img.shields.io/badge/HERO10Black-3cb44b
265.3K 8:7 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
275.3K 4:3 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
284K 8:7 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
1005.3K -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
1075.3Khttps://img.shields.io/badge/HERO12Black-911eb4
1084Khttps://img.shields.io/badge/HERO12Black-911eb4
1094Khttps://img.shields.io/badge/HERO12Black-911eb4
1101080https://img.shields.io/badge/HERO12Black-911eb4
1112.7Khttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Frames Per Second (3) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0240 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
1120 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
2100 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
560 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
650 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
830 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
925 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
1024 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
13200 -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
-
-
-

FOV (43) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Wide -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
2Narrow -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
3Superview -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
4Linear -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
-
-
-

Auto Off (59) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Never -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
11 Min -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
45 Min -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
615 Min -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
730 Min -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
118 Secondshttps://img.shields.io/badge/HERO11BlackMini-f58231
1230 Secondshttps://img.shields.io/badge/HERO11BlackMini-f58231
-
-
-

Aspect Ratio (108) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
04:3https://img.shields.io/badge/HERO12Black-911eb4
116:9https://img.shields.io/badge/HERO12Black-911eb4
38:7https://img.shields.io/badge/HERO12Black-911eb4
49:16https://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Lens (121) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Wide -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
2Narrow -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b -
3Superview -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
4Linear -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
7Max SuperView -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
8Linear + Horizon Leveling -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
9HyperView -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
10Linear + Horizon Lock -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
11Max HyperViewhttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Lens (122) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
19Narrow -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b -
100Max SuperView -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
101Wide -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
102Linear -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-
-

Lens (123) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
19Narrow -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b -
100Max SuperViewhttps://img.shields.io/badge/HERO10Black-3cb44b
101Wide -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
102Linear -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-
-

Format (128) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
13Video -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
20Photo -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
21Photo -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
26Video -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-
-

Anti-Flicker (134) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
260Hz -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
350Hz -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
-
-
-

Hypersmooth (135) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Off -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -
1On -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
2High -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b -
3Boost -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
4Auto Boost -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
100Standardhttps://img.shields.io/badge/HERO10Black-3cb44b
-
-
-

Horizon Leveling (150) -

-https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Offhttps://img.shields.io/badge/HERO11Black-ffe119
2Lockedhttps://img.shields.io/badge/HERO11Black-ffe119
-
-
-

Horizon Leveling (151) -

-https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Offhttps://img.shields.io/badge/HERO11Black-ffe119
2Lockedhttps://img.shields.io/badge/HERO11Black-ffe119
-
-
-

Max Lens Mod Enable (162) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0OFF -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
1ON -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-
-

HindSight (167) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
215 Seconds -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
330 Seconds -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
4Off -https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-
-

Interval (171) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Offhttps://img.shields.io/badge/HERO12Black-911eb4
20.5shttps://img.shields.io/badge/HERO12Black-911eb4
31shttps://img.shields.io/badge/HERO12Black-911eb4
42shttps://img.shields.io/badge/HERO12Black-911eb4
55shttps://img.shields.io/badge/HERO12Black-911eb4
610shttps://img.shields.io/badge/HERO12Black-911eb4
730shttps://img.shields.io/badge/HERO12Black-911eb4
860shttps://img.shields.io/badge/HERO12Black-911eb4
9120shttps://img.shields.io/badge/HERO12Black-911eb4
103shttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Duration (172) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Offhttps://img.shields.io/badge/HERO12Black-911eb4
115 Secondshttps://img.shields.io/badge/HERO12Black-911eb4
230 Secondshttps://img.shields.io/badge/HERO12Black-911eb4
31 Minutehttps://img.shields.io/badge/HERO12Black-911eb4
45 Minuteshttps://img.shields.io/badge/HERO12Black-911eb4
515 Minuteshttps://img.shields.io/badge/HERO12Black-911eb4
630 Minuteshttps://img.shields.io/badge/HERO12Black-911eb4
71 Hourhttps://img.shields.io/badge/HERO12Black-911eb4
82 Hourshttps://img.shields.io/badge/HERO12Black-911eb4
93 Hourshttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Video Performance Modes (173) -

-https://img.shields.io/badge/HERO10Black-3cb44b - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Maximum Video Performancehttps://img.shields.io/badge/HERO10Black-3cb44b
1Extended Batteryhttps://img.shields.io/badge/HERO10Black-3cb44b
2Tripod / Stationary Videohttps://img.shields.io/badge/HERO10Black-3cb44b
-
-
-

Controls (175) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Easy -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11Black-ffe119 -
1Pro -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-
-

Speed (176) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
08x Ultra Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
14x Super Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
22x Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
31x Speed / Low Lighthttps://img.shields.io/badge/HERO11Black-ffe119
44x Super Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
52x Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
61x Speed / Low Lighthttps://img.shields.io/badge/HERO11Black-ffe119
78x Ultra Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
84x Super Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
92x Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
101x Speed / Low Lighthttps://img.shields.io/badge/HERO11Black-ffe119
114x Super Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
122x Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
131x Speed / Low Lighthttps://img.shields.io/badge/HERO11Black-ffe119
148x Ultra Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
158x Ultra Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
168x Ultra Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
174x Super Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
182x Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
191x Speed / Low Lighthttps://img.shields.io/badge/HERO11Black-ffe119
208x Ultra Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
214x Super Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
222x Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
231x Speed / Low Lighthttps://img.shields.io/badge/HERO11Black-ffe119
242x Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
254x Super Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
262x Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
274x Super Slo-Mohttps://img.shields.io/badge/HERO11Black-ffe119
1008X Ultra Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1014X Super Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1022X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1031X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1048X Ultra Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1054X Super Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1062X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1071X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1088X Ultra Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1094X Super Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1102X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1111X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1128X Ultra Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1134X Super Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1142X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1151X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1162X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1172X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1181X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1191X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1202X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1212X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1221X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1231X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1242X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1252X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1261X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1271X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1281X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1291X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1302X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1312X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1322X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1332X Slo-Mohttps://img.shields.io/badge/HERO12Black-911eb4
1341X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1351X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1361X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
1371X Speed / Low Lighthttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Night Photo (177) -

-https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Offhttps://img.shields.io/badge/HERO11Black-ffe119
1Onhttps://img.shields.io/badge/HERO11Black-ffe119
-
-
-

Wi-fi Band (178) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
02.4GHz -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
15GHz -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-
-

Trail Length (179) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
1Short -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
2Long -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
3Max -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-
-

Video Mode (180) -

-https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Highest Qualityhttps://img.shields.io/badge/HERO11Black-ffe119
101Extended Batteryhttps://img.shields.io/badge/HERO11Black-ffe119
102Longest Batteryhttps://img.shields.io/badge/HERO11Black-ffe119
-
-
-

Bit Rate (182) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Standardhttps://img.shields.io/badge/HERO12Black-911eb4
1Highhttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Bit Depth (183) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
08-Bithttps://img.shields.io/badge/HERO12Black-911eb4
210-Bithttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Profiles (184) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Standardhttps://img.shields.io/badge/HERO12Black-911eb4
1HDRhttps://img.shields.io/badge/HERO12Black-911eb4
2Loghttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Video Mode (186) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Highest Qualityhttps://img.shields.io/badge/HERO12Black-911eb4
1Standard Qualityhttps://img.shields.io/badge/HERO12Black-911eb4
2Basic Qualityhttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Lapse Mode (187) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0TimeWarphttps://img.shields.io/badge/HERO12Black-911eb4
1Star Trailshttps://img.shields.io/badge/HERO12Black-911eb4
2Light Paintinghttps://img.shields.io/badge/HERO12Black-911eb4
3Vehicle Lightshttps://img.shields.io/badge/HERO12Black-911eb4
4Max TimeWarphttps://img.shields.io/badge/HERO12Black-911eb4
5Max Star Trailshttps://img.shields.io/badge/HERO12Black-911eb4
6Max Light Paintinghttps://img.shields.io/badge/HERO12Black-911eb4
7Max Vehicle Lightshttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Max Lens Mod (189) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Nonehttps://img.shields.io/badge/HERO12Black-911eb4
1Max Lens 1.0https://img.shields.io/badge/HERO12Black-911eb4
2Max Lens 2.0https://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Max Lens Mod Enable (190) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Offhttps://img.shields.io/badge/HERO12Black-911eb4
1Onhttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Photo Mode (191) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Super Photohttps://img.shields.io/badge/HERO12Black-911eb4
1Night Photohttps://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Aspect Ratio (192) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
04:3https://img.shields.io/badge/HERO12Black-911eb4
116:9https://img.shields.io/badge/HERO12Black-911eb4
38:7https://img.shields.io/badge/HERO12Black-911eb4
-
-
-

Framing (193) -

-https://img.shields.io/badge/HERO12Black-911eb4 - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption NameSupported Cameras
0Widescreenhttps://img.shields.io/badge/HERO12Black-911eb4
1Verticalhttps://img.shields.io/badge/HERO12Black-911eb4
2Full Framehttps://img.shields.io/badge/HERO12Black-911eb4
-
-
- - -
-
- -
-
-
-
- - - - - - diff --git a/ble/features/settings.html b/ble/features/settings.html index a53a9808..713c26c7 100644 --- a/ble/features/settings.html +++ b/ble/features/settings.html @@ -1,157 +1,13 @@ - - - - + + + -Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Settings — Open GoPro BLE API 0.0.1 documentation - - - + + Settings — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- --- ---- - ---- ---- - ---- ---- - ---- ---- - ---- ---- - - - - - - - - - Status IDs — Open GoPro BLE API 0.0.1 documentation - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- -
-

Status IDs -

-
-

Is the system’s internal battery present? (1) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Rough approximation of internal battery level in bars (or charging) (2) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Zero
1One
2Two
3Three
4Charging
-
-
-

Is the system currently overheating? (6) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Is the camera busy? (8) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Is Quick Capture feature enabled? (9) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Is the system encoding right now? (10) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Is LCD lock active? (11) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

When encoding video, this is the duration (seconds) of the video so far; 0 otherwise (13) -

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

Are Wireless Connections enabled? (17) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

The pairing state of the camera (19) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Never Started
1Started
2Aborted
3Cancelled
4Completed
-
-
-

The last type of pairing in which the camera was engaged (20) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Not Pairing
1Pairing App
2Pairing Remote Control
3Pairing Bluetooth Device
-
-
-

Time since boot (milliseconds) of last successful pairing complete action (21) -

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

State of current scan for WiFi Access Points (22) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Never started
1Started
2Aborted
3Canceled
4Completed
-
-
-

Time since boot (milliseconds) that the WiFi Access Point scan completed (23) -

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

WiFi AP provisioning state (24) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Never started
1Started
2Aborted
3Canceled
4Completed
-
-
-

Wireless remote control version (26) -

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

Is a wireless remote control connected? (27) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Wireless Pairing State. Each bit contains state information (see WirelessPairingStateFlags) (28) -

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

SSID of the AP the camera is currently connected to. On BLE connection, value is big-endian byte-encoded int32 (29) -

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

This is a string vlaue.

-
-
-

The camera’s WiFi SSID. On BLE connection, value is big-endian byte-encoded int32 (30) -

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

This is a string vlaue.

-
-
-

The number of wireless devices connected to the camera (31) -

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

Is Preview Stream enabled? (32) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Primary Storage Status (33) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
-1Unknown
0OK
1SD Card Full
2SD Card Removed
3SD Card Format Error
4SD Card Busy
8SD Card Swapped
-
-
-

How many photos can be taken with current settings before sdcard is full (34) -

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

How many minutes of video can be captured with current settings before sdcard is full (35) -

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

Total number of photos on sdcard (38) -

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

Total number of videos on sdcard (39) -

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

The current status of Over The Air (OTA) update (41) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Idle
1Downloading
2Verifying
3Download Failed
4Verify Failed
5Ready
6GoPro App: Downloading
7GoPro App: Verifying
8GoPro App: Download Failed
9GoPro App: Verify Failed
10GoPro App: Ready
-
-
-

Is there a pending request to cancel a firmware update download? (42) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Is locate camera feature active? (45) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

The current timelapse interval countdown value (e.g. 5…4…3…2…1…) (49) -

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

Remaining space on the sdcard in Kilobytes (54) -

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

Is preview stream supported in current recording/mode/secondary-stream? (55) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

WiFi signal strength in bars (56) -

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

The number of hilights in currently-encoding video (value is set to 0 when encoding stops) (58) -

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

Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops) (59) -

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

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

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -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/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b -
-
-

Liveview Exposure Select Mode (65) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Disabled
1Auto
2ISO Lock
3Hemisphere
-
-
-

Liveview Exposure Select: y-coordinate (percent) (66) -

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

This is a percent value from 0-100.

-
-
-

Liveview Exposure Select: y-coordinate (percent) (67) -

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

This is a percent value from 0-100.

-
-
-

Does the camera currently have a GPS lock? (68) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Is the camera in AP Mode? (69) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Internal battery level (percent) (70) -

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

This is a percent value from 0-100.

-
-
-

Microphone Accessory status (74) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Accessory not connected
1Accessory connected
2Accessory connected and a microphone is plugged into the accessory
-
-
-

Digital Zoom level (percent) (75) -

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

This is a percent value from 0-100.

-
-
-

Wireless Band (76) -

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

Is Digital Zoom feature available? (77) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
- -
-

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

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Is 5GHz wireless band available? (81) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Is the system fully booted and ready to accept commands? (82) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

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

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Is the camera getting too cold to continue recording? (85) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Rotational orientation of the camera (86) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
00 degrees (upright)
1180 degrees (upside down)
290 degrees (laying on right side)
3270 degrees (laying on left side)
-
-
-

Is this camera model capable of zooming while encoding? (88) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Current Flatmode ID (89) -

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

Current Video Preset (ID) (93) -

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

Current Photo Preset (ID) (94) -

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

Current Time Lapse Preset (ID) (95) -

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

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

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

Current Preset (ID) (97) -

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

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

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

The number of Live Bursts can be captured with current settings before sdcard is full (99) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-

Total number of Live Bursts on sdcard (100) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 -
-
-

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

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Media Mod state (102) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Media Mod microphone removed
2Media Mod microphone only
3Media Mod microphone with external microphone
-
-
-

Time Warp Speed (103) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
015x
130x
260x
3150x
4300x
5900x
61800x
72x
85x
910x
10Auto
111x (realtime)
121/2x (slow-motion)
-
-
-

Is the system’s Linux core active? (104) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO10Black-3cb44b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

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

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Default
1Max Lens
2Max Lens 2.0
-
-
-

Is Video Hindsight Capture Active? (106) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Scheduled Capture Preset ID (107) -

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

Is Scheduled Capture set? (108) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Display Mod Status (bitmasked) (110) -

-https://img.shields.io/badge/HERO9Black-e6194b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0000 = Display Mod: 0, HDMI: 0, Display Mod Connected: False
1001 = Display Mod: 0, HDMI: 0, Display Mod Connected: True
2010 = Display Mod: 0, HDMI: 1, Display Mod Connected: False
3011 = Display Mod: 0, HDMI: 1, Display Mod Connected: True
4100 = Display Mod: 1, HDMI: 0, Display Mod Connected: False
5101 = Display Mod: 1, HDMI: 0, Display Mod Connected: True
6110 = Display Mod: 1, HDMI: 1, Display Mod Connected: False
7111 = Display Mod: 1, HDMI: 1, Display Mod Connected: True
-
-
-

Does sdcard meet specified minimum write speed? (111) -

-https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Number of sdcard write speed errors since device booted (112) -

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

Is Turbo Transfer active? (113) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -https://img.shields.io/badge/HERO9Black-e6194b - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Camera control status ID (114) -

-https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - - - - - -
IDOption Name
0Camera Idle: No one is attempting to change camera settings
1Camera Control: Camera is in a menu or changing settings. To intervene, app must request control
2Camera External Control: An outside entity (app) has control and is in a menu or modifying settings
-
-
-

Is the camera connected to a PC via USB? (115) -

-https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - -
IDOption Name
0False
1True
-
-
-

Camera control over USB state (116) -

-https://img.shields.io/badge/HERO10Black-3cb44b -https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 - - - - - - - - - - - - - - - - - -
IDOption Name
0Disabled
1Enabled
-
-
-

Total SD card capacity in Kilobytes (117) -

-https://img.shields.io/badge/HERO12Black-911eb4 -https://img.shields.io/badge/HERO11BlackMini-f58231 -https://img.shields.io/badge/HERO11Black-ffe119 -
-
- - -
-
- -
-
-
-
- - - - - - diff --git a/ble/features/statuses.html b/ble/features/statuses.html index be78f182..3595abc4 100644 --- a/ble/features/statuses.html +++ b/ble/features/statuses.html @@ -1,157 +1,13 @@ - - - - + + + -Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Statuses — Open GoPro BLE API 0.0.1 documentation - - - + + Statuses — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - Index — Open GoPro BLE API 0.0.1 documentation - - - + + + + + Index — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Welcome to Open GoPro BLE API’s documentation! — Open GoPro BLE API 0.0.1 documentation - - - + + Welcome to Open GoPro BLE API’s documentation! — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - operation index — Open GoPro BLE API 0.0.1 documentation - - - + + + + + operation index — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Protocol — Open GoPro BLE API 0.0.1 documentation - - - + + Protocol — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - BLE Setup — Open GoPro BLE API 0.0.1 documentation - - - + + BLE Setup — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Data Protocol — Open GoPro BLE API 0.0.1 documentation - - - + + Data Protocol — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - ID Tables — Open GoPro BLE API 0.0.1 documentation - - - + + ID Tables — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - Protobuf Documentation — Open GoPro BLE API 0.0.1 documentation - - - + + Protobuf Documentation — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - - - State Management — Open GoPro BLE API 0.0.1 documentation - - - + + State Management — Open GoPro BLE API 0.0.1 documentation + + + Open GoPro - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
- - - - - - Search — Open GoPro BLE API 0.0.1 documentation - - - + + + + + Search — Open GoPro BLE API 0.0.1 documentation + + + @@ -165,15 +22,15 @@ - - - + + + - +
-
@@ -591,10 +416,10 @@