You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.4 KiB
46 lines
1.4 KiB
2 months ago
|
function advanced_mode_example()
|
||
|
% Make a context object
|
||
|
ctx = realsense.context();
|
||
|
% Get a device from context
|
||
|
devs = ctx.query_devices();
|
||
|
dev = devs{1};
|
||
|
|
||
|
% Make sure the device supports advanced mode
|
||
|
if ~dev.is('advanced_mode')
|
||
|
error('Device doesn''t support advanced mode!');
|
||
|
end
|
||
|
|
||
|
% Make sure the device is in advanced mode
|
||
|
adv = dev.as('advanced_mode');
|
||
|
if ~adv.is_enabled()
|
||
|
adv.toggle_advanced_mode(true);
|
||
|
|
||
|
% Pause execution to give the device time to reconnect
|
||
|
oldState = pause('on');
|
||
|
pause(2)
|
||
|
pause(oldState);
|
||
|
|
||
|
% Grab the device
|
||
|
devs = ctx.query_devices();
|
||
|
dev = devs{1};
|
||
|
adv = dev.as('advanced_mode');
|
||
|
|
||
|
% Make sure the device supports advanced mode
|
||
|
if ~adv.is_enabled()
|
||
|
error('Device didn''t enter advanced mode');
|
||
|
end
|
||
|
end
|
||
|
|
||
|
json_string = adv.serialize_json();
|
||
|
json = jsondecode(json_string);
|
||
|
|
||
|
% Modify json, jumping through a few hoops because of
|
||
|
% the interaction between how the json is defined and matlab
|
||
|
json.controls_color_gain = string(str2double(json.controls_color_gain) - 4);
|
||
|
json_string = jsonencode(json);
|
||
|
% matlab replaces - with _ to create valid structure field names, we now need to switch them back
|
||
|
json_string = strrep(json_string, '_', '-');
|
||
|
|
||
|
% Upload new json
|
||
|
adv.load_json(json_string);
|
||
|
end
|