diff --git a/ble/operation-operation_index.html b/ble/operation-operation_index.html
index 5be7c227..91f3640c 100644
--- a/ble/operation-operation_index.html
+++ b/ble/operation-operation_index.html
@@ -1346,7 +1346,7 @@
operation index
-Setting 3 (Frames Per Second)
(features/settings)
+Setting 150 (Video Horizon Leveling)
(features/settings)
Setting
@@ -1354,7 +1354,7 @@ operation index
-Setting 121 (Video Lens)
(features/settings)
+Setting 167 (HindSight)
(features/settings)
Setting
@@ -1362,7 +1362,7 @@ operation index
-Setting 184 (Profiles)
(features/settings)
+Setting 183 (Bit Depth)
(features/settings)
Setting
@@ -1370,7 +1370,7 @@ operation index
-Setting 173 (Video Performance Mode)
(features/settings)
+Setting 172 (Photo Interval Duration)
(features/settings)
Setting
@@ -1378,7 +1378,7 @@ operation index
-Setting 2 (Video Resolution)
(features/settings)
+Setting 176 (Easy Mode Speed)
(features/settings)
Setting
@@ -1386,7 +1386,7 @@ operation index
-Setting 187 (Lapse Mode)
(features/settings)
+Setting 83 (GPS)
(features/settings)
Setting
@@ -1394,7 +1394,7 @@ operation index
-Setting 108 (Video Aspect Ratio)
(features/settings)
+Setting 2 (Video Resolution)
(features/settings)
Setting
@@ -1402,7 +1402,7 @@ operation index
-Setting 189 (Max Lens Mod)
(features/settings)
+Setting 135 (Hypersmooth)
(features/settings)
Setting
@@ -1410,7 +1410,7 @@ operation index
-Setting 180 (System Video Mode)
(features/settings)
+Setting 175 (Controls)
(features/settings)
Setting
@@ -1418,7 +1418,7 @@ operation index
-Setting 151 (Photo Horizon Leveling)
(features/settings)
+Setting 187 (Lapse Mode)
(features/settings)
Setting
@@ -1426,7 +1426,7 @@ operation index
-Setting 182 (Video Bit Rate)
(features/settings)
+Setting 134 (Setup Anti-Flicker)
(features/settings)
Setting
@@ -1434,7 +1434,7 @@ operation index
-Setting 43 (Webcam Digital Lenses)
(features/settings)
+Setting 190 (Max Lens Mod Enable)
(features/settings)
Setting
@@ -1442,7 +1442,7 @@ operation index
-Setting 122 (Photo Lens)
(features/settings)
+Setting 43 (Webcam Digital Lenses)
(features/settings)
Setting
@@ -1450,7 +1450,7 @@ operation index
-Setting 190 (Max Lens Mod Enable)
(features/settings)
+Setting 121 (Video Lens)
(features/settings)
Setting
@@ -1458,7 +1458,7 @@ operation index
-Setting 193 (Framing)
(features/settings)
+Setting 128 (Media Format)
(features/settings)
Setting
@@ -1466,7 +1466,7 @@ operation index
-Setting 83 (GPS)
(features/settings)
+Setting 151 (Photo Horizon Leveling)
(features/settings)
Setting
@@ -1474,7 +1474,7 @@ operation index
-Setting 162 (Max Lens)
(features/settings)
+Setting 177 (Enable Night Photo)
(features/settings)
Setting
@@ -1482,7 +1482,7 @@ operation index
-Setting 123 (Time Lapse Digital Lenses)
(features/settings)
+Setting 180 (System Video Mode)
(features/settings)
Setting
@@ -1490,7 +1490,7 @@ operation index
-Setting 183 (Bit Depth)
(features/settings)
+Setting 193 (Framing)
(features/settings)
Setting
@@ -1498,7 +1498,7 @@ operation index
-Setting 191 (Photo Mode)
(features/settings)
+Setting 182 (Video Bit Rate)
(features/settings)
Setting
@@ -1506,7 +1506,7 @@ operation index
-Setting 172 (Photo Interval Duration)
(features/settings)
+Setting 59 (Auto Power Down)
(features/settings)
Setting
@@ -1514,7 +1514,7 @@ operation index
-Setting 59 (Auto Power Down)
(features/settings)
+Setting 191 (Photo Mode)
(features/settings)
Setting
@@ -1522,7 +1522,7 @@ operation index
-Setting 186 (Video Easy Mode)
(features/settings)
+Setting 123 (Time Lapse Digital Lenses)
(features/settings)
Setting
@@ -1530,7 +1530,7 @@ operation index
-Setting 171 (Photo Single Interval)
(features/settings)
+Setting 184 (Profiles)
(features/settings)
Setting
@@ -1538,7 +1538,7 @@ operation index
-Setting 192 (Multi Shot Aspect Ratio)
(features/settings)
+Setting 171 (Photo Single Interval)
(features/settings)
Setting
@@ -1546,7 +1546,7 @@ operation index
-Setting 179 (Trail Length)
(features/settings)
+Setting 189 (Max Lens Mod)
(features/settings)
Setting
@@ -1554,7 +1554,7 @@ operation index
-Setting 167 (HindSight)
(features/settings)
+Setting 178 (Wireless Band)
(features/settings)
Setting
@@ -1562,7 +1562,7 @@ operation index
-Setting 128 (Media Format)
(features/settings)
+Setting 108 (Video Aspect Ratio)
(features/settings)
Setting
@@ -1570,7 +1570,7 @@ operation index
-Setting 135 (Hypersmooth)
(features/settings)
+Setting 192 (Multi Shot Aspect Ratio)
(features/settings)
Setting
@@ -1578,7 +1578,7 @@ operation index
-Setting 134 (Setup Anti-Flicker)
(features/settings)
+Setting 179 (Trail Length)
(features/settings)
Setting
@@ -1586,7 +1586,7 @@ operation index
-Setting 150 (Video Horizon Leveling)
(features/settings)
+Setting 173 (Video Performance Mode)
(features/settings)
Setting
@@ -1594,7 +1594,7 @@ operation index
-Setting 176 (Easy Mode Speed)
(features/settings)
+Setting 186 (Video Easy Mode)
(features/settings)
Setting
@@ -1602,7 +1602,7 @@ operation index
-Setting 177 (Enable Night Photo)
(features/settings)
+Setting 3 (Frames Per Second)
(features/settings)
Setting
@@ -1610,7 +1610,7 @@ operation index
-Setting 175 (Controls)
(features/settings)
+Setting 162 (Max Lens)
(features/settings)
Setting
@@ -1618,7 +1618,7 @@ operation index
-Setting 178 (Wireless Band)
(features/settings)
+Setting 122 (Photo Lens)
(features/settings)
Setting
@@ -1626,7 +1626,7 @@ operation index
-Status 66 (Liveview Exposure Select: y-coordinate (percent))
(features/statuses)
+Status 28 (Wireless Pairing State. Each bit contains state information (see WirelessPairingStateFlags))
(features/statuses)
Status
@@ -1634,7 +1634,7 @@ operation index
-Status 32 (Is Preview Stream enabled?)
(features/statuses)
+Status 6 (Is the system currently overheating?)
(features/statuses)
Status
@@ -1642,7 +1642,7 @@ operation index
-Status 60 (The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this)
(features/statuses)
+Status 10 (Is the system currently encoding?)
(features/statuses)
Status
@@ -1650,7 +1650,7 @@ operation index
-Status 59 (Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops))
(features/statuses)
+Status 89 (Current Flatmode ID)
(features/statuses)
Status
@@ -1658,7 +1658,7 @@ operation index
-Status 33 (Primary Storage Status)
(features/statuses)
+Status 38 (Total number of photos on sdcard)
(features/statuses)
Status
@@ -1666,7 +1666,7 @@ operation index
-Status 70 (Internal battery level (percent))
(features/statuses)
+Status 106 (Is Video Hindsight Capture Active?)
(features/statuses)
Status
@@ -1674,7 +1674,7 @@ operation index
-Status 39 (Total number of videos on sdcard)
(features/statuses)
+Status 32 (Is Preview Stream enabled?)
(features/statuses)
Status
@@ -1682,7 +1682,7 @@ operation index
-Status 82 (Is the system fully booted and ready to accept commands?)
(features/statuses)
+Status 96 (Current Preset Group (ID) (corresponds to ui_mode_groups in settings.json))
(features/statuses)
Status
@@ -1690,7 +1690,7 @@ operation index
-Status 103 (Time Warp Speed)
(features/statuses)
+Status 110 (Display Mod Status (bitmasked))
(features/statuses)
Status
@@ -1698,7 +1698,7 @@ operation index
-Status 101 (Is Capture Delay currently active (i.e. counting down)?)
(features/statuses)
+Status 1 (Is the system's internal battery present?)
(features/statuses)
Status
@@ -1706,7 +1706,7 @@ operation index
-Status 23 (Time since boot (milliseconds) that the WiFi Access Point scan completed)
(features/statuses)
+Status 31 (The number of wireless devices connected to the camera)
(features/statuses)
Status
@@ -1714,7 +1714,7 @@ operation index
-Status 81 (Is 5GHz wireless band available?)
(features/statuses)
+Status 85 (Is the camera getting too cold to continue recording?)
(features/statuses)
Status
@@ -1722,7 +1722,7 @@ operation index
-Status 8 (Is the camera busy?)
(features/statuses)
+Status 58 (The number of hilights in currently-encoding video (value is set to 0 when encoding stops))
(features/statuses)
Status
@@ -1730,7 +1730,7 @@ operation index
-Status 17 (Are Wireless Connections enabled?)
(features/statuses)
+Status 94 (Current Photo Preset (ID))
(features/statuses)
Status
@@ -1738,7 +1738,7 @@ operation index
-Status 30 (The camera's WiFi SSID. On BLE connection, value is big-endian byte-encoded int32)
(features/statuses)
+Status 2 (Rough approximation of internal battery level in bars (or charging))
(features/statuses)
Status
@@ -1746,7 +1746,7 @@ operation index
-Status 100 (Total number of Live Bursts on sdcard)
(features/statuses)
+Status 79 (Is the camera currently in First Time Use (FTU) UI flow?)
(features/statuses)
Status
@@ -1754,7 +1754,7 @@ operation index
-Status 22 (State of current scan for WiFi Access Points)
(features/statuses)
+Status 117 (Total SD card capacity in Kilobytes)
(features/statuses)
Status
@@ -1762,7 +1762,7 @@ operation index
-Status 89 (Current Flatmode ID)
(features/statuses)
+Status 20 (The last type of pairing in which the camera was engaged)
(features/statuses)
Status
@@ -1770,7 +1770,7 @@ operation index
-Status 2 (Rough approximation of internal battery level in bars (or charging))
(features/statuses)
+Status 59 (Time since boot (milliseconds) of most recent hilight in encoding video (set to 0 when encoding stops))
(features/statuses)
Status
@@ -1778,7 +1778,7 @@ operation index
-Status 78 (Are current video settings mobile friendly? (related to video compression and frame rate))
(features/statuses)
+Status 42 (Is there a pending request to cancel a firmware update download?)
(features/statuses)
Status
@@ -1786,7 +1786,7 @@ operation index
-Status 28 (Wireless Pairing State. Each bit contains state information (see WirelessPairingStateFlags))
(features/statuses)
+Status 17 (Are Wireless Connections enabled?)
(features/statuses)
Status
@@ -1794,7 +1794,7 @@ operation index
-Status 65 (Liveview Exposure Select Mode)
(features/statuses)
+Status 97 (Current Preset (ID))
(features/statuses)
Status
@@ -1802,7 +1802,7 @@ operation index
-Status 45 (Is locate camera feature active?)
(features/statuses)
+Status 60 (The minimum time between camera status updates (milliseconds). Best practice is to not poll for status more often than this)
(features/statuses)
Status
@@ -1810,7 +1810,7 @@ operation index
-Status 94 (Current Photo Preset (ID))
(features/statuses)
+Status 118 (Photo interval capture count)
(features/statuses)
Status
@@ -1818,7 +1818,7 @@ operation index
-Status 10 (Is the system currently encoding?)
(features/statuses)
+Status 116 (Camera control over USB state)
(features/statuses)
Status
@@ -1826,7 +1826,7 @@ operation index
-Status 24 (WiFi AP provisioning state)
(features/statuses)
+Status 65 (Liveview Exposure Select Mode)
(features/statuses)
Status
@@ -1834,7 +1834,7 @@ operation index
-Status 96 (Current Preset Group (ID) (corresponds to ui_mode_groups in settings.json))
(features/statuses)
+Status 115 (Is the camera connected to a PC via USB?)
(features/statuses)
Status
@@ -1842,7 +1842,7 @@ operation index
-Status 117 (Total SD card capacity in Kilobytes)
(features/statuses)
+Status 107 (Scheduled Capture Preset ID)
(features/statuses)
Status
@@ -1850,7 +1850,7 @@ operation index
-Status 56 (WiFi signal strength in bars)
(features/statuses)
+Status 13 (When encoding video, this is the duration (seconds) of the video so far; 0 otherwise)
(features/statuses)
Status
@@ -1858,7 +1858,7 @@ operation index
-Status 58 (The number of hilights in currently-encoding video (value is set to 0 when encoding stops))
(features/statuses)
+Status 113 (Is Turbo Transfer active?)
(features/statuses)
Status
@@ -1866,7 +1866,7 @@ operation index
-Status 11 (Is LCD lock active?)
(features/statuses)
+Status 54 (Remaining space on the sdcard in Kilobytes)
(features/statuses)
Status
@@ -1874,7 +1874,7 @@ operation index
-Status 54 (Remaining space on the sdcard in Kilobytes)
(features/statuses)
+Status 70 (Internal battery level (percent))
(features/statuses)
Status
@@ -1882,7 +1882,7 @@ operation index
-Status 113 (Is Turbo Transfer active?)
(features/statuses)
+Status 56 (WiFi signal strength in bars)
(features/statuses)
Status
@@ -1890,7 +1890,7 @@ operation index
-Status 77 (Is Digital Zoom feature available?)
(features/statuses)
+Status 100 (Total number of Live Bursts on sdcard)
(features/statuses)
Status
@@ -1898,7 +1898,7 @@ operation index
-Status 27 (Is a wireless remote control connected?)
(features/statuses)
+Status 98 (Preset Modified Status, which contains an event ID and a Preset (Group) ID)
(features/statuses)
Status
@@ -1906,7 +1906,7 @@ operation index
-Status 104 (Is the system's Linux core active?)
(features/statuses)
+Status 86 (Rotational orientation of the camera)
(features/statuses)
Status
@@ -1914,7 +1914,7 @@ operation index
-Status 115 (Is the camera connected to a PC via USB?)
(features/statuses)
+Status 41 (The current status of Over The Air (OTA) update)
(features/statuses)
Status
@@ -1922,7 +1922,7 @@ operation index
-Status 74 (Microphone Accessory status)
(features/statuses)
+Status 101 (Is Capture Delay currently active (i.e. counting down)?)
(features/statuses)
Status
@@ -1930,7 +1930,7 @@ operation index
-Status 98 (Preset Modified Status, which contains an event ID and a Preset (Group) ID)
(features/statuses)
+Status 21 (Time since boot (milliseconds) of last successful pairing complete action)
(features/statuses)
Status
@@ -1938,7 +1938,7 @@ operation index
-Status 69 (Is AP mode enabled?)
(features/statuses)
+Status 77 (Is Digital Zoom feature available?)
(features/statuses)
Status
@@ -1946,7 +1946,7 @@ operation index
-Status 112 (Number of sdcard write speed errors since device booted)
(features/statuses)
+Status 26 (Wireless remote control version)
(features/statuses)
Status
@@ -1954,7 +1954,7 @@ operation index
-Status 86 (Rotational orientation of the camera)
(features/statuses)
+Status 29 (SSID of the AP the camera is currently connected to. On BLE connection, value is big-endian byte-encoded int32)
(features/statuses)
Status
@@ -1962,7 +1962,7 @@ operation index
-Status 76 (Wireless Band)
(features/statuses)
+Status 111 (Does sdcard meet specified minimum write speed?)
(features/statuses)
Status
@@ -1970,7 +1970,7 @@ operation index
-Status 83 (Is the internal battery charged sufficiently to start Over The Air (OTA) update?)
(features/statuses)
+Status 9 (Is Quick Capture feature enabled?)
(features/statuses)
Status
@@ -1978,7 +1978,7 @@ operation index
-Status 88 (Is this camera model capable of zooming while encoding?)
(features/statuses)
+Status 34 (How many photos can be taken with current settings before sdcard is full)
(features/statuses)
Status
@@ -1986,7 +1986,7 @@ operation index
-Status 21 (Time since boot (milliseconds) of last successful pairing complete action)
(features/statuses)
+Status 102 (Media Mod state)
(features/statuses)
Status
@@ -1994,7 +1994,7 @@ operation index
-Status 114 (Camera control status ID)
(features/statuses)
+Status 81 (Is 5GHz wireless band available?)
(features/statuses)
Status
@@ -2002,7 +2002,7 @@ operation index
-Status 1 (Is the system's internal battery present?)
(features/statuses)
+Status 112 (Number of sdcard write speed errors since device booted)
(features/statuses)
Status
@@ -2010,7 +2010,7 @@ operation index
-Status 55 (Is preview stream supported in current recording/mode/secondary-stream?)
(features/statuses)
+Status 68 (Does the camera currently have a GPS lock?)
(features/statuses)
Status
@@ -2018,7 +2018,7 @@ operation index
-Status 85 (Is the camera getting too cold to continue recording?)
(features/statuses)
+Status 95 (Current Time Lapse Preset (ID))
(features/statuses)
Status
@@ -2026,7 +2026,7 @@ operation index
-Status 99 (The number of Live Bursts can be captured with current settings before sdcard is full)
(features/statuses)
+Status 22 (State of current scan for WiFi Access Points)
(features/statuses)
Status
@@ -2034,7 +2034,7 @@ operation index
-Status 34 (How many photos can be taken with current settings before sdcard is full)
(features/statuses)
+Status 108 (Is Scheduled Capture set?)
(features/statuses)
Status
@@ -2042,7 +2042,7 @@ operation index
-Status 118 (Photo interval capture count)
(features/statuses)
+Status 27 (Is a wireless remote control connected?)
(features/statuses)
Status
@@ -2050,7 +2050,7 @@ operation index
-Status 107 (Scheduled Capture Preset ID)
(features/statuses)
+Status 69 (Is AP mode enabled?)
(features/statuses)
Status
@@ -2058,7 +2058,7 @@ operation index
-Status 102 (Media Mod state)
(features/statuses)
+Status 74 (Microphone Accessory status)
(features/statuses)
Status
@@ -2074,7 +2074,7 @@ operation index
-Status 106 (Is Video Hindsight Capture Active?)
(features/statuses)
+Status 45 (Is locate camera feature active?)
(features/statuses)
Status
@@ -2082,7 +2082,7 @@ operation index
-Status 108 (Is Scheduled Capture set?)
(features/statuses)
+Status 8 (Is the camera busy?)
(features/statuses)
Status
@@ -2090,7 +2090,7 @@ operation index
-Status 116 (Camera control over USB state)
(features/statuses)
+Status 88 (Is this camera model capable of zooming while encoding?)
(features/statuses)
Status
@@ -2098,7 +2098,7 @@ operation index
-Status 110 (Display Mod Status (bitmasked))
(features/statuses)
+Status 35 (How many minutes of video can be captured with current settings before sdcard is full)
(features/statuses)
Status
@@ -2106,7 +2106,7 @@ operation index
-Status 42 (Is there a pending request to cancel a firmware update download?)
(features/statuses)
+Status 49 (The current timelapse interval countdown value (e.g. 5...4...3...2...1...))
(features/statuses)
Status
@@ -2114,7 +2114,7 @@ operation index
-Status 26 (Wireless remote control version)
(features/statuses)
+Status 78 (Are current video settings mobile friendly? (related to video compression and frame rate))
(features/statuses)
Status
@@ -2122,7 +2122,7 @@ operation index
-Status 13 (When encoding video, this is the duration (seconds) of the video so far; 0 otherwise)
(features/statuses)
+Status 30 (The camera's WiFi SSID. On BLE connection, value is big-endian byte-encoded int32)
(features/statuses)
Status
@@ -2130,7 +2130,7 @@ operation index
-Status 38 (Total number of photos on sdcard)
(features/statuses)
+Status 114 (Camera control status ID)
(features/statuses)
Status
@@ -2138,7 +2138,7 @@ operation index
-Status 111 (Does sdcard meet specified minimum write speed?)
(features/statuses)
+Status 83 (Is the internal battery charged sufficiently to start Over The Air (OTA) update?)
(features/statuses)
Status
@@ -2146,7 +2146,7 @@ operation index
-Status 97 (Current Preset (ID))
(features/statuses)
+Status 105 (Camera lens type (reflects changes to lens settings such as 162, 189, 194, ...))
(features/statuses)
Status
@@ -2154,7 +2154,7 @@ operation index
-Status 105 (Camera lens type (reflects changes to lens settings such as 162, 189, 194, ...))
(features/statuses)
+Status 76 (Wireless Band)
(features/statuses)
Status
@@ -2162,7 +2162,7 @@ operation index
-Status 67 (Liveview Exposure Select: y-coordinate (percent))
(features/statuses)
+Status 24 (WiFi AP provisioning state)
(features/statuses)
Status
@@ -2170,7 +2170,7 @@ operation index
-Status 35 (How many minutes of video can be captured with current settings before sdcard is full)
(features/statuses)
+Status 66 (Liveview Exposure Select: y-coordinate (percent))
(features/statuses)
Status
@@ -2178,7 +2178,7 @@ operation index
-Status 20 (The last type of pairing in which the camera was engaged)
(features/statuses)
+Status 39 (Total number of videos on sdcard)
(features/statuses)
Status
@@ -2186,7 +2186,7 @@ operation index
-Status 93 (Current Video Preset (ID))
(features/statuses)
+Status 104 (Is the system's Linux core active?)
(features/statuses)
Status
@@ -2194,7 +2194,7 @@ operation index
-Status 9 (Is Quick Capture feature enabled?)
(features/statuses)
+Status 103 (Time Warp Speed)
(features/statuses)
Status
@@ -2202,7 +2202,7 @@ operation index
-Status 6 (Is the system currently overheating?)
(features/statuses)
+Status 19 (The pairing state of the camera)
(features/statuses)
Status
@@ -2210,7 +2210,7 @@ operation index
-Status 29 (SSID of the AP the camera is currently connected to. On BLE connection, value is big-endian byte-encoded int32)
(features/statuses)
+Status 33 (Primary Storage Status)
(features/statuses)
Status
@@ -2218,7 +2218,7 @@ operation index
-Status 41 (The current status of Over The Air (OTA) update)
(features/statuses)
+Status 67 (Liveview Exposure Select: y-coordinate (percent))
(features/statuses)
Status
@@ -2226,7 +2226,7 @@ operation index
-Status 79 (Is the camera currently in First Time Use (FTU) UI flow?)
(features/statuses)
+Status 93 (Current Video Preset (ID))
(features/statuses)
Status
@@ -2234,7 +2234,7 @@ operation index
-Status 19 (The pairing state of the camera)
(features/statuses)
+Status 82 (Is the system fully booted and ready to accept commands?)
(features/statuses)
Status
@@ -2242,7 +2242,7 @@ operation index
-Status 49 (The current timelapse interval countdown value (e.g. 5...4...3...2...1...))
(features/statuses)
+Status 11 (Is LCD lock active?)
(features/statuses)
Status
@@ -2250,7 +2250,7 @@ operation index
-Status 95 (Current Time Lapse Preset (ID))
(features/statuses)
+Status 99 (The number of Live Bursts can be captured with current settings before sdcard is full)
(features/statuses)
Status
@@ -2258,7 +2258,7 @@ operation index
-Status 68 (Does the camera currently have a GPS lock?)
(features/statuses)
+Status 55 (Is preview stream supported in current recording/mode/secondary-stream?)
(features/statuses)
Status
@@ -2266,7 +2266,7 @@ operation index
-Status 31 (The number of wireless devices connected to the camera)
(features/statuses)
+Status 23 (Time since boot (milliseconds) that the WiFi Access Point scan completed)
(features/statuses)
Status
diff --git a/contribution.html b/contribution.html
index fc9e352e..cb3f67a8 100644
--- a/contribution.html
+++ b/contribution.html
@@ -21,7 +21,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
@@ -202,7 +202,7 @@
@@ -210,7 +210,7 @@
-
+
-
What is the question?
-
+
What is the question?
+
A: Option 1 (this one is correct)
@@ -537,10 +537,10 @@
Quiz
-
Submit Answer
-
-
Correct!! ๐
-
Incorrect!! ๐ญ The correct answer is A.
+
Submit Answer
+
+ Correct!! ๐
+ Incorrect!! ๐ญ The correct answer is A.
And here is some more info
@@ -556,10 +556,10 @@
Quiz
%}
-
+
-
True or False?
-
+
True or False?
+
True: Option 1(this one is correct)
@@ -569,10 +569,10 @@
Quiz
-
Submit Answer
-
-
Correct!! ๐
-
Incorrect!! ๐ญ The correct answer is True.
+
Submit Answer
+
+ Correct!! ๐
+ Incorrect!! ๐ญ The correct answer is True.
And here is some more info
@@ -595,7 +595,7 @@
Tabs
-
+
tab1
@@ -610,7 +610,7 @@ Tabs
-
+
This is the content of the first tab.
diff --git a/faq.html b/faq.html
index b1bb111c..79c0e67e 100644
--- a/faq.html
+++ b/faq.html
@@ -21,7 +21,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
@@ -202,7 +202,7 @@
@@ -210,7 +210,7 @@
- GoPro
+ GoPro
@@ -327,7 +327,7 @@
- FAQ and Known Issues
+ FAQ and Known Issues
diff --git a/feed.xml b/feed.xml
index ec92fefe..b60955bf 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1 +1 @@
-Jekyll 2024-05-06T16:23:07-07:00 http://jekyll:4998//OpenGoPro/feed.xml Open GoPro Open Source GoPro Interface GoPro
\ No newline at end of file
+Jekyll 2024-05-06T18:28:17-07:00 https://gopro.github.io/OpenGoPro/feed.xml Open GoPro Open Source GoPro Interface GoPro
\ No newline at end of file
diff --git a/index.html b/index.html
index 7e8b56e5..0e7f290e 100644
--- a/index.html
+++ b/index.html
@@ -21,14 +21,14 @@
-
+
-
+
@@ -39,7 +39,7 @@
-
+
@@ -50,7 +50,7 @@
"@context": "https://schema.org",
"@type": "Person",
"name": "GoPro",
- "url": "http://jekyll:4998//OpenGoPro/"
+ "url": "https://gopro.github.io/OpenGoPro/"
}
diff --git a/robots.txt b/robots.txt
index 4c5b9ee8..fc300e16 100644
--- a/robots.txt
+++ b/robots.txt
@@ -1 +1 @@
-Sitemap: http://jekyll:4998//OpenGoPro/sitemap.xml
+Sitemap: https://gopro.github.io/OpenGoPro/sitemap.xml
diff --git a/sitemap.xml b/sitemap.xml
index 9cbfe0eb..53bea22d 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1,119 +1,119 @@
-http://jekyll:4998//OpenGoPro/tutorials/connect-ble
-2024-05-06T16:23:07-07:00
+https://gopro.github.io/OpenGoPro/tutorials/connect-ble
+2024-05-06T18:28:17-07:00
-http://jekyll:4998//OpenGoPro/tutorials/send-ble-commands
-2024-05-06T16:23:07-07:00
+https://gopro.github.io/OpenGoPro/tutorials/send-ble-commands
+2024-05-06T18:28:17-07:00
-http://jekyll:4998//OpenGoPro/tutorials/parse-ble-responses
-2024-05-06T16:23:07-07:00
+https://gopro.github.io/OpenGoPro/tutorials/parse-ble-responses
+2024-05-06T18:28:17-07:00
-http://jekyll:4998//OpenGoPro/tutorials/ble-queries
-2024-05-06T16:23:07-07:00
+https://gopro.github.io/OpenGoPro/tutorials/ble-queries
+2024-05-06T18:28:17-07:00
-http://jekyll:4998//OpenGoPro/tutorials/ble-protobuf
-2024-05-06T16:23:07-07:00
+https://gopro.github.io/OpenGoPro/tutorials/ble-protobuf
+2024-05-06T18:28:17-07:00
-http://jekyll:4998//OpenGoPro/tutorials/connect-wifi
-2024-05-06T16:23:07-07:00
+https://gopro.github.io/OpenGoPro/tutorials/connect-wifi
+2024-05-06T18:28:17-07:00
-http://jekyll:4998//OpenGoPro/tutorials/send-wifi-commands
-2024-05-06T16:23:07-07:00
+https://gopro.github.io/OpenGoPro/tutorials/send-wifi-commands
+2024-05-06T18:28:17-07:00
-http://jekyll:4998//OpenGoPro/tutorials/camera-media-list
-2024-05-06T16:23:07-07:00
+https://gopro.github.io/OpenGoPro/tutorials/camera-media-list
+2024-05-06T18:28:17-07:00
-http://jekyll:4998//OpenGoPro/tutorials/cohn
-2024-05-06T16:23:07-07:00
+https://gopro.github.io/OpenGoPro/tutorials/cohn
+2024-05-06T18:28:17-07:00
-http://jekyll:4998//OpenGoPro/ble/features/access_points.html
+https://gopro.github.io/OpenGoPro/ble/features/access_points.html
-http://jekyll:4998//OpenGoPro/ble/protocol/ble_setup.html
+https://gopro.github.io/OpenGoPro/ble/protocol/ble_setup.html
-http://jekyll:4998//OpenGoPro/ble/features/cohn.html
+https://gopro.github.io/OpenGoPro/ble/features/cohn.html
-http://jekyll:4998//OpenGoPro/contribution.html
+https://gopro.github.io/OpenGoPro/contribution.html
-http://jekyll:4998//OpenGoPro/ble/features/control.html
+https://gopro.github.io/OpenGoPro/ble/features/control.html
-http://jekyll:4998//OpenGoPro/ble/protocol/data_protocol.html
+https://gopro.github.io/OpenGoPro/ble/protocol/data_protocol.html
-http://jekyll:4998//OpenGoPro/faq
+https://gopro.github.io/OpenGoPro/faq
-http://jekyll:4998//OpenGoPro/ble/genindex.html
+https://gopro.github.io/OpenGoPro/ble/genindex.html
-http://jekyll:4998//OpenGoPro/ble/features/hilights.html
+https://gopro.github.io/OpenGoPro/ble/features/hilights.html
-http://jekyll:4998//OpenGoPro/http.html
+https://gopro.github.io/OpenGoPro/http.html
-http://jekyll:4998//OpenGoPro/ble/protocol/id_tables.html
+https://gopro.github.io/OpenGoPro/ble/protocol/id_tables.html
-http://jekyll:4998//OpenGoPro/ble/
+https://gopro.github.io/OpenGoPro/ble/
-http://jekyll:4998//OpenGoPro/
+https://gopro.github.io/OpenGoPro/
-http://jekyll:4998//OpenGoPro/ble/features/live_streaming.html
+https://gopro.github.io/OpenGoPro/ble/features/live_streaming.html
-http://jekyll:4998//OpenGoPro/ble/operation-operation_index.html
+https://gopro.github.io/OpenGoPro/ble/operation-operation_index.html
-http://jekyll:4998//OpenGoPro/ble/features/presets.html
+https://gopro.github.io/OpenGoPro/ble/features/presets.html
-http://jekyll:4998//OpenGoPro/ble/protocol/protobuf.html
+https://gopro.github.io/OpenGoPro/ble/protocol/protobuf.html
-http://jekyll:4998//OpenGoPro/ble/protocol.html
+https://gopro.github.io/OpenGoPro/ble/protocol.html
-http://jekyll:4998//OpenGoPro/ble/features/query.html
+https://gopro.github.io/OpenGoPro/ble/features/query.html
-http://jekyll:4998//OpenGoPro/ble/search.html
+https://gopro.github.io/OpenGoPro/ble/search.html
-http://jekyll:4998//OpenGoPro/ble/features/settings.html
+https://gopro.github.io/OpenGoPro/ble/features/settings.html
-http://jekyll:4998//OpenGoPro/ble/protocol/state_management.html
+https://gopro.github.io/OpenGoPro/ble/protocol/state_management.html
-http://jekyll:4998//OpenGoPro/ble/features/statuses.html
+https://gopro.github.io/OpenGoPro/ble/features/statuses.html
-http://jekyll:4998//OpenGoPro/tutorials/
+https://gopro.github.io/OpenGoPro/tutorials/
-http://jekyll:4998//OpenGoPro/ble_2_0.html
-2024-05-06T16:15:31-07:00
+https://gopro.github.io/OpenGoPro/ble_2_0.html
+2024-05-06T18:17:35-07:00
-http://jekyll:4998//OpenGoPro/http_2_0.html
-2024-05-06T16:15:31-07:00
+https://gopro.github.io/OpenGoPro/http_2_0.html
+2024-05-06T18:17:35-07:00
diff --git a/tutorials/ble-protobuf.html b/tutorials/ble-protobuf.html
index 05e22778..5b28b579 100644
--- a/tutorials/ble-protobuf.html
+++ b/tutorials/ble-protobuf.html
@@ -23,7 +23,7 @@
-
+
@@ -34,14 +34,14 @@
-
+
-
+
@@ -216,7 +216,7 @@
@@ -224,7 +224,7 @@
- GoPro
+ GoPro
@@ -427,14 +427,14 @@
-
+
- Tutorial 5: BLE Protobuf Operations
+ Tutorial 5: BLE Protobuf Operations
@@ -524,7 +524,7 @@ Requirements
Just Show me the Demo(s)!!
-
+
python
@@ -535,7 +535,7 @@ Just Show me the Demo(s)!!
-
+
Each of the scripts for this tutorial can be found in the Tutorial 5
@@ -678,7 +678,7 @@
Protobuf Message Example
-
+
python
@@ -689,7 +689,7 @@ Protobuf Message Example
-
+
from tutorial_modules import proto
@@ -723,7 +723,7 @@ Protobuf Message Example
ResponseGeneric object.
-
+
python
@@ -734,7 +734,7 @@ Protobuf Message Example
-
+
response_bytes = proto . ResponseGeneric ( result = proto . EnumResultGeneric . RESULT_SUCCESS ). SerializeToString ()
@@ -810,7 +810,7 @@ Protobuf Response Parser
-
+
python
@@ -821,7 +821,7 @@ Protobuf Response Parser
-
+
@@ -858,7 +858,7 @@
Set Turbo Transfer
Feature ID, Action ID, and length bytes:
-
+
python
@@ -869,7 +869,7 @@ Set Turbo Transfer
-
+
turbo_mode_request = bytearray (
@@ -896,7 +896,7 @@ Set Turbo Transfer
from the Set Turbo Mode Documentation: ResponseGeneric .
-
+
python
@@ -907,7 +907,7 @@ Set Turbo Transfer
-
+
await client . write_gatt_char ( request_uuid . value , turbo_mode_request , response = True )
@@ -969,7 +969,7 @@ Response Manager
parsing of all response types:
-
+
python
@@ -980,7 +980,7 @@ Response Manager
-
+
@@ -1063,7 +1063,7 @@
Examples of Each Response Type
Now letโs perform operations that will demonstrate each response type:
-
+
python
@@ -1074,7 +1074,7 @@ Examples of Each Response Type
-
+
# TLV Command (Setting)
@@ -1157,7 +1157,7 @@ Good Job!
- Updated: May 6, 2024
+ Updated: May 6, 2024
diff --git a/tutorials/ble-queries.html b/tutorials/ble-queries.html
index 9c5e5a92..410af09e 100644
--- a/tutorials/ble-queries.html
+++ b/tutorials/ble-queries.html
@@ -23,7 +23,7 @@
-
+
@@ -34,14 +34,14 @@
-
+
-
+
@@ -216,7 +216,7 @@
@@ -224,7 +224,7 @@
- GoPro
+ GoPro
@@ -427,14 +427,14 @@
-
+
- Tutorial 4: BLE TLV Queries
+ Tutorial 4: BLE TLV Queries
@@ -521,7 +521,7 @@ Requirements
Just Show me the Demo(s)!!
-
+
python
@@ -532,7 +532,7 @@ Just Show me the Demo(s)!!
-
+
Each of the scripts for this tutorial can be found in the Tutorial 4
@@ -658,7 +658,7 @@
Setup
connecting BLE tutorial .
-
+
python
@@ -669,7 +669,7 @@ Setup
-
+
We have slightly updated the notification handler from the previous tutorial to handle a QueryResponse
instead of
@@ -820,7 +820,7 @@
Parsing a Query Response
storing each value in a hash map indexed by ID for later access.
-
+
python
@@ -831,7 +831,7 @@ Parsing a Query Response
-
+
class QueryResponse ( TlvResponse ):
@@ -888,10 +888,10 @@ Parsing a Query Response
-
+
-
How many packets are query responses?
-
+
How many packets are query responses?
+
A: Always 1 packet
@@ -904,19 +904,19 @@
Parsing a Query Response
-
Submit Answer
-
-
Correct!! ๐
-
Incorrect!! ๐ญ The correct answer is C.
+
Submit Answer
+
+ Correct!! ๐
+ Incorrect!! ๐ญ The correct answer is C.
Query responses can be one packet (if for example querying a specific
setting) or multiple packets (when querying many or all settings as in the example here).
-
+
-
Which field is not common to all TLV responses?
-
+
Which field is not common to all TLV responses?
+
A: length
@@ -932,10 +932,10 @@
Parsing a Query Response
-
Submit Answer
-
-
Correct!! ๐
-
Incorrect!! ๐ญ The correct answer is D.
+
Submit Answer
+
+ Correct!! ๐
+ Incorrect!! ๐ญ The correct answer is D.
All Commands and Query responses have a length, ID, and status.
@@ -992,7 +992,7 @@
Individual Query Poll
First we send the query:
-
+
python
@@ -1003,7 +1003,7 @@ Individual Query Poll
-
+
@@ -1031,7 +1031,7 @@
Individual Query Poll
QueryResponse
class and extract the new resolution value.
-
+
python
@@ -1042,7 +1042,7 @@ Individual Query Poll
-
+
# Wait to receive the notification response
@@ -1089,7 +1089,7 @@ Individual Query Poll
has changed:
-
+
python
@@ -1100,7 +1100,7 @@ Individual Query Poll
-
+
while resolution is not target_resolution :
@@ -1170,7 +1170,7 @@ Multiple Simultaneous Query Polls FOV.
-
+
python
@@ -1181,7 +1181,7 @@ Multiple Simultaneous Query Polls
-
+
RESOLUTION_ID = 2
@@ -1209,7 +1209,7 @@ Multiple Simultaneous Query Polls We are also parsing the response to get all 3 values:
-
+
python
@@ -1220,7 +1220,7 @@ Multiple Simultaneous Query Polls
-
+
response . parse ()
@@ -1247,7 +1247,7 @@ Multiple Simultaneous Query Polls They are then printed to the log which will look like the following:
-
+
python
@@ -1258,7 +1258,7 @@ Multiple Simultaneous Query Polls
-
+
Getting the current resolution, fps, and fov.
@@ -1318,10 +1318,10 @@ Query All
Quiz time! ๐ โ๏ธ
-
+
-
How can we poll the encoding status and the resolution setting using one query?
-
+
How can we poll the encoding status and the resolution setting using one query?
+
A: Concatenate a โGet Setting Valueโ query and a โGet Statusโ query with the relevant IDโs
@@ -1334,10 +1334,10 @@
Query All
-
Submit Answer
-
-
Correct!! ๐
-
Incorrect!! ๐ญ The correct answer is C.
+
Submit Answer
+
+
Correct!! ๐
+
Incorrect!! ๐ญ The correct answer is C.
It is not possible to concatenate queries. This would result in an unknown sequence of bytes
from the cameraโs perspective. So it is not possible to get a setting value and a status value in one
query. The Get Setting Query (with resolution ID) and Get Status Query (with encoding ID) must be
@@ -1425,7 +1425,7 @@
Registering for Query Push Not
First, letโs register for updates when the resolution setting changes:
-
+
python
@@ -1436,7 +1436,7 @@ Registering for Query Push Not
-
+
query_request_uuid = GoProUuid . QUERY_REQ_UUID
@@ -1464,7 +1464,7 @@ Registering for Query Push Not
This can be seen in the raw byte data as well as by inspecting the responseโs id
property.
-
+
python
@@ -1475,7 +1475,7 @@ Registering for Query Push Not
-
+
response . parse ()
@@ -1522,7 +1522,7 @@ Registering for Query Push Not
notification..
-
+
python
@@ -1533,7 +1533,7 @@ Registering for Query Push Not
-
+
target_resolution = Resolution . RES_2_7K if resolution is Resolution . RES_1080 else Resolution . RES_1080
@@ -1607,11 +1607,11 @@ Registering for Query Push Not
Quiz time! ๐ โ๏ธ
-
+
-
True or False: We can still poll a given query value while we are currently registered to
+
True or False: We can still poll a given query value while we are currently registered to
receive push notifications for it.
-
-
Submit Answer
-
-
Correct!! ๐
-
Incorrect!! ๐ญ The correct answer is A.
+
Submit Answer
+
+ Correct!! ๐
+ Incorrect!! ๐ญ The correct answer is A.
While there is probably not a good reason to do so, there is nothing preventing polling
in this manner.
-
+
-
True or False: A push notification for a registered setting will only ever contain query information
+
True or False: A push notification for a registered setting will only ever contain query information
about one setting ID.
-
-
Submit Answer
-
-
Correct!! ๐
-
Incorrect!! ๐ญ The correct answer is B.
+
Submit Answer
+
+ Correct!! ๐
+ Incorrect!! ๐ญ The correct answer is B.
It is possible for push notifications to contain multiple setting IDโs if both setting IDโs have
push notifications registered and both settings change at the same time.
@@ -1676,7 +1676,7 @@
Good Job!
-
Updated: May 6, 2024
+
Updated: May 6, 2024
diff --git a/tutorials/camera-media-list.html b/tutorials/camera-media-list.html
index 991e6d05..48e8b7ec 100644
--- a/tutorials/camera-media-list.html
+++ b/tutorials/camera-media-list.html
@@ -23,7 +23,7 @@
-
+
@@ -34,14 +34,14 @@
-
+
-
+
@@ -216,7 +216,7 @@
@@ -224,7 +224,7 @@
- GoPro
+ GoPro
@@ -427,14 +427,14 @@
-
+
- Tutorial 8: Camera Media List
+ Tutorial 8: Camera Media List
@@ -508,7 +508,7 @@ Requirements
Just Show me the Demo(s)!!
-
+
python
@@ -519,7 +519,7 @@ Just Show me the Demo(s)!!
-
+
Each of the scripts for this tutorial can be found in the Tutorial 8
@@ -638,7 +638,7 @@
Get Media List
an exception.
-
+
python
@@ -649,7 +649,7 @@ Get Media List
-
+
url = GOPRO_BASE_URL + " /gopro/media/list "
@@ -673,7 +673,7 @@ Get Media List
Lastly, we print the responseโs JSON data:
-
+
python
@@ -684,7 +684,7 @@ Get Media List
-
+
logger . info ( f " Response: { json . dumps ( response . json (), indent = 4 ) } " )
@@ -781,7 +781,7 @@ Get Media List
One common functionality is to get the list of media file names, which can be done as such:
-
+
python
@@ -792,7 +792,7 @@ Get Media List
-
+
print ([ x [ " n " ] for x in media_list [ " media " ][ 0 ][ " fs " ]])
@@ -849,7 +849,7 @@ Download Media File
ends in .jpg ). Once we find a photo, we proceed:
-
+
python
@@ -860,7 +860,7 @@ Download Media File
-
+
media_list = get_media_list ()
@@ -894,7 +894,7 @@ Download Media File
-
+
python
@@ -905,7 +905,7 @@ Download Media File
-
+
url = GOPRO_BASE_URL + f " videos/DCIM/100GOPRO/ { photo } "
@@ -942,7 +942,7 @@ Download Media File
This will log as such: