%  ---------------------------------------------------------------------  %
%   RRRR   EEEEE  FFFFF  EEEEE  RRRR   EEEEE  N   N   CCCC  EEEEE
%   R   R  E      F      E      R   R  E      NN  N  C      E
%   RRRR   EEE    FFFF   EEE    RRRR   EEE    N N N  C      EEE
%   R  R   E      F      E      R  R   E      N  NN  C      E
%   R   R  EEEEE  F      EEEEE  R   R  EEEEE  N   N   CCCC  EEEEE
%  ---------------------------------------------------------------------  %
%% SPECIFY WHICH REFERENCES TO INCLUDE AND THEIR SIGNAL PROPERTIES

% INFO:
% The following three variables specify which of the reference signal types
% should be included. If multiple types are "turned-on" then teh reference
% signals are simply summed together.

% Each of these should be set to {'on','yes'} or {'off,'no'}
% > For a STEP CHANGE reference signal:
reference_step_include = 'on';
% > For a SINUSOID reference signal
reference_sine_wave_include = 'off';
% > For a SAW TOOTH reference signal
reference_saw_tooth_wave_include = 'off';



%% SPECIFY THE DETAILS OF THE DIFFERENT REFERENCE SIGNALS

% INFO:
% The variables in this section speficy the properties of each of the
% reference signal types.

% Degrees to radians conversion
deg2rad = pi/180;

% STEP CHANGE REFERENCE:
% > Setpoint for: x, y, z and yaw pose [m, m, m, rad]
reference_step_xyz_yaw = [0.5; 0.5; 0.5; 10*deg2rad];
% > Period [seconds], this is how ofter the setpoint should change between
%   zero and the setpoint specified 
reference_step_period = 5;
                       

% SINUSOID REFERENCE SIGNAL:
% > Amplitude and bias for: x, y, z and yaw pose [m, m, m, rad]
reference_sine_amplitude_xyz_yaw = [0.3; 0.3; 0.3; 3*deg2rad];
reference_sine_bias_xyz_yaw      = [0.0; 0.0; 0.0; 0*deg2rad];
% > Period [seconds]
reference_sine_period = 5;


% SAW TOOTH REFERENCE SIGNAL:
% > Amplitude and bias for: x, y, z and yaw pose [m, m, m, rad]
reference_saw_tooth_amplitude_xyz_yaw = [0.3; 0.3; 0.3; 3*deg2rad];
reference_saw_tooth_bias_xyz_yaw      = [0.0; 0.0; 0.0; 0*deg2rad];



%% CONSTRUCT THE "REFERENCE INCLUSION MULTIPLIERS"

% > For the step reference
switch reference_step_include
    case {'on','yes'}
        reference_step_inclusion_multiplier = 1;
    otherwise
        reference_step_inclusion_multiplier = 0;
end

% > For the sine wave referene
switch reference_sine_wave_include
    case {'on','yes'}
        reference_sine_wave_inclusion_multiplier = 1;
    otherwise
        reference_sine_wave_inclusion_multiplier = 0;
end

% > For the saw tooth reference
switch reference_saw_tooth_wave_include
    case {'on','yes'}
        reference_saw_tooth_inclusion_multiplier = 1;
    otherwise
        reference_saw_tooth_inclusion_multiplier = 0;         
end



% Clear the variables that are not needed
clear reference_step_include;
clear reference_sine_wave_include;
clear reference_saw_tooth_wave_include;
clear deg2rad;