function ADV_SetDisplayMode( handle, mode, handles )
%ADV_SETDISPLAYMODE Changes the module to the specified display mode.
% ADV_SetDisplayMode changes the Advanced Display Visualization modules
% to the specified display mode and initializes all of the variables
% required for that mode.
%
% Possible mode selections are:
% 0 = Analog Advanced
% 1 = Analog Plus
% 2 = Waterfall
% 3 = Spectrogram
global g_ADVDisplayMode
global g_ADVTraceFIFOSize
% Configure the defaults
[yMin, yMax] = MXA_GetYScaling( handle );
switch mode
case 0
set( handles.advFigure, 'Colormap', [zeros(1,3) ; jet(64)] );
set( handles.advFigure, 'DefaultAxesCLimMode', 'auto' );
set( handles.advFigure, 'DefaultAxesXColor', [0.5 0.5 0.5] );
g_ADVTraceFIFOSize = 200;
case 1
set( handles.advFigure, 'Colormap', [0 0 0; 1 1 1] );
set( handles.advFigure, 'DefaultAxesCLimMode', 'auto' );
set( handles.advFigure, 'DefaultAxesXColor', [0.5 0.5 0.5] );
g_ADVTraceFIFOSize = 200;
case 2
if mode ~= g_ADVDisplayMode && g_ADVDisplayMode <= 1
g_ADVTraceFIFOSize = 30;
end
set( handles.advFigure, 'DefaultAxesZLim', [yMin, yMax] );
set( handles.advFigure, 'DefaultAxesCLimMode', 'manual' );
set( handles.advFigure, 'DefaultAxesCLim', [yMin yMax] );
set( handles.advFigure, 'DefaultAxesXColor', [0 0 0] );
set( handles.advFigure, 'Colormap', jet(64) );
case 3
if mode ~= g_ADVDisplayMode && g_ADVDisplayMode <= 1
g_ADVTraceFIFOSize = 30;
end
set( handles.advFigure, 'DefaultAxesCLimMode', 'manual' );
set( handles.advFigure, 'DefaultAxesCLim', [yMin yMax] );
set( handles.advFigure, 'DefaultAxesXColor', [0 0 0] );
set( handles.advFigure, 'Colormap', jet(64) );
end
% Set the new display mode
g_ADVDisplayMode = mode;
% Reset to restart mode
ADV_Reset( handle );