Settings
Used to retrieve/set camera settings.
Table of contents
- GET /api/<versionNumber>/settings
- PUT /api/<versionNumber>/settings/camera
- PUT /api/<versionNumber>/settings/scene
- PUT /api/<versionNumber>/settings/video
- PUT /api/<versionNumber>/settings/image
- POST /api/<versionNumber>/settings/video
- POST /api/<versionNumber>/settings/image
- PUT /api/<versionNumber>/settings/image
GET /api/<versionNumber>/settings
Format:
http://<baseURL>/api/<versionNumber>/settings
Example:
http://192.168.1.101/api/2/settings
Parameters
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
Description:
Returns camera's settings as JSON object. Results are grouped into categories:
Camera
Parameter | Description | Type |
serial_number | Camera's serial number as it's set up in the factory. | string, max. 36 characters |
ble_camera_id | Unique camera ID used for BLE pairing. Generated as CRC32(serial_number), represented as hexadecimal value. | string, max. 8 characters |
ble_verification_code | Random 8-byte alphanumeric sequence used for BLE authentication. Includes characters from the pool (0-9)(a-z)(A-Z). It's persistent and it's stored in the camera's NAND flash. It's re-generated only on demand, possibly, when SSID is changed or WiFi is reset (TBD). |
string, max. 8 characters |
gnss_enabled | Indicates whether GNSS module is turned ON (true) or OFF (false). | boolean |
sound_enabled | Indicates whether sound is enabled on the device (true - enabled, false - disabled). | boolean |
lights_enabled | Indicates whether lights are enabled on the device (true - enabled, false - disabled). | boolean |
image_rotation_enabled | Indicates whether 180 degrees image rotation is enabled on the device (true - enabled, false - disabled). | boolean |
external_microphone_enabled | Indicates whether external microphone input is enabled (true - enable, false - disabled). | boolean |
WiFi
Parameter | Description | Type |
ssid | SSID of the camera's access point. | string, max. 32 characters |
Scene
Parameter | Description | Type |
mode | Currently active scene. Possible options are: "bright", "night", "auto" and "phone". | string, max. 32 characters |
brightness | Brightness level. Possible values are 0-255. | integer |
contrast | Contrast level. Possible values are 0-255. | integer |
hue | Hue level. Possible values are 0-255. | integer |
saturation | Saturation level. Possible values are 0-255. | integer |
sharpness | Sharpness level. Possible values are 0-255. | integer |
NOTE: For modes which doesn't offer scene changes (like night-lapse mode), 'scene' attribute will be omitted from response.
Video (look at GET /api/<versionNumber>/capabilities/recording for more details)
Parameter | Description | Type |
mode | Currently active video mode of the camera. | string, max. 32 characters |
resolution | Currently active resolution. | string, max. 16 characters |
framerate_fps | Currently active FPS. | integer |
fov | Currently active FOV. | string, max. 16 characters |
Image (look at GET /api/<versionNumber>/capabilities/recording for more details)
Parameter | Description | Type |
mode | Currently active image mode of the camera. | string, max. 32 characters |
resolution | Currently active image resolution. | string, max. 16 characters |
interval_secs | Time between taking two consecutive images. Valid for continuous image mode. | float |
duration_secs | Number of seconds during which images are taken. Valid for burst mode. | float |
burst_count | Number of photos taken during specified time duration. Valid for burst mode. | integer |
Only one of the 'video' or 'image' categories will be present in the response, depending on which mode (video or image) is currently active.
Response codes:
Code | Description |
200 | OK |
500 | Server Error (request can't be processed) |
Example request 1 (video 'normal' mode is currently active):
GET http://192.168.1.101/api/2/settings
and example response:
{ "camera": { "serial_number":"NA3374A00035", "gnss_enabled":true, "sound_enabled":true, "lights_enabled":true, "image_rotation_enabled":false, "external_microphone_enabled":false }, "wifi": { "ssid":"DIRECT_tomtom_action_cam" }, "scene": { "mode": "auto", "brightness":124, "contrast":101, "hue":128, "saturation":130, "sharpness":126 }, "video": { "mode":"normal", "resolution":"1080p", "framerate_fps":60, "fov":"wide" } }
Example request 2 (image 'single' mode is currently active):
GET http://192.168.1.101/api/2/settings
and example response:
{ "camera": { "serial_number":"NA3374A00035", "gnss_enabled":true, "sound_enabled":true, "lights_enabled":true, "image_rotation_enabled":false, "external_microphone_enabled":false }, "wifi": { "ssid":"DIRECT_tomtom_action_cam" }, "scene": { "mode":"auto", "brightness":124, "contrast":101, "hue":128, "saturation":130, "sharpness":126 }, "image": { "mode":"single", "resolution":"16MP" } }
Example request 3 (video 'night_lapse' mode is currently active):
GET http://192.168.1.101/api/2/settings
and example response (note that 'scene' attribute is ommited as scenes change is not supported in night-lapse mode):
{ "camera": { "serial_number":"NA3374A00035", "gnss_enabled":true, "sound_enabled":true, "lights_enabled":true, "image_rotation_enabled":false, "external_microphone_enabled":false }, "wifi": { "ssid":"DIRECT_tomtom_action_cam" }, "video": { "mode":"night_lapse", "resolution":"1080p", "framerate_fps":30, "fov":"wide" } }
PUT /api/<versionNumber>/settings/camera
Format:
http://<baseURL>/api/<versionNumber>/settings/camera
Example:
http://192.168.1.101/api/2/settings/camera
Parameters
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
JSON Parameters:
Parameters are specified in the JSON object contained in the request body. Possible attributes are (at least one attribute should be present in the request):
Parameter | Description | Type |
gnss_enabled | Turns GNSS on/off. Possible values: true (GNSS on), false | boolean |
[image_rotation_enabled] | Turns 180 degrees image rotation on/off. Possible values: true (image rotation turned on), false. | boolean |
[external_microphone_enabled] | Connects/disconnects external microphone audio input. Possible values: true (external microphone turned on), false. | boolean |
Description:
Modifies parameters exposed in the camera group.
Response codes:
Code | Description |
200 | OK |
400 | Bad Request (wrong or unrecognised parameters) |
500 | Server Error (request can't be processed) |
Example request:
PUT http://192.168.1.101/api/2/settings/camera
with following JSON object in the request body:
{ "gnss_enabled":true }
PUT /api/<versionNumber>/settings/scene
Format:
http://<baseURL>/api/<versionNumber>/settings/scene
Example:
http://192.168.1.101/api/2/settings/scene
Parameters
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
JSON Parameters:
Parameter is specified in the JSON object contained in the request body. JSON request object should contain:
Parameter | Description | Req'd? | Type |
mode | Changes camera scene preset. Possible values are: "bright", "night", "underwater", "auto" and "phone". | Yes | string, max. 32 characters |
[brightness] | Brightness level. Possible values are 0-255. | No | integer |
[contrast] | Contrast level. Possible values are 0-255. | No | integer |
[hue] | Hue level. Possible values are 0-255. | No | integer |
[saturation] | Saturation level. Possible values are 0-255. | No | integer |
[sharpness] | Sharpness level. Possible values are 0-255. | No | integer |
Description:
Changes currently active camera scene preset.
Response will contain current image parameters specific for selected mode, if request was processed successfully.
Camera will use default image parameters (or last stored, in case of "phone" mode) when mode is changed. Video parameters omitted from the call won't be affected.
NOTE: Video parameters (brightness, contrast, hue, saturation and sharpness) will be applied only if selected mode is 'phone'. Otherwise, they won't change and will keep it's preset values (as are predefined on camera).
Response codes:
Code | Description |
200 | OK |
400 | Bad Request (wrong or unrecognised parameters) |
500 | Server Error (request can't be processed) |
Example request 1 (change camera scene to "bright"):
PUT http://192.168.1.101/api/2/settings/scene
with following JSON object in the request body:
{ "mode":"bright" }
Example request 2 (change camera scene to "phone" and adjust video parameter values):
PUT http://192.168.1.101/api/2/settings/scene
with following JSON object in the request body:
{ "mode":"phone", "brightness":128, "contrast":120, "hue":124, "saturation":95, "sharpness":110 }
PUT /api/<versionNumber>/settings/video
Format:
http://<baseURL>/api/<versionNumber>/settings/video
Example:
http://192.168.1.101/api/2/settings/video
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
JSON Parameters:
Parameter is specified in the JSON object contained in the request body. JSON request object should contain:
Parameter | Description | Type |
mode | Changes camera video mode. Possible values are: "normal", "slow_motion", "time_lapse", "highlight". | string, max. 32 characters |
Description:
Changes currently active video recording mode.
Response will contain currently set mode, resolution, framerate and FOV in JSON format if request was successfully processed.
Camera will set requested mode with all the other parameters (resolution, framerate and FOV) as they were set last time when this mode was used.
Response codes:
Code | Description |
200 | OK |
400 | Bad Request (wrong or unrecognised parameters) |
500 | Server Error (request can't be processed) |
Example request 1 (change/set camera mode to video, normal):
PUT http://192.168.1.101/api/2/settings/video
with following JSON object in the request body:
{ "mode":"normal" }
and example response:
{ "mode":"normal", "resolution":"1080p", "framerate_fps":60, "fov":"wide" }
PUT /api/<versionNumber>/settings/image
Format:
http://<baseURL>/api/<versionNumber>/settings/image
Example:
http://192.168.1.101/api/2/settings/image
Parameters
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
JSON Parameters:
Parameter is specified in the JSON object contained in the request body. JSON request object should contain:
Parameter | Description | Type |
mode | Changes camera video mode. Possible values are: "single", "burst". | string, max. 32 characters |
Description:
Changes currently active image recording mode.
Response will contain currently set mode, resolution and framerate in JSON format if request was successfully processed. In case image 'single' mode was selected, framerate attribute won't be returned.
Camera will set requested mode with all the other parameters (resolution and framerate) as they were set last time when this mode was used.
Response codes:
Code | Description |
200 | OK |
400 | Bad Request (wrong or unrecognised parameters) |
500 | Server Error (request can't be processed) |
Example request (change/set camera mode to image, burst):
PUT http://192.168.1.101/api/2/settings/image
with following JSON object in the request body:
{ "mode":"burst" }
and example response:
{ "mode":"burst", "resolution":"16MP", "duration_secs":1, "count":10 }
POST /api/<versionNumber>/settings/video
Format:
http://<baseURL>/api/<versionNumber>/settings/video
Example:
http://192.168.1.101/api/2/settings/video
Parameters
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
JSON Parameters:
Parameters are specified in the JSON object contained in the request body with following fields defined:
Parameter | Description | Req'd? | Type |
mode | Possible values: "normal", "slow_motion", "time_lapse", "highlight". |
Yes | string, max. 32 characters |
resolution | Possible values: "4k", "2.7k", "1080p", "720p", "wvga". |
Yes | string, max. 16 characters |
[framerate_fps] | Number of frames per second for resulting video. | No | integer |
[interval_secs] | Number of seconds between capturing input frames. Valid for time lapse mode. To set dynamic time lapse mode, set this value to 0. |
No | float |
[fov] | Possible values: "wide", "normal". |
No | string, max. 16 characters |
Description:
Sets video mode based on the parameters provided in the request. Format, wording and meaning of these values is exactly the same as in the relevant GET request.
Response codes:
Code | Description |
200 | OK |
400 | Bad Request (wrong or unrecognised parameters) |
500 | Server Error (request can't be processed) |
Example request:
POST http://192.168.1.101/api/2/settings/video
with following JSON object in the request body:
{ "mode":"normal", "resolution":"1080p", "framerate_fps":60, "fov":"wide" }
POST /api/<versionNumber>/settings/image
Format:
http://<baseURL>/api/<versionNumber>/settings/image
Example:
http://192.168.1.101/api/2/settings/image
Parameters
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
JSON Parameters:
Parameters are specified in the JSON object contained in the request body with following fields defined:
Parameter | Description | Req'd? | Type |
mode | Possible values: "single", "burst", "continuous". |
Yes | string, max. 32 characters |
[resolution] | Possible values: "16MP", "8MP". |
No | string, max. 16 characters |
[interval_secs] | Time interval between successive images. | No | float |
[duration_secs] | Used only for 'burst' mode. Defines time (in seconds) for how long images will be taken. | No | float |
[count] | Used only for 'burst' mode. Defines how many images will be taken during one session. | No | integer |
Description:
Sets image mode based on the parameters provided in the request. Format, wording and meaning of these values is exactly the same as in the relevant GET request.
Response codes:
Code | Description |
200 | OK |
400 | Bad Request (wrong or unrecognised parameters) |
500 | Server Error (request can't be processed) |
Example request:
POST http://192.168.1.101/api/2/settings/image
with following JSON object in the request body:
{ "burst", "resolution":"16MP", "duration_secs":1, "count":10 }