% ------------------------------------------------------------------------------
% Process meta-data exported from Coriolis data base and save it in individual
% json files.
%
% SYNTAX :
%  generate_json_float_meta_prv_ir_sbd_( ...
%    a_floatMetaFileName, a_floatListFileName, a_rbrMetaDataDirName, a_outputDirName)
%
% INPUT PARAMETERS :
%   a_floatMetaFileName  : meta-data file exported from Coriolis data base
%   a_floatListFileName  : list of concerned floats
%   a_rbrMetaDataDirName : directory of RBR meta-data files
%   a_outputDirName      : directory of individual json float meta-data files
%
% OUTPUT PARAMETERS :
%
% EXAMPLES :
%
% SEE ALSO :
% AUTHORS  : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com)
% ------------------------------------------------------------------------------
% RELEASES :
%   10/15/2014 - RNU - creation
%   09/01/2017 - RNU - RT version added
% ------------------------------------------------------------------------------
function generate_json_float_meta_prv_ir_sbd_( ...
   a_floatMetaFileName, a_floatListFileName, a_rbrMetaDataDirName, a_outputDirName)

% report information structure
global g_cogj_reportData;


% check inputs
fprintf('Generating json meta-data files from input file: \n FLOAT_META_FILE_NAME = %s\n', a_floatMetaFileName);

if ~(exist(a_floatMetaFileName, 'file') == 2)
   fprintf('ERROR: Meta-data file not found: %s\n', a_floatMetaFileName);
   return
end

fprintf('Generating json meta-data files for floats of the list: \n FLOAT_LIST_FILE_NAME = %s\n', a_floatListFileName);

if ~(exist(a_floatListFileName, 'file') == 2)
   fprintf('ERROR: Float file list not found: %s\n', a_floatListFileName);
   return
end

fprintf('Directory of RBR meta-data files: \n RBR_META_DATA_DIR_NAME = %s\n', a_rbrMetaDataDirName);

fprintf('Output directory of json meta-data files: \n OUTPUT_DIR_NAME = %s\n', a_outputDirName);

% lists of mandatory meta-data
% FLOAT_SERIAL_NO and SENSOR_SERIAL_NO should not be in the following list
% (only the database can set these mandatory values to 'n/a')
mandatoryList1 = [ ...
   {'BATTERY_TYPE'} ...
   {'CONTROLLER_BOARD_SERIAL_NO_PRIMARY'} ...
   {'CONTROLLER_BOARD_TYPE_PRIMARY'} ...
   {'DAC_FORMAT_ID'} ...
   {'FIRMWARE_VERSION'} ...
   {'MANUAL_VERSION'} ...
   {'PI_NAME'} ...
   {'PREDEPLOYMENT_CALIB_COEFFICIENT'} ...
   {'PREDEPLOYMENT_CALIB_EQUATION'} ...
   {'PTT'} ...
   {'PARAMETER_UNITS'} ...
   {'PARAMETER_SENSOR'} ...
   {'STANDARD_FORMAT_ID'} ...
   {'TRANS_FREQUENCY'} ...
   {'TRANS_SYSTEM_ID'} ...
   {'WMO_INST_TYPE'} ...
   ];
mandatoryList2 = [ ...
   {'SENSOR_MAKER'} ...
   {'SENSOR_MODEL'} ...
   ];

% get DB meta-data
fId = fopen(a_floatMetaFileName, 'r');
if (fId == -1)
   fprintf('ERROR: Unable to open file: %s\n', a_floatMetaFileName);
   return
end
fileContents = textscan(fId, '%s', 'delimiter', '\t');
fileContents = fileContents{:};
fclose(fId);

fileContents = regexprep(fileContents, '"', '');

metaData = reshape(fileContents, 5, size(fileContents, 1)/5)';
metaData(:,4)=(cellfun(@strtrim, metaData(:, 4), 'UniformOutput', 0))';

% process the meta-data to fill the structure
% wmoList = str2num(cell2mat(metaData(:, 1))); % works only if all raws have the same number of digits
% dimLevlist = str2num(cell2mat(metaData(:, 3))); % works only if all raws have the sme number of digits
wmoList = metaData(:, 1);
for id = 1:length(wmoList)
   if (isempty(str2num(wmoList{id})))
      fprintf('ERROR: %s is not a valid WMO number\n', wmoList{id});
      return
   end
end
S = sprintf('%s*', wmoList{:});
wmoList = sscanf(S, '%f*');
dimLevlist = metaData(:, 3);
S = sprintf('%s*', dimLevlist{:});
dimLevlist = sscanf(S, '%f*');
floatList = unique(wmoList);

% get the mapping structure
metaBddStruct = get_meta_bdd_struct();
metaBddStructNames = fieldnames(metaBddStruct);

% check needed floats against DB contents
refFloatList = load(a_floatListFileName);

floatList = sort(intersect(floatList, refFloatList));
% floatList = [6901631];

notFoundFloat = setdiff(refFloatList, floatList);
if (~isempty(notFoundFloat))
   fprintf('WARNING: Meta-data not found for float: %d\n', notFoundFloat);
end

% process floats
for idFloat = 1:length(floatList)
   
   skipFloat = 0;
   floatNum = floatList(idFloat);
   fprintf('%3d/%3d %d\n', idFloat, length(floatList), floatNum);
   
   % initialize the structure to be filled
   metaStruct = get_meta_init_struct();
   
   metaStruct.PLATFORM_NUMBER = num2str(floatNum);
   metaStruct.ARGO_USER_MANUAL_VERSION = '3.1';
   
   % direct conversion data
   idForWmo = find(wmoList == floatNum);
   for idBSN = 1:length(metaBddStructNames)
      metaBddStructField = metaBddStructNames{idBSN};
      metaBddStructValue = metaBddStruct.(metaBddStructField);
      if (~isempty(metaBddStructValue))
         idF = find(strcmp(metaData(idForWmo, 5), metaBddStructValue) == 1, 1);
         if (~isempty(idF))
            metaStruct.(metaBddStructField) = metaData{idForWmo(idF), 4};
         else
            if (~isempty(find(strcmp(mandatoryList1, metaBddStructField) == 1, 1)))
               metaStruct.(metaBddStructField) = 'n/a';
               %                fprintf('Empty mandatory meta-data ''%s'' set to ''n/a''\n', metaBddStructValue);
            elseif (~isempty(find(strcmp(mandatoryList2, metaBddStructField) == 1, 1)))
               metaStruct.(metaBddStructField) = 'UNKNOWN';
            end
            if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO'))
               fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ...
                  floatNum, metaBddStructValue);
               skipFloat = 1;
            end
         end
      end
   end
   
   % retrieve DAC_FORMAT_ID
   dacFormatId = metaStruct.DAC_FORMAT_ID;
   if (isempty(dacFormatId))
      fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ...
         floatNum);
      continue
   end
   
   % check if the float version is concerned by this tool
   if (~ismember(dacFormatId, [ ...
         {'5.4'} ...
         {'5.41'} {'5.42'} ...
         {'5.6'} ...
         {'5.61'} {'5.62'} {'5.63'} ...
         {'5.64'} ...
         {'5.65'} {'5.66'} {'5.67'} ...
         {'5.7'} {'5.71'} {'5.72'} {'5.73'} ...
         {'5.43'} {'5.44'} ...
         {'5.45'} {'5.47'} {'5.48'} {'5.49'} ...
         {'5.74'} ...
         {'5.75'} {'5.46'} {'5.76'}]))
      fprintf('INFO: Float %d is not managed by this tool (DAC_FORMAT_ID (from PR_VERSION) : ''%s'')\n', ...
         floatNum, dacFormatId);
      continue
   end
   
   % multi dim data
   itemList = [ ...
      {'TRANS_SYSTEM'} ...
      {'TRANS_SYSTEM_ID'} ...
      {'TRANS_FREQUENCY'} ...
      ];
   [metaStruct] = add_multi_dim_data( ...
      itemList, ...
      metaData, idForWmo, dimLevlist, ...
      metaStruct, mandatoryList1, mandatoryList2);
   
   [metaStruct] = add_multi_dim_data( ...
      {'POSITIONING_SYSTEM'}, ...
      metaData, idForWmo, dimLevlist, ...
      metaStruct, mandatoryList1, mandatoryList2);
   
   itemList = [ ...
      {'SENSOR'} ...
      {'SENSOR_MAKER'} ...
      {'SENSOR_MODEL'} ...
      {'SENSOR_SERIAL_NO'} ...
      ];
   [metaStruct] = add_multi_dim_data( ...
      itemList, ...
      metaData, idForWmo, dimLevlist, ...
      metaStruct, mandatoryList1, mandatoryList2);
   
   % check that SENSOR_SERIAL_NO is set
   if (~isempty(metaStruct.SENSOR_SERIAL_NO))
      for idS = 1:length(metaStruct.SENSOR_SERIAL_NO)
         if (isempty(metaStruct.SENSOR_SERIAL_NO{idS}))
            fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ...
               floatNum, ...
               metaStruct.SENSOR{idS}, ...
               metaStruct.SENSOR_MODEL{idS}, ...
               metaStruct.SENSOR_MAKER{idS});
            skipFloat = 1;
         end
      end
   else
      fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ...
         floatNum);
      skipFloat = 1;
   end
   
   itemList = [ ...
      {'PARAMETER'} ...
      {'PARAMETER_SENSOR'} ...
      {'PARAMETER_UNITS'} ...
      {'PARAMETER_ACCURACY'} ...
      {'PARAMETER_RESOLUTION'} ...
      {'PREDEPLOYMENT_CALIB_EQUATION'} ...
      {'PREDEPLOYMENT_CALIB_COEFFICIENT'} ...
      {'PREDEPLOYMENT_CALIB_COMMENT'} ...
      ];
   [metaStruct] = add_multi_dim_data( ...
      itemList, ...
      metaData, idForWmo, dimLevlist, ...
      metaStruct, mandatoryList1, mandatoryList2);
   
   itemList = [ ...
      {'CALIB_RT_PARAMETER'} ...
      {'CALIB_RT_EQUATION'} ...
      {'CALIB_RT_COEFFICIENT'} ...
      {'CALIB_RT_COMMENT'} ...
      {'CALIB_RT_DATE'} ...
      {'CALIB_RT_ADJUSTED_ERROR'} ...
      {'CALIB_RT_ADJ_ERROR_METHOD'} ...
      ];
   [metaStruct] = add_multi_dim_data( ...
      itemList, ...
      metaData, idForWmo, dimLevlist, ...
      metaStruct, mandatoryList1, mandatoryList2);
   
   % IMEI / PTT specific processing
   if (~isempty(metaStruct.IMEI))
      if (length(metaStruct.IMEI) ~= 15)
         fprintf('ERROR: Float #%d: inconsistent IMEI number (''%s''); 15 digits expected\n', ...
            floatNum, metaStruct.IMEI);
      else
         if (~strcmp(metaStruct.PTT, 'n/a'))
            if (length(metaStruct.PTT) ~= 6)
               fprintf('ERROR: Float #%d: inconsistent PTT number (''%s''); 6 digits expected\n', ...
                  floatNum, metaStruct.PTT);
            else
               if (~strcmp(metaStruct.IMEI(end-6:end-1), metaStruct.PTT))
                  fprintf('ERROR: Float #%d: inconsistent IMEI number (''%s'') VS PTT number (''%s'')\n', ...
                     floatNum, metaStruct.IMEI, metaStruct.PTT);
               end
            end
         else
            metaStruct.PTT = metaStruct.IMEI(end-6:end-1);
            fprintf('INFO: Float #%d: PTT number (''%s'') set from IMEI number (''%s'')\n', ...
               floatNum, metaStruct.PTT, metaStruct.IMEI);
         end
      end
   elseif (~strcmp(metaStruct.PTT, 'n/a'))
      fprintf('WARNING: Float #%d: PTT number (''%s'') is set but IMEI number is unknown\n', ...
         floatNum, metaStruct.PTT);
   end
   
   % configuration parameters
   
   % CONFIG_PARAMETER_NAME
   configStruct = get_config_init_struct(dacFormatId);
   if (isempty(configStruct))
      continue
   end
   configStructNames = fieldnames(configStruct);
   metaStruct.CONFIG_PARAMETER_NAME = configStructNames;
   
   % CONFIG_PARAMETER_VALUE
   configBddStruct = get_config_bdd_struct(dacFormatId);
   if (isempty(configBddStruct))
      continue
   end
   configBddStructNames = fieldnames(configBddStruct);
   
   if (ismember(dacFormatId, [{'5.43'} {'5.44'} {'5.45'} {'5.47'} {'5.75'} {'5.46'} {'5.48'} {'5.49'} {'5.76'}]))
      
      nbConfig = 1;
      configParamVal = cell(length(configStructNames), nbConfig);
      for idConf = 1:nbConfig
         for idBSN = 1:length(configBddStructNames)
            configBddStructName = configBddStructNames{idBSN};
            if ((strcmp(configBddStructName, 'CONFIG_PM02_ReferenceDay') == 0) && ...
                  (strcmp(configBddStructName, 'CONFIG_PM03_EstimatedSurfaceTime') == 0))
               configBddStructValue = configBddStruct.(configBddStructName);
               if (~isempty(configBddStructValue))
                  idF = find(strcmp(metaData(idForWmo, 5), configBddStructValue) == 1);
                  if (~isempty(idF))
                     dimLev = dimLevlist(idForWmo(idF));
                     idDim = find(dimLev == idConf, 1);
                     if ((isempty(idDim)) && (idConf > 1))
                        idDim = 1;
                     elseif ((isempty(idDim)) && (idConf == 1))
                        fprintf('ERROR\n');
                     end
                     
                     if (strcmp(configBddStructName, 'CONFIG_MC002_CyclePeriod') || ...
                           strcmp(configBddStructName, 'CONFIG_MC02_CyclePeriod1') || ...
                           strcmp(configBddStructName, 'CONFIG_MC10_DriftDepth1') || ...
                           strcmp(configBddStructName, 'CONFIG_MC11_ProfileDepth1'))
                        % the parameter is stored within DIM_LEVEL = 1
                        idDim = find(dimLev == 1, 1);
                     elseif (strcmp(configBddStructName, 'CONFIG_MC03_CyclePeriod2') || ...
                           strcmp(configBddStructName, 'CONFIG_MC12_DriftDepth2') || ...
                           strcmp(configBddStructName, 'CONFIG_MC13_ProfileDepth2'))
                        % the parameter is stored within DIM_LEVEL = 2
                        idDim = find(dimLev == 2, 1);
                     end
                     
                     if (strcmp(configBddStructValue, 'PR_IMMERSION_DRIFT_PERIOD') == 1)
                        configParamVal{idBSN, idConf} = num2str(str2num(metaData{idForWmo(idF(idDim)), 4})/60);
                     elseif (strcmp(configBddStructValue, 'PRCFG_Pressure_coefficient_B'))
                        % this coefficient is transmitted without any digit,
                        % consequently to avoid creating one useless
                        % configuration we truncate this parameter for the
                        % launch configuration
                        configParamVal{idBSN, idConf} = num2str(fix(str2num(metaData{idForWmo(idF(idDim)), 4})));
                     else
                        value = metaData{idForWmo(idF(idDim)), 4};
                        if ((strcmpi(value, 'yes')) || (strcmpi(value, 'y')))
                           value = '1';
                        elseif ((strcmpi(value, 'no')) || (strcmpi(value, 'n')))
                           value = '0';
                        end
                        configParamVal{idBSN, idConf} = value;
                     end
                  else
                     if (strcmp(configBddStructName, 'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection'))
                        fprintf('ERROR: Float #%d: CONFIG_IC00 (''%s'') is mandatory - no json file generated\n', ...
                           floatNum, configBddStructValue);
                        skipFloat = 1;
                     end
                  end
               else
                  % if we want to use default values if the information is
                  % missing in the database
               end
            end
         end
      end
      
      % set additional configuration parameters
      
      % profile direction
      idDir = find(strcmp(metaStruct.CONFIG_PARAMETER_NAME, 'CONFIG_PX00_Direction') == 1);
      if (~isempty(idDir))
         idDescSampPeriod = find(strcmp(metaStruct.CONFIG_PARAMETER_NAME, 'CONFIG_MC08_DescentSamplingPeriod') == 1);
         idAscSampPeriod = find(strcmp(metaStruct.CONFIG_PARAMETER_NAME, 'CONFIG_MC10_AscentSamplingPeriod') == 1);
         if (~isempty(idDescSampPeriod) && ~isempty(idAscSampPeriod))
            % set default direction (sampling during ascent) because we will
            % only consider not empty sampling information
            direction = 1;
            if (~isempty(configParamVal{idDescSampPeriod}) && ...
                  (str2num(configParamVal{idDescSampPeriod}) > 0))
               % sampling during descent
               direction = 3;
            end
            if (~isempty(configParamVal{idAscSampPeriod}) && ...
                  (str2num(configParamVal{idAscSampPeriod}) == 0))
               % no sampling during ascent
               if (direction == 3)
                  direction = 2;
               end
            end
            configParamVal{idDir} = num2str(direction);
         end
      end
      
      idCtdPumpCutOffPres = find(strcmp(metaStruct.CONFIG_PARAMETER_NAME, 'CONFIG_MC28_CTDPumpCutOffPressure') == 1);
      if (~isempty(idCtdPumpCutOffPres) && ~isempty(configParamVal{idCtdPumpCutOffPres}))
         
         idCtdCutOffPressure = find(strcmp(metaStruct.CONFIG_PARAMETER_NAME, 'CONFIG_PX01_CtdCutOffPressure') == 1);
         if (~isempty(idCtdCutOffPressure))
            configParamVal{idCtdCutOffPressure} = configParamVal{idCtdPumpCutOffPres};
         end
         
         idProfileCutOffPressure = find(strcmp(metaStruct.CONFIG_PARAMETER_NAME, 'CONFIG_PX02_ProfileCutOffPressure') == 1);
         if (~isempty(idProfileCutOffPressure))
            configParamVal{idProfileCutOffPressure} = num2str(str2num(configParamVal{idCtdPumpCutOffPres}) + 0.5);
         end
      end
      
   else
      
      nbConfig = 1;
      configParamVal = cell(length(configStructNames), nbConfig);
      for idConf = 1:nbConfig
         for idBSN = 1:length(configBddStructNames)
            configBddStructName = configBddStructNames{idBSN};
            if ((strcmp(configBddStructName, 'CONFIG_PM02_ReferenceDay') == 0) && ...
                  (strcmp(configBddStructName, 'CONFIG_PM03_EstimatedSurfaceTime') == 0))
               configBddStructValue = configBddStruct.(configBddStructName);
               if (~isempty(configBddStructValue))
                  idF = find(strcmp(metaData(idForWmo, 5), configBddStructValue) == 1);
                  if (~isempty(idF))
                     dimLev = dimLevlist(idForWmo(idF));
                     idDim = find(dimLev == idConf, 1);
                     if ((isempty(idDim)) && (idConf > 1))
                        idDim = 1;
                     elseif ((isempty(idDim)) && (idConf == 1))
                        fprintf('ERROR\n');
                     end
                     
                     if ((strcmp(configBddStructValue, 'DIRECTION') == 0) && ...
                           (strcmp(configBddStructValue, 'CYCLE_TIME') == 0) && ...
                           (strcmp(configBddStructValue, 'PR_IMMERSION_DRIFT_PERIOD') == 0) && ...
                           (strncmp(configBddStructValue, 'AANDERAA_OPTODE_', length('AANDERAA_OPTODE_')) == 0))
                        
                        if (~strcmp(configBddStructValue, 'PRCFG_Pressure_coefficient_B'))
                           value = metaData{idForWmo(idF(idDim)), 4};
                           if ((strcmpi(value, 'yes')) || (strcmpi(value, 'y')))
                              value = '1';
                           elseif ((strcmpi(value, 'no')) || (strcmpi(value, 'n')))
                              value = '0';
                           end
                           configParamVal{idBSN, idConf} = value;
                        else
                           % this coefficient is transmitted without any digit,
                           % consequently to avoid creating one useless
                           % configuration we truncate this parameter for the
                           % launch configuration
                           configParamVal{idBSN, idConf} = num2str(fix(str2num(metaData{idForWmo(idF(idDim)), 4})));
                        end
                     else
                        if (strcmp(configBddStructValue, 'DIRECTION') == 1)
                           configParamVal{idBSN, idConf} = '1';
                        elseif (strcmp(configBddStructValue, 'CYCLE_TIME') == 1)
                           configParamVal{idBSN, idConf} = num2str(str2num(metaData{idForWmo(idF(idDim)), 4})/24);
                        elseif (strcmp(configBddStructValue, 'PR_IMMERSION_DRIFT_PERIOD') == 1)
                           configParamVal{idBSN, idConf} = num2str(str2num(metaData{idForWmo(idF(idDim)), 4})/60);
                        elseif (strncmp(configBddStructValue, 'AANDERAA_OPTODE_', length('AANDERAA_OPTODE_')) == 1)
                           % processed below
                        end
                     end
                  else
                     if (strcmp(configBddStructName, 'CONFIG_PG00_NbDaysWithoutSurfacingAfterIceDetection'))
                        fprintf('ERROR: Float #%d: CONFIG_PG00 (''%s'') is mandatory - no json file generated\n', ...
                           floatNum, configBddStructValue);
                        skipFloat = 1;
                     end
                  end
               else
                  % if we want to use default values if the information is
                  % missing in the database
                  %                      configParamVal{idBSN, idConf} = configStruct.(configBddStructName);
               end
            else
               if (strcmp(configBddStructName, 'CONFIG_PM02_ReferenceDay') == 1)
                  idF0 = find(strcmp(metaData(idForWmo, 5), 'PRCFG_Reference_day') == 1);
                  if (~isempty(idF0))
                     configParamVal{idBSN, idConf} = metaData{idForWmo(idF0), 4};
                  else
                     idF1 = find(strcmp(metaData(idForWmo, 5), 'PR_REFERENCE_DATETIME') == 1);
                     idF2 = find(strcmp(metaData(idForWmo, 5), 'PR_LAUNCH_DATETIME') == 1);
                     if ~(isempty(idF1) || isempty(idF2))
                        refDate = datenum(metaData{idForWmo(idF1), 4}, 'dd/mm/yyyy HH:MM');
                        launchDate = datenum(metaData{idForWmo(idF2), 4}, 'dd/mm/yyyy HH:MM');
                        configParamVal{idBSN, idConf} = num2str(fix(refDate) - fix(launchDate));
                     end
                  end
               elseif (strcmp(configBddStructName, 'CONFIG_PM03_EstimatedSurfaceTime') == 1)
                  idF0 = find(strcmp(metaData(idForWmo, 5), 'PRCFG_End_time') == 1);
                  if (~isempty(idF0))
                     configParamVal{idBSN, idConf} = sprintf('%02d', str2num(metaData{idForWmo(idF0), 4}));
                  else
                     idF1 = find(strcmp(metaData(idForWmo, 5), 'PR_REFERENCE_DATETIME') == 1);
                     if (~isempty(idF1))
                        refDate = datenum(metaData{idForWmo(idF1), 4}, 'dd/mm/yyyy HH:MM');
                        configParamVal{idBSN, idConf} = datestr(refDate, 'HH');
                     end
                  end
               end
            end
         end
      end
   end
   
   % CONFIG_PARAMETER_VALUE
   metaStruct.CONFIG_PARAMETER_VALUE = configParamVal;
   
   metaStruct.CONFIG_MISSION_NUMBER = {'0'};
   
   % CALIBRATION_COEFFICIENT
   switch (dacFormatId)
      case {'5.6', '5.7'}
         idF = find((strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_TEMP_COEF_', length('AANDERAA_OPTODE_TEMP_COEF_')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_PHASE_COEF_', length('AANDERAA_OPTODE_PHASE_COEF_')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_FOIL_COEFF_A', length('AANDERAA_OPTODE_FOIL_COEFF_A')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_FOIL_COEFF_B', length('AANDERAA_OPTODE_FOIL_COEFF_B')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_FOIL_POLYDEG_T', length('AANDERAA_OPTODE_FOIL_POLYDEG_T')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_FOIL_POLYDEG_O', length('AANDERAA_OPTODE_FOIL_POLYDEG_O')) == 1));
         calibData = [];
         for id = 1:length(idF)
            calibName = metaData{idForWmo(idF(id)), 5};
            if (strncmp(calibName, 'AANDERAA_OPTODE_TEMP_COEF_', length('AANDERAA_OPTODE_TEMP_COEF_')) == 1)
               fieldName = ['TempCoef' calibName(end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_PHASE_COEF_', length('AANDERAA_OPTODE_PHASE_COEF_')) == 1)
               fieldName = ['PhaseCoef' calibName(end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_FOIL_COEFF_A', length('AANDERAA_OPTODE_FOIL_COEFF_A')) == 1)
               fieldName = ['FoilCoefA' calibName(length('AANDERAA_OPTODE_FOIL_COEFF_A')+1:end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_FOIL_COEFF_B', length('AANDERAA_OPTODE_FOIL_COEFF_B')) == 1)
               fieldName = ['FoilCoefB' calibName(length('AANDERAA_OPTODE_FOIL_COEFF_B')+1:end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_FOIL_POLYDEG_T', length('AANDERAA_OPTODE_FOIL_POLYDEG_T')) == 1)
               fieldName = ['FoilPolyDegT' calibName(length('AANDERAA_OPTODE_FOIL_POLYDEG_T')+1:end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_FOIL_POLYDEG_O', length('AANDERAA_OPTODE_FOIL_POLYDEG_O')) == 1)
               fieldName = ['FoilPolyDegO' calibName(length('AANDERAA_OPTODE_FOIL_POLYDEG_O')+1:end)];
            end
            calibData.(fieldName) = metaData{idForWmo(idF(id)), 4};
         end
         if (~isempty(calibData))
            calibrationCoefficient = [];
            calibrationCoefficient.OPTODE = calibData;
            
            metaStruct.CALIBRATION_COEFFICIENT = calibrationCoefficient;
         end
      case {'5.61', '5.62', '5.64', '5.65', '5.71', '5.73', '5.74', '5.75', '5.46', '5.66', '5.67', '5.48', '5.76'}
         idF = find((strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_COEF_C', length('AANDERAA_OPTODE_COEF_C')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_PHASE_COEF_', length('AANDERAA_OPTODE_PHASE_COEF_')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_TEMP_COEF_', length('AANDERAA_OPTODE_TEMP_COEF_')) == 1));
         calibData = [];
         for id = 1:length(idF)
            calibName = metaData{idForWmo(idF(id)), 5};
            if (strncmp(calibName, 'AANDERAA_OPTODE_COEF_C', length('AANDERAA_OPTODE_COEF_C')) == 1)
               fieldName = ['SVUFoilCoef' num2str(str2num(calibName(end)))];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_PHASE_COEF_', length('AANDERAA_OPTODE_PHASE_COEF_')) == 1)
               fieldName = ['PhaseCoef' calibName(end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_TEMP_COEF_', length('AANDERAA_OPTODE_TEMP_COEF_')) == 1)
               fieldName = ['TempCoef' calibName(end)];
            end
            calibData.(fieldName) = metaData{idForWmo(idF(id)), 4};
         end
         if (~isempty(calibData))
            calibrationCoefficient = [];
            calibrationCoefficient.OPTODE = calibData;
            
            metaStruct.CALIBRATION_COEFFICIENT = calibrationCoefficient;
         end
         if (strcmp(dacFormatId, '5.73'))
            idF = find(strncmp(metaData(idForWmo, 5), 'SBE_OPTODE_COEF_', length('SBE_OPTODE_COEF_')) == 1);
            for id = 1:length(idF)
               calibName = metaData{idForWmo(idF(id)), 5};
               idFUs = strfind(calibName, '_');
               if (length(idFUs) > 2)
                  fieldName = ['SBEOptode' calibName(idFUs(3)+1:end)];
                  calibData.(fieldName) = metaData{idForWmo(idF(id)), 4};
               end
            end
         end
         if (~isempty(calibData))
            calibrationCoefficient = [];
            calibrationCoefficient.OPTODE = calibData;
            
            metaStruct.CALIBRATION_COEFFICIENT = calibrationCoefficient;
         end
      case {'5.72'}
         idF = find((strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_TEMP_COEF_', length('AANDERAA_OPTODE_TEMP_COEF_')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_PHASE_COEF_', length('AANDERAA_OPTODE_PHASE_COEF_')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_CONC_COEF_', length('AANDERAA_OPTODE_CONC_COEF_')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_FOIL_COEFF_A', length('AANDERAA_OPTODE_FOIL_COEFF_A')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_FOIL_COEFF_B', length('AANDERAA_OPTODE_FOIL_COEFF_B')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_FOIL_POLYDEG_T', length('AANDERAA_OPTODE_FOIL_POLYDEG_T')) == 1) | ...
            (strncmp(metaData(idForWmo, 5), 'AANDERAA_OPTODE_FOIL_POLYDEG_O', length('AANDERAA_OPTODE_FOIL_POLYDEG_O')) == 1));
         calibData = [];
         for id = 1:length(idF)
            calibName = metaData{idForWmo(idF(id)), 5};
            if (strncmp(calibName, 'AANDERAA_OPTODE_TEMP_COEF_', length('AANDERAA_OPTODE_TEMP_COEF_')) == 1)
               fieldName = ['TempCoef' calibName(end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_PHASE_COEF_', length('AANDERAA_OPTODE_PHASE_COEF_')) == 1)
               fieldName = ['PhaseCoef' calibName(end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_CONC_COEF_', length('AANDERAA_OPTODE_CONC_COEF_')) == 1)
               fieldName = ['ConcCoef' calibName(end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_FOIL_COEFF_A', length('AANDERAA_OPTODE_FOIL_COEFF_A')) == 1)
               fieldName = ['FoilCoefA' calibName(length('AANDERAA_OPTODE_FOIL_COEFF_A')+1:end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_FOIL_COEFF_B', length('AANDERAA_OPTODE_FOIL_COEFF_B')) == 1)
               fieldName = ['FoilCoefB' calibName(length('AANDERAA_OPTODE_FOIL_COEFF_B')+1:end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_FOIL_POLYDEG_T', length('AANDERAA_OPTODE_FOIL_POLYDEG_T')) == 1)
               fieldName = ['FoilPolyDegT' calibName(length('AANDERAA_OPTODE_FOIL_POLYDEG_T')+1:end)];
            elseif (strncmp(calibName, 'AANDERAA_OPTODE_FOIL_POLYDEG_O', length('AANDERAA_OPTODE_FOIL_POLYDEG_O')) == 1)
               fieldName = ['FoilPolyDegO' calibName(length('AANDERAA_OPTODE_FOIL_POLYDEG_O')+1:end)];
            end
            calibData.(fieldName) = metaData{idForWmo(idF(id)), 4};
         end
         if (~isempty(calibData))
            calibrationCoefficient = [];
            calibrationCoefficient.OPTODE = calibData;
            
            metaStruct.CALIBRATION_COEFFICIENT = calibrationCoefficient;
         end
   end
   
   % RT_OFFSET
   if (any(strcmp(metaData(idForWmo, 5), 'CALIB_RT_PARAMETER')))
      metaStruct.RT_OFFSET = get_rt_offset(metaData, idForWmo, floatNum);
   end
   
   % RBR META-DATA
   if (ismember(dacFormatId, [{'5.49'}]))
            
      if ~(exist(a_rbrMetaDataDirName, 'dir') == 7)
         fprintf('WARNING: Float #%d: Directory not found: %s - RBR meta-data are missing\n', ...
            floatNum, a_rbrMetaDataDirName);
      else
         files = dir([a_rbrMetaDataDirName '/' num2str(floatNum) '_*.txt']);
         if (isempty(files))
            fprintf('WARNING: Float #%d: No RBR meta-data file in directory: %s - RBR meta-data are missing\n', ...
               floatNum, a_rbrMetaDataDirName);
         elseif (length(files) > 1)
            fprintf('WARNING: Float #%d: Multiple (%d) RBR meta-data file in directory: %s - RBR meta-data are missing\n', ...
               floatNum, length(files), a_rbrMetaDataDirName);
         else
            % consider XML meta-data file
            rbrMetaDataFileName = [a_rbrMetaDataDirName '/' files(1).name];
            metaStruct = get_meta_data_rbr(rbrMetaDataFileName, metaStruct, floatNum);
         end
      end
   end
   
   if (~check_json_meta_data(metaStruct, floatNum))
      skipFloat = 1;
   end
   
   if (skipFloat)
      continue
   end
   
   % create the directory of json output files
   if ~(exist(a_outputDirName, 'dir') == 7)
      mkdir(a_outputDirName);
   end
   
   % create json output file
   outputFileName = [a_outputDirName '/' sprintf('%d_meta.json', floatNum)];
   ok = generate_json_file(outputFileName, metaStruct);
   if (~ok)
      return
   end
   g_cogj_reportData{end+1} = outputFileName;
   
end

return

% ------------------------------------------------------------------------------
% Get the list of configuration parameters for a given float version.
%
% SYNTAX :
%  [o_configStruct] = get_config_init_struct(a_dacFormatId)
%
% INPUT PARAMETERS :
%   a_dacFormatId : float DAC version
%
% OUTPUT PARAMETERS :
%   o_configStruct : list of configuration parameters
%
% EXAMPLES :
%
% SEE ALSO :
% AUTHORS  : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com)
% ------------------------------------------------------------------------------
% RELEASES :
%   10/15/2014 - RNU - creation
%   09/01/2017 - RNU - RT version added
% ------------------------------------------------------------------------------
function [o_configStruct] = get_config_init_struct(a_dacFormatId)

% output parameters initialization
o_configStruct = [];

switch (a_dacFormatId)
   
   case {'5.4'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', '255', ...
         'CONFIG_PM01_CyclePeriod', '10', ...
         'CONFIG_PM02_ReferenceDay', '2', ...
         'CONFIG_PM03_EstimatedSurfaceTime', '6', ...
         'CONFIG_PM04_DelayBeforeMission', '0', ...
         'CONFIG_PM05_DescentSamplingPeriod', '0', ...
         'CONFIG_PM06_DriftSamplingPeriod', '12', ...
         'CONFIG_PM07_AscentSamplingPeriod', '10', ...
         'CONFIG_PM08_DriftDepth', '1000', ...
         'CONFIG_PM09_ProfileDepth', '1500', ...
         'CONFIG_PM10_ThresholdSurfaceBottomPressure', '200', ...
         'CONFIG_PM11_ThicknessOfTheSurfaceSlices', '10', ...
         'CONFIG_PM12_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_PM13_IridiumEOLTransmissionPeriod', '60', ...
         'CONFIG_PM14_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', '1000', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', '11', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', '290', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', '720', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', '24000', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', '30', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', '2100', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', '1', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', '2', ...
         'CONFIG_PT10_GroundingMode', '0', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', '36', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', '200', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', '1', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_PT17_SecondProfilePressure', '2000', ...
         'CONFIG_PT18_AverageDescentSpeed', '30', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', '5', ...
         'CONFIG_PT21_IridiumTimeOut', '10', ...
         'CONFIG_PT22_InternalPressureCalibrationCoefficient1', '0', ...
         'CONFIG_PT23_InternalPressureCalibrationCoefficient2', '0', ...
         'CONFIG_PX00_Direction', '');
      
   case {'5.41', '5.42'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', '255', ...
         'CONFIG_PM01_CyclePeriod', '10', ...
         'CONFIG_PM02_ReferenceDay', '2', ...
         'CONFIG_PM03_EstimatedSurfaceTime', '6', ...
         'CONFIG_PM04_DelayBeforeMission', '0', ...
         'CONFIG_PM05_DescentSamplingPeriod', '0', ...
         'CONFIG_PM06_DriftSamplingPeriod', '12', ...
         'CONFIG_PM07_AscentSamplingPeriod', '10', ...
         'CONFIG_PM08_DriftDepth', '1000', ...
         'CONFIG_PM09_ProfileDepth', '2000', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', '60', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', '1000', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', '11', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', '290', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', '720', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', '30000', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', '30', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', '2100', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', '2', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', '2', ...
         'CONFIG_PT10_GroundingMode', '0', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', '36', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', '200', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', '1', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_PT17_SecondProfilePressure', '2000', ...
         'CONFIG_PT18_AverageDescentSpeed', '30', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', '5', ...
         'CONFIG_PT21_IridiumTimeOut', '10', ...
         'CONFIG_PT22_InternalPressureCalibrationCoefficient1', '0', ...
         'CONFIG_PT23_InternalPressureCalibrationCoefficient2', '0', ...
         'CONFIG_PX00_Direction', '');
      
   case {'5.6'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', '255', ...
         'CONFIG_PM01_CyclePeriod', '10', ...
         'CONFIG_PM02_ReferenceDay', '2', ...
         'CONFIG_PM03_EstimatedSurfaceTime', '6', ...
         'CONFIG_PM04_DelayBeforeMission', '0', ...
         'CONFIG_PM05_DescentSamplingPeriod', '0', ...
         'CONFIG_PM06_DriftSamplingPeriod', '12', ...
         'CONFIG_PM07_AscentSamplingPeriod', '10', ...
         'CONFIG_PM08_DriftDepth', '1000', ...
         'CONFIG_PM09_ProfileDepth', '3500', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', '60', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_PM17_PostGroundingWaitingTime', '60', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', '1100', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', '17', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', '450', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', '1120', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', '24000', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', '50', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', '3600', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', '2', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', '2', ...
         'CONFIG_PT10_GroundingMode', '0', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', '47', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', '200', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', '1', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_PT17_SecondProfilePressure', '3500', ...
         'CONFIG_PT18_AverageDescentSpeed', '30', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', '5', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', '1', ...
         'CONFIG_PT22_EndOfAscentPressure', '10', ...
         'CONFIG_PT23_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_PT24_InternalPressureCalibrationCoefficient1', '0', ...
         'CONFIG_PT25_InternalPressureCalibrationCoefficient2', '0', ...
         'CONFIG_PX00_Direction', '');
      
   case {'5.61', '5.62', '5.63'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', '255', ...
         'CONFIG_PM01_CyclePeriod', '10', ...
         'CONFIG_PM02_ReferenceDay', '2', ...
         'CONFIG_PM03_EstimatedSurfaceTime', '6', ...
         'CONFIG_PM04_DelayBeforeMission', '0', ...
         'CONFIG_PM05_DescentSamplingPeriod', '0', ...
         'CONFIG_PM06_DriftSamplingPeriod', '12', ...
         'CONFIG_PM07_AscentSamplingPeriod', '10', ...
         'CONFIG_PM08_DriftDepth', '1000', ...
         'CONFIG_PM09_ProfileDepth', '3500', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', '60', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_PM17_PostGroundingWaitingTime', '60', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', '1100', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', '17', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', '450', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', '1120', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', '24000', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', '50', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', '4220', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', '2', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', '2', ...
         'CONFIG_PT10_GroundingMode', '0', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', '47', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', '200', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', '1', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_PT17_SecondProfilePressure', '4000', ...
         'CONFIG_PT18_AverageDescentSpeed', '30', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', '5', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', '1', ...
         'CONFIG_PT22_EndOfAscentPressure', '10', ...
         'CONFIG_PT23_AverageAscentSpeed', '90', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', '5', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', '4', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', '24', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_PT30_InternalPressureCalibrationCoefficient1', '0', ...
         'CONFIG_PT31_InternalPressureCalibrationCoefficient2', '0', ...
         'CONFIG_PX00_Direction', '');
      
   case {'5.64'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', '255', ...
         'CONFIG_PM01_CyclePeriod', '10', ...
         'CONFIG_PM02_ReferenceDay', '2', ...
         'CONFIG_PM03_EstimatedSurfaceTime', '6', ...
         'CONFIG_PM04_DelayBeforeMission', '0', ...
         'CONFIG_PM05_DescentSamplingPeriod', '0', ...
         'CONFIG_PM06_DriftSamplingPeriod', '12', ...
         'CONFIG_PM07_AscentSamplingPeriod', '10', ...
         'CONFIG_PM08_DriftDepth', '1000', ...
         'CONFIG_PM09_ProfileDepth', '3500', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', '60', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_PM17_PostGroundingWaitingTime', '60', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', '1100', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', '17', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', '450', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', '1120', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', '24000', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', '50', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', '4220', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', '2', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', '2', ...
         'CONFIG_PT10_GroundingMode', '0', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', '47', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', '200', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', '1', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_PT17_SecondProfilePressure', '4000', ...
         'CONFIG_PT18_AverageDescentSpeed', '30', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', '5', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', '1', ...
         'CONFIG_PT22_EndOfAscentPressure', '10', ...
         'CONFIG_PT23_AverageAscentSpeed', '90', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', '5', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', '4', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', '24', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_PT30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_PT31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_PT32_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_PT33_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_PT34_InternalPressureCalibrationCoefficient1', '0', ...
         'CONFIG_PT35_InternalPressureCalibrationCoefficient2', '0', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', '', ...
         'CONFIG_PX04_OptodeAdditionalStick', '');
      
   case {'5.65'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', '255', ...
         'CONFIG_PM01_CyclePeriod', '10', ...
         'CONFIG_PM02_ReferenceDay', '2', ...
         'CONFIG_PM03_EstimatedSurfaceTime', '6', ...
         'CONFIG_PM04_DelayBeforeMission', '0', ...
         'CONFIG_PM05_DescentSamplingPeriod', '0', ...
         'CONFIG_PM06_DriftSamplingPeriod', '12', ...
         'CONFIG_PM07_AscentSamplingPeriod', '10', ...
         'CONFIG_PM08_DriftDepth', '1000', ...
         'CONFIG_PM09_ProfileDepth', '3500', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', '60', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_PM17_PostGroundingWaitingTime', '60', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', '1100', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', '17', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', '450', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', '1120', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', '24000', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', '50', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', '4220', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', '2', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', '2', ...
         'CONFIG_PT10_GroundingMode', '0', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', '47', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', '200', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', '1', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_PT17_SecondProfilePressure', '4000', ...
         'CONFIG_PT18_AverageDescentSpeed', '30', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', '5', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', '1', ...
         'CONFIG_PT22_EndOfAscentPressure', '10', ...
         'CONFIG_PT23_AverageAscentSpeed', '90', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', '5', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', '4', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', '24', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_PT30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_PT31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_PT32_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_PT33_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_PT34_IridiumTimeOut', '10', ...
         'CONFIG_PT35_InternalPressureCalibrationCoefficient1', '0', ...
         'CONFIG_PT36_InternalPressureCalibrationCoefficient2', '0', ...
         'CONFIG_PG00_NbDaysWithoutSurfacingAfterIceDetection', '20', ...
         'CONFIG_PG01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', '2', ...
         'CONFIG_PG02_IceDetectionStartPressure', '45', ...
         'CONFIG_PG03_IceDetectionStopPressure', '15', ...
         'CONFIG_PG04_TemperatureThreshold', '-1650', ...
         'CONFIG_PG05_SlowDownPressure', '200', ...
         'CONFIG_PG06_PressureAcqPeriodDuringSlowAscentPhase', '2', ...
         'CONFIG_PG07_MinPressureDiffForPumpAction', '4', ...
         'CONFIG_PG08_PumpActionDuration', '500', ...
         'CONFIG_PG09_GPSTimeout', '8', ...
         'CONFIG_PG10_DelayBeforeAscentBlockingDetection', '30', ...
         'CONFIG_PG11_PressureVariationToEndBuoyancyInversion', '20', ...
         'CONFIG_PG12_OilVolumePerValveAction', '17', ...
         'CONFIG_PG13_OilVolumeMinForGroundingDetection', '300', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', 'OPTODE_VERTICAL_PRES_OFFSET', ...
         'CONFIG_PX04_OptodeAdditionalStick', 'OPTODE_ADDITIONAL_STICK', ...
         'CONFIG_PX05_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.66'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', '150', ...
         'CONFIG_PM01_CyclePeriod', '10', ...
         'CONFIG_PM02_ReferenceDay', '2', ...
         'CONFIG_PM03_EstimatedSurfaceTime', '6', ...
         'CONFIG_PM04_DelayBeforeMission', '0', ...
         'CONFIG_PM05_DescentSamplingPeriod', '0', ...
         'CONFIG_PM06_DriftSamplingPeriod', '12', ...
         'CONFIG_PM07_AscentSamplingPeriod', '10', ...
         'CONFIG_PM08_DriftDepth', '1000', ...
         'CONFIG_PM09_ProfileDepth', '4000', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', '60', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_PM17_PostGroundingWaitingTime', '1', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', '1100', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', '17', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', '450', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', '1120', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', '24000', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', '50', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', '4220', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', '2', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', '2', ...
         'CONFIG_PT10_GroundingMode', '0', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', '47', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', '200', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_PT17_SecondProfilePressure', '4000', ...
         'CONFIG_PT18_AverageDescentSpeed', '30', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', '5', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', '1', ...
         'CONFIG_PT22_EndOfAscentPressure', '10', ...
         'CONFIG_PT23_AverageAscentSpeed', '90', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', '5', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', '4', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', '24', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_PT30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_PT31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_PT32_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_PT33_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_PT34_InternalPressureCalibrationCoefficient1', '0', ...
         'CONFIG_PT35_InternalPressureCalibrationCoefficient2', '0', ...
         'CONFIG_PG00_NbDaysWithoutSurfacingAfterIceDetection', '10', ...
         'CONFIG_PG01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', '90', ...
         'CONFIG_PG02_NbDetectionToConfirmIce', '3', ...
         'CONFIG_PG03_IceDetectionStartPressure', '40', ...
         'CONFIG_PG04_IceDetectionStopPressure', '10', ...
         'CONFIG_PG05_TemperatureThreshold', '-1600', ...
         'CONFIG_PG06_SlowDownPressure', '150', ...
         'CONFIG_PG07_PressureAcqPeriodDuringSlowAscentPhase', '2', ...
         'CONFIG_PG08_MinPressureDiffForPumpAction', '2', ...
         'CONFIG_PG09_PumpActionDuration', '500', ...
         'CONFIG_PG10_GPSTimeout', '5', ...
         'CONFIG_PG11_FirstIridiumLockTimeout', '10', ...
         'CONFIG_PG12_DelayBeforeAscentBlockingDetection', '90', ...
         'CONFIG_PG13_PressureVariationToEndBuoyancyInversion', '20', ...
         'CONFIG_PG14_OilVolumePerValveAction', '9', ...
         'CONFIG_PG15_OilVolumeMinForGroundingDetection', '900', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', 'OPTODE_VERTICAL_PRES_OFFSET', ...
         'CONFIG_PX04_OptodeAdditionalStick', 'OPTODE_ADDITIONAL_STICK', ...
         'CONFIG_PX05_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.67'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', '255', ...
         'CONFIG_PM01_CyclePeriod', '10', ...
         'CONFIG_PM02_ReferenceDay', '2', ...
         'CONFIG_PM03_EstimatedSurfaceTime', '6', ...
         'CONFIG_PM04_DelayBeforeMission', '0', ...
         'CONFIG_PM05_DescentSamplingPeriod', '0', ...
         'CONFIG_PM06_DriftSamplingPeriod', '12', ...
         'CONFIG_PM07_AscentSamplingPeriod', '10', ...
         'CONFIG_PM08_DriftDepth', '1000', ...
         'CONFIG_PM09_ProfileDepth', '4000', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', '60', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_PM17_PostGroundingWaitingTime', '10', ...
         'CONFIG_PM18_BottomSizeThicknessWhenGrounded', '50', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', '1800', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', '17', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', '450', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', '1120', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', '30000', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', '50', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', '4220', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', '4', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold', '12', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', '2', ...
         'CONFIG_PT10_GroundingMode', '0', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', '47', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', '200', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_PT17_SecondProfilePressure', '4000', ...
         'CONFIG_PT18_AverageDescentSpeed', '30', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', '5', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', '1', ...
         'CONFIG_PT22_EndOfAscentPressure', '10', ...
         'CONFIG_PT23_AverageAscentSpeed', '90', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', '5', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', '4', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', '24', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_PT30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_PT31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_PT32_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_PT33_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_PT34_IridiumTimeOut', '10', ...
         'CONFIG_PT35_BallastSensorMountedFlag', '1', ...
         'CONFIG_PT36_InternalPressureCalibrationCoefficient1', '0', ...
         'CONFIG_PT37_InternalPressureCalibrationCoefficient2', '0', ...
         'CONFIG_PG00_NbDaysWithoutSurfacingAfterIceDetection', '10', ...
         'CONFIG_PG01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', '90', ...
         'CONFIG_PG02_NbDetectionToConfirmIce', '3', ...
         'CONFIG_PG03_IceDetectionStartPressure', '40', ...
         'CONFIG_PG04_IceDetectionStopPressure', '10', ...
         'CONFIG_PG05_TemperatureThreshold', '-1600', ...
         'CONFIG_PG06_SlowDownPressure', '150', ...
         'CONFIG_PG07_PressureAcqPeriodDuringSlowAscentPhase', '2', ...
         'CONFIG_PG08_MinPressureDiffForPumpAction', '2', ...
         'CONFIG_PG09_PumpActionDuration', '500', ...
         'CONFIG_PG10_GPSTimeout', '5', ...
         'CONFIG_PG11_FirstIridiumLockTimeout', '10', ...
         'CONFIG_PG12_DelayBeforeAscentBlockingDetection', '90', ...
         'CONFIG_PG13_PressureVariationToEndBuoyancyInversion', '20', ...
         'CONFIG_PG14_OilVolumePerValveAction', '9', ...
         'CONFIG_PG15_OilVolumeMinForGroundingDetection', '900', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', 'OPTODE_VERTICAL_PRES_OFFSET', ...
         'CONFIG_PX04_OptodeAdditionalStick', 'OPTODE_ADDITIONAL_STICK', ...
         'CONFIG_PX05_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.7', '5.71', '5.72', '5.73'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', '255', ...
         'CONFIG_PM01_CyclePeriod', '10', ...
         'CONFIG_PM02_ReferenceDay', '3', ...
         'CONFIG_PM03_EstimatedSurfaceTime', '6', ...
         'CONFIG_PM04_DelayBeforeMission', '0', ...
         'CONFIG_PM05_DescentSamplingPeriod', '0', ...
         'CONFIG_PM06_DriftSamplingPeriod', '12', ...
         'CONFIG_PM07_AscentSamplingPeriod', '10', ...
         'CONFIG_PM08_DriftDepth', '1000', ...
         'CONFIG_PM09_ProfileDepth', '2000', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', '60', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', '2700', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', '30', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', '400', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', '2000', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', '30000', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', '30', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', '2100', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', '4', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold', '8', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', '2', ...
         'CONFIG_PT10_GroundingMode', '0', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', '100', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', '200', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', '50', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', '1', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_PT17_SecondProfilePressure', '2000', ...
         'CONFIG_PT18_AverageDescentSpeed', '30', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', '5', ...
         'CONFIG_PT21_IridiumTimeOut', '10', ...
         'CONFIG_PT22_AscentEndThreshold', '10', ...
         'CONFIG_PT23_AscentSpeed', '90', ...
         'CONFIG_PT24_PressureCheckTimeAscent', '2', ...
         'CONFIG_PT25_AscentVerticalThresholdForBuoyancyAction', '10', ...
         'CONFIG_PT26_InternalPressureCalibrationCoef1', '0.125', ...
         'CONFIG_PT27_InternalPressureCalibrationCoef2', '0', ...
         'CONFIG_PX00_Direction', '');
      
   case {'5.43', '5.44'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', '300', ...
         'CONFIG_MC01_NbCyclesFirstMission', '300', ...
         'CONFIG_MC02_CyclePeriod1', '240', ...
         'CONFIG_MC03_CyclePeriod2', '240', ...
         'CONFIG_MC002_CyclePeriod', '240', ...
         'CONFIG_MC011_DriftDepth', '1000', ...
         'CONFIG_MC012_ProfileDepth', '2000', ...
         'CONFIG_MC04_ReferenceDay', '2', ...
         'CONFIG_MC05_EstimatedSurfaceTime', '6', ...
         'CONFIG_MC06_DelayBeforeMission', '0', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', '1', ...
         'CONFIG_MC08_DescentSamplingPeriod', '0', ...
         'CONFIG_MC09_DriftSamplingPeriod', '12', ...
         'CONFIG_MC10_AscentSamplingPeriod', '10', ...
         'CONFIG_MC11_DriftDepth1', '1000', ...
         'CONFIG_MC12_ProfileDepth1', '2000', ...
         'CONFIG_MC13_DriftDepth2', '1000', ...
         'CONFIG_MC14_ProfileDepth2', '2000', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_MC16_SecondProfilePressure', '2000', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_MC22_IridiumEolPeriod', '60', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_MC24_GroundingMode', '0', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_MC26_PostGroundingWaitingTime', '10', ...
         'CONFIG_MC27_OptodeType', '0', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', '5', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', '800', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', '11', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', '290', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', '720', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', '24000', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', '30', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', '2100', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', '1', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', '2', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', '36', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', '200', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_TC13_AverageDescentSpeed', '25', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_TC15_EndOfAscentPressure', '10', ...
         'CONFIG_TC16_AverageAscentSpeed', '90', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_TC19_GPSTimeout', '45', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', '0', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_TC23_InternalPressureCalibrationCoef1', '0.125', ...
         'CONFIG_TC24_InternalPressureCalibrationCoef2', '0', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '');
      
   case {'5.45'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', '300', ...
         'CONFIG_MC01_NbCyclesFirstMission', '300', ...
         'CONFIG_MC02_CyclePeriod1', '240', ...
         'CONFIG_MC03_CyclePeriod2', '240', ...
         'CONFIG_MC002_CyclePeriod', '240', ...
         'CONFIG_MC011_DriftDepth', '1000', ...
         'CONFIG_MC012_ProfileDepth', '2000', ...
         'CONFIG_MC04_ReferenceDay', '2', ...
         'CONFIG_MC05_EstimatedSurfaceTime', '6', ...
         'CONFIG_MC06_DelayBeforeMission', '0', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', '1', ...
         'CONFIG_MC08_DescentSamplingPeriod', '0', ...
         'CONFIG_MC09_DriftSamplingPeriod', '12', ...
         'CONFIG_MC10_AscentSamplingPeriod', '10', ...
         'CONFIG_MC11_DriftDepth1', '1000', ...
         'CONFIG_MC12_ProfileDepth1', '2000', ...
         'CONFIG_MC13_DriftDepth2', '1000', ...
         'CONFIG_MC14_ProfileDepth2', '2000', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_MC16_SecondProfilePressure', '2000', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_MC22_IridiumEolPeriod', '60', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_MC24_GroundingMode', '0', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_MC26_PostGroundingWaitingTime', '10', ...
         'CONFIG_MC27_OptodeType', '0', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', '5', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', '800', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', '11', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', '290', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', '720', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', '30000', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', '30', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', '2100', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', '1', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', '2', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', '36', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', '200', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_TC13_AverageDescentSpeed', '25', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_TC15_EndOfAscentPressure', '10', ...
         'CONFIG_TC16_AverageAscentSpeed', '90', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_TC19_GPSTimeout', '45', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', '0', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_TC23_IridiumTimeOut', '120', ...
         'CONFIG_TC24_InternalPressureCalibrationCoef1', '0.125', ...
         'CONFIG_TC25_InternalPressureCalibrationCoef2', '0', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', '10', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', '90', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', '3', ...
         'CONFIG_IC03_IceDetectionStartPressure', '50', ...
         'CONFIG_IC04_IceDetectionStopPressure', '20', ...
         'CONFIG_IC05_TemperatureThreshold', '-1790', ...
         'CONFIG_IC06_SlowDownPressure', '150', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', '2', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', '4', ...
         'CONFIG_IC09_PumpActionDuration', '500', ...
         'CONFIG_IC10_GPSTimeout', '5', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', '10', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', '30', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', '20', ...
         'CONFIG_IC14_OilVolumePerValveAction', '9', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', '900', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.47'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', '300', ...
         'CONFIG_MC01_NbCyclesFirstMission', '300', ...
         'CONFIG_MC02_CyclePeriod1', '240', ...
         'CONFIG_MC03_CyclePeriod2', '240', ...
         'CONFIG_MC002_CyclePeriod', '240', ...
         'CONFIG_MC011_DriftDepth', '1000', ...
         'CONFIG_MC012_ProfileDepth', '2000', ...
         'CONFIG_MC04_ReferenceDay', '2', ...
         'CONFIG_MC05_EstimatedSurfaceTime', '6', ...
         'CONFIG_MC06_DelayBeforeMission', '0', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', '1', ...
         'CONFIG_MC08_DescentSamplingPeriod', '0', ...
         'CONFIG_MC09_DriftSamplingPeriod', '12', ...
         'CONFIG_MC10_AscentSamplingPeriod', '10', ...
         'CONFIG_MC11_DriftDepth1', '1000', ...
         'CONFIG_MC12_ProfileDepth1', '2000', ...
         'CONFIG_MC13_DriftDepth2', '1000', ...
         'CONFIG_MC14_ProfileDepth2', '2000', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_MC16_SecondProfilePressure', '2000', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_MC22_IridiumEolPeriod', '60', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_MC24_GroundingMode', '0', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_MC26_PostGroundingWaitingTime', '10', ...
         'CONFIG_MC27_OptodeType', '0', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', '5', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', '800', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', '11', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', '290', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', '720', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', '30000', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', '30', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', '2100', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', '1', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', '2', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', '36', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', '200', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_TC13_AverageDescentSpeed', '25', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_TC15_EndOfAscentPressure', '10', ...
         'CONFIG_TC16_AverageAscentSpeed', '90', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_TC19_GPSTimeout', '45', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', '0', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_TC23_IridiumTimeOut', '120', ...
         'CONFIG_TC24_PressureCheckPeriodDuringDescent', '5', ...
         'CONFIG_TC25_MinPressureDiffForEVAction', '3', ...
         'CONFIG_TC26_InternalVacuumOfsetForSelfTest', '50', ...
         'CONFIG_TC27_InternalPressureCalibrationCoef1', '0.125', ...
         'CONFIG_TC28_InternalPressureCalibrationCoef2', '0', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', '10', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', '90', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', '3', ...
         'CONFIG_IC03_IceDetectionStartPressure', '50', ...
         'CONFIG_IC04_IceDetectionStopPressure', '20', ...
         'CONFIG_IC05_TemperatureThreshold', '-1790', ...
         'CONFIG_IC06_SlowDownPressure', '150', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', '2', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', '4', ...
         'CONFIG_IC09_PumpActionDuration', '500', ...
         'CONFIG_IC10_GPSTimeout', '5', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', '10', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', '30', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', '20', ...
         'CONFIG_IC14_OilVolumePerValveAction', '9', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', '900', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.48', '5.76'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', '300', ...
         'CONFIG_MC01_NbCyclesFirstMission', '300', ...
         'CONFIG_MC02_CyclePeriod1', '240', ...
         'CONFIG_MC03_CyclePeriod2', '240', ...
         'CONFIG_MC002_CyclePeriod', '240', ...
         'CONFIG_MC011_DriftDepth', '1000', ...
         'CONFIG_MC012_ProfileDepth', '2000', ...
         'CONFIG_MC04_ReferenceDay', '2', ...
         'CONFIG_MC05_EstimatedSurfaceTime', '6', ...
         'CONFIG_MC06_DelayBeforeMission', '0', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', '1', ...
         'CONFIG_MC08_DescentSamplingPeriod', '0', ...
         'CONFIG_MC09_DriftSamplingPeriod', '12', ...
         'CONFIG_MC10_AscentSamplingPeriod', '10', ...
         'CONFIG_MC11_DriftDepth1', '1000', ...
         'CONFIG_MC12_ProfileDepth1', '2000', ...
         'CONFIG_MC13_DriftDepth2', '1000', ...
         'CONFIG_MC14_ProfileDepth2', '2000', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_MC16_SecondProfilePressure', '2000', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_MC22_IridiumEolPeriod', '60', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_MC24_GroundingMode', '0', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_MC26_PostGroundingWaitingTime', '10', ...
         'CONFIG_MC27_OptodeType', '0', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', '5', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', '800', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', '11', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', '290', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', '720', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', '30000', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', '30', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', '2100', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', '1', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', '2', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', '36', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', '200', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_TC13_AverageDescentSpeed', '25', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_TC15_EndOfAscentPressure', '10', ...
         'CONFIG_TC16_AverageAscentSpeed', '90', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_TC19_GPSTimeout', '45', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', '0', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_TC23_IridiumTimeOut', '120', ...
         'CONFIG_TC24_PressureCheckPeriodDuringDescent', '5', ...
         'CONFIG_TC25_MinPressureDiffForEVAction', '3', ...
         'CONFIG_TC26_InternalVacuumOfsetForSelfTest', '50', ...
         'CONFIG_TC27_InternalPressureCalibrationCoef1', '0.125', ...
         'CONFIG_TC28_InternalPressureCalibrationCoef2', '0', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', '10', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', '90', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', '3', ...
         'CONFIG_IC03_IceDetectionStartPressure', '50', ...
         'CONFIG_IC04_IceDetectionStopPressure', '20', ...
         'CONFIG_IC05_TemperatureThreshold', '-1790', ...
         'CONFIG_IC06_SlowDownPressure', '150', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', '2', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', '4', ...
         'CONFIG_IC09_PumpActionDuration', '500', ...
         'CONFIG_IC10_GPSTimeout', '5', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', '10', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', '30', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', '20', ...
         'CONFIG_IC14_OilVolumePerValveAction', '9', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', '900', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_BitMaskMonthsIceDetectionActive', '', ...
         'CONFIG_PX04_OptodeVerticalOffset', '', ...
         'CONFIG_PX05_OptodeAdditionalStick', '');
      
   case {'5.49'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', '300', ...
         'CONFIG_MC01_NbCyclesFirstMission', '300', ...
         'CONFIG_MC02_CyclePeriod1', '240', ...
         'CONFIG_MC03_CyclePeriod2', '240', ...
         'CONFIG_MC002_CyclePeriod', '240', ...
         'CONFIG_MC011_DriftDepth', '1000', ...
         'CONFIG_MC012_ProfileDepth', '2000', ...
         'CONFIG_MC04_ReferenceDay', '2', ...
         'CONFIG_MC05_EstimatedSurfaceTime', '6', ...
         'CONFIG_MC06_DelayBeforeMission', '0', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', '1', ...
         'CONFIG_MC08_DescentSamplingPeriod', '0', ...
         'CONFIG_MC09_DriftSamplingPeriod', '12', ...
         'CONFIG_MC10_AscentSamplingPeriod', '10', ...
         'CONFIG_MC11_DriftDepth1', '1000', ...
         'CONFIG_MC12_ProfileDepth1', '2000', ...
         'CONFIG_MC13_DriftDepth2', '1000', ...
         'CONFIG_MC14_ProfileDepth2', '2000', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_MC16_SecondProfilePressure', '2000', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_MC22_IridiumEolPeriod', '60', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_MC24_GroundingMode', '0', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_MC26_PostGroundingWaitingTime', '10', ...
         'CONFIG_MC27_OptodeType', '0', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', '5', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', '800', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', '11', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', '290', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', '720', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', '30000', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', '30', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', '2100', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', '1', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', '2', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', '36', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', '200', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_TC13_AverageDescentSpeed', '25', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_TC15_EndOfAscentPressure', '10', ...
         'CONFIG_TC16_AverageAscentSpeed', '90', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_TC19_GPSTimeout', '45', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', '0', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_TC23_IridiumTimeOut', '120', ...
         'CONFIG_TC24_PressureCheckPeriodDuringDescent', '5', ...
         'CONFIG_TC25_MinPressureDiffForEVAction', '3', ...
         'CONFIG_TC26_InternalVacuumOfsetForSelfTest', '50', ...
         'CONFIG_TC27_TempCndcTransmission', '0', ...
         'CONFIG_TC28_InternalPressureCalibrationCoef1', '0.125', ...
         'CONFIG_TC29_InternalPressureCalibrationCoef2', '0', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', '10', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', '90', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', '3', ...
         'CONFIG_IC03_IceDetectionStartPressure', '50', ...
         'CONFIG_IC04_IceDetectionStopPressure', '20', ...
         'CONFIG_IC05_TemperatureThreshold', '-1790', ...
         'CONFIG_IC06_SlowDownPressure', '150', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', '2', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', '4', ...
         'CONFIG_IC09_PumpActionDuration', '500', ...
         'CONFIG_IC10_GPSTimeout', '5', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', '10', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', '30', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', '20', ...
         'CONFIG_IC14_OilVolumePerValveAction', '9', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', '900', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.74'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', '300', ...
         'CONFIG_MC01_NbCyclesFirstMission', '300', ...
         'CONFIG_MC02_CyclePeriod1', '240', ...
         'CONFIG_MC03_CyclePeriod2', '240', ...
         'CONFIG_MC002_CyclePeriod', '240', ...
         'CONFIG_MC011_DriftDepth', '1000', ...
         'CONFIG_MC012_ProfileDepth', '2000', ...
         'CONFIG_MC04_ReferenceDay', '2', ...
         'CONFIG_MC05_EstimatedSurfaceTime', '6', ...
         'CONFIG_MC06_DelayBeforeMission', '0', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', '1', ...
         'CONFIG_MC08_DescentSamplingPeriod', '0', ...
         'CONFIG_MC09_DriftSamplingPeriod', '12', ...
         'CONFIG_MC10_AscentSamplingPeriod', '10', ...
         'CONFIG_MC11_DriftDepth1', '1000', ...
         'CONFIG_MC12_ProfileDepth1', '2000', ...
         'CONFIG_MC13_DriftDepth2', '1000', ...
         'CONFIG_MC14_ProfileDepth2', '2000', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_MC16_SecondProfilePressure', '2000', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_MC22_IridiumEolPeriod', '60', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_MC24_GroundingMode', '0', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', '50', ...
         'CONFIG_MC26_PostGroundingWaitingTime', '1', ...
         'CONFIG_MC27_OptodeSensorActivationFlag', '1', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', '5', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', '800', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', '11', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', '290', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', '720', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', '24000', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', '30', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', '2100', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', '1', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', '2', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', '36', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', '200', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_TC13_AverageDescentSpeed', '25', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_TC15_EndOfAscentPressure', '10', ...
         'CONFIG_TC16_AverageAscentSpeed', '90', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_TC19_GPSTimeout', '45', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', '0', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_TC23_IridiumTimeOut', '', ...
         'CONFIG_TC24_InternalPressureCalibrationCoef1', '0.125', ...
         'CONFIG_TC25_InternalPressureCalibrationCoef2', '0', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', '', ...
         'CONFIG_PX04_OptodeAdditionalStick', '');
      
   case {'5.75', '5.46'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', '300', ...
         'CONFIG_MC01_NbCyclesFirstMission', '300', ...
         'CONFIG_MC02_CyclePeriod1', '240', ...
         'CONFIG_MC03_CyclePeriod2', '240', ...
         'CONFIG_MC002_CyclePeriod', '240', ...
         'CONFIG_MC011_DriftDepth', '1000', ...
         'CONFIG_MC012_ProfileDepth', '2000', ...
         'CONFIG_MC04_ReferenceDay', '2', ...
         'CONFIG_MC05_EstimatedSurfaceTime', '6', ...
         'CONFIG_MC06_DelayBeforeMission', '0', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', '1', ...
         'CONFIG_MC08_DescentSamplingPeriod', '0', ...
         'CONFIG_MC09_DriftSamplingPeriod', '12', ...
         'CONFIG_MC10_AscentSamplingPeriod', '10', ...
         'CONFIG_MC11_DriftDepth1', '1000', ...
         'CONFIG_MC12_ProfileDepth1', '2000', ...
         'CONFIG_MC13_DriftDepth2', '1000', ...
         'CONFIG_MC14_ProfileDepth2', '2000', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', '1', ...
         'CONFIG_MC16_SecondProfilePressure', '2000', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', '10', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', '200', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', '1', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', '10', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', '25', ...
         'CONFIG_MC22_IridiumEolPeriod', '60', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', '0', ...
         'CONFIG_MC24_GroundingMode', '0', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', '100', ...
         'CONFIG_MC26_PostGroundingWaitingTime', '10', ...
         'CONFIG_MC27_OptodeSensorActivationFlag', '1', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', '5', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', '0', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', '30', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', '5', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', '800', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', '11', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', '290', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', '720', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', '30000', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', '30', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', '2100', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', '1', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', '7', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', '2', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', '36', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', '200', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', '50', ...
         'CONFIG_TC13_AverageDescentSpeed', '25', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', '0', ...
         'CONFIG_TC15_EndOfAscentPressure', '10', ...
         'CONFIG_TC16_AverageAscentSpeed', '90', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', '2', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', '10', ...
         'CONFIG_TC19_GPSTimeout', '45', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', '1', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', '0', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', '3000', ...
         'CONFIG_TC23_IridiumTimeOut', '', ...
         'CONFIG_TC24_InternalPressureCalibrationCoef1', '0.125', ...
         'CONFIG_TC25_InternalPressureCalibrationCoef2', '0', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', '10', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', '90', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', '3', ...
         'CONFIG_IC03_IceDetectionStartPressure', '50', ...
         'CONFIG_IC04_IceDetectionStopPressure', '20', ...
         'CONFIG_IC05_TemperatureThreshold', '-1790', ...
         'CONFIG_IC06_SlowDownPressure', '150', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', '2', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', '4', ...
         'CONFIG_IC09_PumpActionDuration', '500', ...
         'CONFIG_IC10_GPSTimeout', '5', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', '10', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', '30', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', '20', ...
         'CONFIG_IC14_OilVolumePerValveAction', '9', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', '900', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', '', ...
         'CONFIG_PX04_OptodeAdditionalStick', '', ...
         'CONFIG_PX05_BitMaskMonthsIceDetectionActive', '');
      
   otherwise
      fprintf('WARNING: Nothing done yet in generate_json_float_meta_prv_ir_sbd_ for dacFormatId %s\n', a_dacFormatId);
end

return

% ------------------------------------------------------------------------------
% Get the list of BDD variables associated to configuration parameters for a
% given float version.
%
% SYNTAX :
%  [o_configStruct] = get_config_bdd_struct(a_dacFormatId)
%
% INPUT PARAMETERS :
%   a_dacFormatId : float DAC version
%
% OUTPUT PARAMETERS :
%   o_configStruct : list of BDD variables
%
% EXAMPLES :
%
% SEE ALSO :
% AUTHORS  : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com)
% ------------------------------------------------------------------------------
% RELEASES :
%   10/15/2014 - RNU - creation
%   09/01/2017 - RNU - RT version added
% ------------------------------------------------------------------------------
function [o_configStruct] = get_config_bdd_struct(a_dacFormatId)

% output parameters initialization
o_configStruct = [];

switch (a_dacFormatId)
   
   case {'5.4'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_PM01_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_PM02_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_PM03_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_PM04_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_PM05_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_PM06_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_PM07_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_PM08_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_PM09_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_PM10_ThresholdSurfaceBottomPressure', 'SHALLOW_DEEP_THRESHOLD', ...
         'CONFIG_PM11_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_PM12_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_PM13_IridiumEOLTransmissionPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_PM14_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold',  'PRCFG_Descent_start_pressure', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_PT10_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_PT17_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_PT18_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_PT21_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_PT22_InternalPressureCalibrationCoefficient1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_PT23_InternalPressureCalibrationCoefficient2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PX00_Direction', 'DIRECTION');
      
   case {'5.41', '5.42'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_PM01_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_PM02_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_PM03_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_PM04_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_PM05_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_PM06_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_PM07_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_PM08_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_PM09_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold',  'PRCFG_Descent_start_pressure', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_PT10_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_PT17_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_PT18_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_PT21_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_PT22_InternalPressureCalibrationCoefficient1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_PT23_InternalPressureCalibrationCoefficient2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PX00_Direction', 'DIRECTION');
      
   case {'5.6'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_PM01_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_PM02_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_PM03_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_PM04_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_PM05_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_PM06_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_PM07_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_PM08_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_PM09_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_PM17_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold',  'PRCFG_Descent_start_pressure', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_PT10_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_PT17_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_PT18_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', 'OPTODE_ACTIVE', ...
         'CONFIG_PT22_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_PT23_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_PT24_InternalPressureCalibrationCoefficient1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_PT25_InternalPressureCalibrationCoefficient2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PX00_Direction', 'DIRECTION');
      
   case {'5.61', '5.62', '5.63'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_PM01_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_PM02_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_PM03_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_PM04_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_PM05_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_PM06_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_PM07_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_PM08_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_PM09_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_PM17_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold',  'PRCFG_Descent_start_pressure', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_PT10_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_PT17_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_PT18_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', 'OPTODE_ACTIVE', ...
         'CONFIG_PT22_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_PT23_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', 'VECTOR_ASCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', 'VECTOR_DESCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', 'DESCENT_STABILIZATION_PRES', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', 'MAX_GPS_ATTEMPTS_BEFORE_RESET', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_PT30_InternalPressureCalibrationCoefficient1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_PT31_InternalPressureCalibrationCoefficient2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PX00_Direction', 'DIRECTION');
      
   case {'5.64'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_PM01_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_PM02_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_PM03_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_PM04_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_PM05_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_PM06_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_PM07_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_PM08_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_PM09_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_PM17_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold',  'PRCFG_Descent_start_pressure', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_PT10_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_PT17_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_PT18_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', 'OPTODE_ACTIVE', ...
         'CONFIG_PT22_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_PT23_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', 'VECTOR_ASCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', 'VECTOR_DESCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', 'DESCENT_STABILIZATION_PRES', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', 'MAX_GPS_ATTEMPTS_BEFORE_RESET', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_PT30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_PT31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_PT32_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_PT33_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_PT34_InternalPressureCalibrationCoefficient1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_PT35_InternalPressureCalibrationCoefficient2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', 'OPTODE_VERTICAL_PRES_OFFSET', ...
         'CONFIG_PX04_OptodeAdditionalStick', 'OPTODE_ADDITIONAL_STICK');
      
   case {'5.65'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_PM01_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_PM02_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_PM03_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_PM04_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_PM05_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_PM06_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_PM07_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_PM08_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_PM09_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_PM17_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold',  'PRCFG_Descent_start_pressure', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_PT10_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_PT17_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_PT18_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', 'OPTODE_ACTIVE', ...
         'CONFIG_PT22_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_PT23_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', 'VECTOR_ASCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', 'VECTOR_DESCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', 'DESCENT_STABILIZATION_PRES', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', 'MAX_GPS_ATTEMPTS_BEFORE_RESET', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_PT30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_PT31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_PT32_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_PT33_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_PT34_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_PT35_InternalPressureCalibrationCoefficient1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_PT36_InternalPressureCalibrationCoefficient2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PG00_NbDaysWithoutSurfacingAfterIceDetection', 'ICE_NO_SURFACE_DELAY', ...
         'CONFIG_PG01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', 'ICE_DISABLE_ALGO_DELAY', ...
         'CONFIG_PG02_IceDetectionStartPressure', 'ICE_ISA_TEMP_COMP_START_PRES', ...
         'CONFIG_PG03_IceDetectionStopPressure', 'ICE_ISA_TEMP_COMP_STOP_PRES', ...
         'CONFIG_PG04_TemperatureThreshold', 'ICE_ISA_TEMP_THRESHOLD', ...
         'CONFIG_PG05_SlowDownPressure', 'ICE_ISA_SLOWDOWN_START_PRES', ...
         'CONFIG_PG06_PressureAcqPeriodDuringSlowAscentPhase', 'ICE_ISA_PRES_ACQUISITION_PERIOD', ...
         'CONFIG_PG07_MinPressureDiffForPumpAction', 'ICE_ISA_ASCENT_STAB_PRES', ...
         'CONFIG_PG08_PumpActionDuration', 'ICE_ISA_PUMP_DURATION', ...
         'CONFIG_PG09_GPSTimeout', 'ICE_GPS_TIMEOUT', ...
         'CONFIG_PG10_DelayBeforeAscentBlockingDetection', 'ICE_NO_VERTICAL_MOTION_TIMEOUT', ...
         'CONFIG_PG11_PressureVariationToEndBuoyancyInversion', 'ICE_DELTA_PRES_BUOY_INV_END', ...
         'CONFIG_PG12_OilVolumePerValveAction', 'ICE_VOLUME_EV_ACTION_BUOY_INV', ...
         'CONFIG_PG13_OilVolumeMinForGroundingDetection', 'ICE_VOLUME_GROUNDING_BUOY_INV', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', 'OPTODE_VERTICAL_PRES_OFFSET', ...
         'CONFIG_PX04_OptodeAdditionalStick', 'OPTODE_ADDITIONAL_STICK', ...
         'CONFIG_PX05_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.66'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_PM01_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_PM02_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_PM03_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_PM04_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_PM05_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_PM06_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_PM07_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_PM08_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_PM09_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_PM17_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold',  'PRCFG_Descent_start_pressure', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_PT10_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_PT17_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_PT18_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', 'OPTODE_ACTIVE', ...
         'CONFIG_PT22_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_PT23_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', 'VECTOR_ASCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', 'VECTOR_DESCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', 'DESCENT_STABILIZATION_PRES', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', 'MAX_GPS_ATTEMPTS_BEFORE_RESET', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_PT30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_PT31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_PT32_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_PT33_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_PT34_InternalPressureCalibrationCoefficient1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_PT35_InternalPressureCalibrationCoefficient2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PG00_NbDaysWithoutSurfacingAfterIceDetection', 'ICE_NO_SURFACE_DELAY', ...
         'CONFIG_PG01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', 'ICE_DISABLE_ALGO_DELAY', ...
         'CONFIG_PG02_NbDetectionToConfirmIce', 'ICE_ISA_NB_TEMP_COMP_TRUE', ...
         'CONFIG_PG03_IceDetectionStartPressure', 'ICE_ISA_TEMP_COMP_START_PRES', ...
         'CONFIG_PG04_IceDetectionStopPressure', 'ICE_ISA_TEMP_COMP_STOP_PRES', ...
         'CONFIG_PG05_TemperatureThreshold', 'ICE_ISA_TEMP_THRESHOLD', ...
         'CONFIG_PG06_SlowDownPressure', 'ICE_ISA_SLOWDOWN_START_PRES', ...
         'CONFIG_PG07_PressureAcqPeriodDuringSlowAscentPhase', 'ICE_ISA_PRES_ACQUISITION_PERIOD', ...
         'CONFIG_PG08_MinPressureDiffForPumpAction', 'ICE_ISA_ASCENT_STAB_PRES', ...
         'CONFIG_PG09_PumpActionDuration', 'ICE_ISA_PUMP_DURATION', ...
         'CONFIG_PG10_GPSTimeout', 'ICE_GPS_TIMEOUT', ...
         'CONFIG_PG11_FirstIridiumLockTimeout', 'ICE_FIRST_IRIDIUM_LOCK_TIMEOUT', ...
         'CONFIG_PG12_DelayBeforeAscentBlockingDetection', 'ICE_NO_VERTICAL_MOTION_TIMEOUT', ...
         'CONFIG_PG13_PressureVariationToEndBuoyancyInversion', 'ICE_DELTA_PRES_BUOY_INV_END', ...
         'CONFIG_PG14_OilVolumePerValveAction', 'ICE_VOLUME_EV_ACTION_BUOY_INV', ...
         'CONFIG_PG15_OilVolumeMinForGroundingDetection', 'ICE_VOLUME_GROUNDING_BUOY_INV', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', 'OPTODE_VERTICAL_PRES_OFFSET', ...
         'CONFIG_PX04_OptodeAdditionalStick', 'OPTODE_ADDITIONAL_STICK', ...
         'CONFIG_PX05_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.67'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_PM01_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_PM02_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_PM03_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_PM04_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_PM05_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_PM06_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_PM07_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_PM08_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_PM09_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_PM17_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_PM18_BottomSizeThicknessWhenGrounded', 'DEEP_ZONE_THRESHOLD_IF_GROUNDED', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold',  'PRCFG_Descent_start_pressure', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_PT10_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_PT17_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_PT18_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_PT21_OptodeSensorActivationFlag', 'OPTODE_ACTIVE', ...
         'CONFIG_PT22_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_PT23_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_PT24_PressureCheckPeriodDuringAscent', 'VECTOR_ASCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT25_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_PT26_PressureCheckPeriodDuringDescent', 'VECTOR_DESCEND_SAMPLING_PERIOD', ...
         'CONFIG_PT27_MinPressureDiffForEVAction', 'DESCENT_STABILIZATION_PRES', ...
         'CONFIG_PT28_NumberOfGpsLocationRetriesBeforeSwitchOffOn', 'MAX_GPS_ATTEMPTS_BEFORE_RESET', ...
         'CONFIG_PT29_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_PT30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_PT31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_PT32_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_PT33_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_PT34_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_PT35_BallastSensorMountedFlag', 'BALLAST_SENSOR_MOUNTED_FLAG', ...
         'CONFIG_PT36_InternalPressureCalibrationCoefficient1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_PT37_InternalPressureCalibrationCoefficient2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PG00_NbDaysWithoutSurfacingAfterIceDetection', 'ICE_NO_SURFACE_DELAY', ...
         'CONFIG_PG01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', 'ICE_DISABLE_ALGO_DELAY', ...
         'CONFIG_PG02_NbDetectionToConfirmIce', 'ICE_ISA_NB_TEMP_COMP_TRUE', ...
         'CONFIG_PG03_IceDetectionStartPressure', 'ICE_ISA_TEMP_COMP_START_PRES', ...
         'CONFIG_PG04_IceDetectionStopPressure', 'ICE_ISA_TEMP_COMP_STOP_PRES', ...
         'CONFIG_PG05_TemperatureThreshold', 'ICE_ISA_TEMP_THRESHOLD', ...
         'CONFIG_PG06_SlowDownPressure', 'ICE_ISA_SLOWDOWN_START_PRES', ...
         'CONFIG_PG07_PressureAcqPeriodDuringSlowAscentPhase', 'ICE_ISA_PRES_ACQUISITION_PERIOD', ...
         'CONFIG_PG08_MinPressureDiffForPumpAction', 'ICE_ISA_ASCENT_STAB_PRES', ...
         'CONFIG_PG09_PumpActionDuration', 'ICE_ISA_PUMP_DURATION', ...
         'CONFIG_PG10_GPSTimeout', 'ICE_GPS_TIMEOUT', ...
         'CONFIG_PG11_FirstIridiumLockTimeout', 'ICE_FIRST_IRIDIUM_LOCK_TIMEOUT', ...
         'CONFIG_PG12_DelayBeforeAscentBlockingDetection', 'ICE_NO_VERTICAL_MOTION_TIMEOUT', ...
         'CONFIG_PG13_PressureVariationToEndBuoyancyInversion', 'ICE_DELTA_PRES_BUOY_INV_END', ...
         'CONFIG_PG14_OilVolumePerValveAction', 'ICE_VOLUME_EV_ACTION_BUOY_INV', ...
         'CONFIG_PG15_OilVolumeMinForGroundingDetection', 'ICE_VOLUME_GROUNDING_BUOY_INV', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', 'OPTODE_VERTICAL_PRES_OFFSET', ...
         'CONFIG_PX04_OptodeAdditionalStick', 'OPTODE_ADDITIONAL_STICK', ...
         'CONFIG_PX05_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.7', '5.71', '5.72', '5.73'}
      o_configStruct = struct( ...
         'CONFIG_PM00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_PM01_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_PM02_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_PM03_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_PM04_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_PM05_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_PM06_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_PM07_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_PM08_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_PM09_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_PM10_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_PM11_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_PM12_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_PM13_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_PM14_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_PM15_IridiumEOLTransmissionPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_PM16_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_PT00_EVMaxDurationOnSurface', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_PT01_EVMaxVolumeDuringDescentAndRepositioning', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_PT02_PumpMaxDurationDuringRepositioning', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_PT03_PumpMaxDurationDuringAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_PT04_PumpDurationDuringBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_PT05_PressureTargetToleranceForStabilization', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_PT06_MaxPressureBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_PT07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_PT08_BuoyancyReductionSecondThreshold',  'PRCFG_Descent_start_pressure', ...
         'CONFIG_PT09_NumberOfOutOfTolerancePressuresBeforeRepositioning', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_PT10_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_PT11_MinOilVolumeForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_PT12_MinPressureThresholdToSwitchPressureWhenGrounding', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_PT13_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_PT14_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_PT15_SensorPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_PT16_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_PT17_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_PT18_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_PT19_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_PT20_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_PT21_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_PT22_AscentEndThreshold', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_PT23_AscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_PT24_PressureCheckTimeAscent', 'PRES_CHECK_TIME_ASCENT', ...
         'CONFIG_PT25_AscentVerticalThresholdForBuoyancyAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_PT26_InternalPressureCalibrationCoef1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_PT27_InternalPressureCalibrationCoef2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PX0_Direction', 'DIRECTION');
      
   case {'5.43', '5.44'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_MC01_NbCyclesFirstMission', 'NB_CYCLE_FIRST_MISSION', ...
         'CONFIG_MC02_CyclePeriod1', 'CYCLE_TIME', ...
         'CONFIG_MC03_CyclePeriod2', 'CYCLE_TIME', ...
         'CONFIG_MC002_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_MC011_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_MC012_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC04_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_MC05_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_MC06_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_MC08_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_MC09_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_MC10_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_MC11_DriftDepth1', 'PARKING_PRESSURE', ...
         'CONFIG_MC12_ProfileDepth1', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC13_DriftDepth2', 'PARKING_PRESSURE', ...
         'CONFIG_MC14_ProfileDepth2', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_MC16_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_MC22_IridiumEolPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_MC24_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_MC26_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_MC27_OptodeType', 'OptodeType', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', 'PRCFG_Descent_start_pressure', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_TC13_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_TC15_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_TC16_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', 'PRES_CHECK_TIME_ASCENT', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_TC19_GPSTimeout', 'GPSTimeout', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', 'DELAY_BEFORE_RESETOFFSET_CMD', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_TC23_InternalPressureCalibrationCoef1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_TC24_InternalPressureCalibrationCoef2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '');
      
   case {'5.45'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_MC01_NbCyclesFirstMission', 'NB_CYCLE_FIRST_MISSION', ...
         'CONFIG_MC02_CyclePeriod1', 'CYCLE_TIME', ...
         'CONFIG_MC03_CyclePeriod2', 'CYCLE_TIME', ...
         'CONFIG_MC002_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_MC011_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_MC012_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC04_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_MC05_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_MC06_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_MC08_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_MC09_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_MC10_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_MC11_DriftDepth1', 'PARKING_PRESSURE', ...
         'CONFIG_MC12_ProfileDepth1', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC13_DriftDepth2', 'PARKING_PRESSURE', ...
         'CONFIG_MC14_ProfileDepth2', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_MC16_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_MC22_IridiumEolPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_MC24_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_MC26_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_MC27_OptodeType', 'OptodeType', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', 'PRCFG_Descent_start_pressure', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_TC13_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_TC15_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_TC16_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', 'PRES_CHECK_TIME_ASCENT', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_TC19_GPSTimeout', 'GPSTimeout', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', 'DELAY_BEFORE_RESETOFFSET_CMD', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_TC23_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_TC24_InternalPressureCalibrationCoef1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_TC25_InternalPressureCalibrationCoef2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', 'ICE_NO_SURFACE_DELAY', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', 'ICE_DISABLE_ALGO_DELAY', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', 'ICE_ISA_NB_TEMP_COMP_TRUE', ...
         'CONFIG_IC03_IceDetectionStartPressure', 'ICE_ISA_TEMP_COMP_START_PRES', ...
         'CONFIG_IC04_IceDetectionStopPressure', 'ICE_ISA_TEMP_COMP_STOP_PRES', ...
         'CONFIG_IC05_TemperatureThreshold', 'ICE_ISA_TEMP_THRESHOLD', ...
         'CONFIG_IC06_SlowDownPressure', 'ICE_ISA_SLOWDOWN_START_PRES', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', 'ICE_ISA_PRES_ACQUISITION_PERIOD', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', 'ICE_ISA_ASCENT_STAB_PRES', ...
         'CONFIG_IC09_PumpActionDuration', 'ICE_ISA_PUMP_DURATION', ...
         'CONFIG_IC10_GPSTimeout', 'ICE_GPS_TIMEOUT', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', 'ICE_FIRST_IRIDIUM_LOCK_TIMEOUT', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', 'ICE_NO_VERTICAL_MOTION_TIMEOUT', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', 'ICE_DELTA_PRES_BUOY_INV_END', ...
         'CONFIG_IC14_OilVolumePerValveAction', 'ICE_VOLUME_EV_ACTION_BUOY_INV', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', 'ICE_VOLUME_GROUNDING_BUOY_INV', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.47'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_MC01_NbCyclesFirstMission', 'NB_CYCLE_FIRST_MISSION', ...
         'CONFIG_MC02_CyclePeriod1', 'CYCLE_TIME', ...
         'CONFIG_MC03_CyclePeriod2', 'CYCLE_TIME', ...
         'CONFIG_MC002_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_MC011_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_MC012_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC04_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_MC05_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_MC06_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_MC08_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_MC09_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_MC10_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_MC11_DriftDepth1', 'PARKING_PRESSURE', ...
         'CONFIG_MC12_ProfileDepth1', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC13_DriftDepth2', 'PARKING_PRESSURE', ...
         'CONFIG_MC14_ProfileDepth2', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_MC16_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_MC22_IridiumEolPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_MC24_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_MC26_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_MC27_OptodeType', 'OptodeType', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', 'PRCFG_Descent_start_pressure', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_TC13_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_TC15_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_TC16_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', 'PRES_CHECK_TIME_ASCENT', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_TC19_GPSTimeout', 'GPSTimeout', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', 'DELAY_BEFORE_RESETOFFSET_CMD', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_TC23_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_TC24_PressureCheckPeriodDuringDescent', 'VECTOR_DESCEND_SAMPLING_PERIOD', ...
         'CONFIG_TC25_MinPressureDiffForEVAction', 'DESCENT_STABILIZATION_PRES', ...
         'CONFIG_TC26_InternalVacuumOfsetForSelfTest', 'SELF_TEST_INTERNAL_VACUUM_OFFSET', ...
         'CONFIG_TC27_InternalPressureCalibrationCoef1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_TC28_InternalPressureCalibrationCoef2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', 'ICE_NO_SURFACE_DELAY', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', 'ICE_DISABLE_ALGO_DELAY', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', 'ICE_ISA_NB_TEMP_COMP_TRUE', ...
         'CONFIG_IC03_IceDetectionStartPressure', 'ICE_ISA_TEMP_COMP_START_PRES', ...
         'CONFIG_IC04_IceDetectionStopPressure', 'ICE_ISA_TEMP_COMP_STOP_PRES', ...
         'CONFIG_IC05_TemperatureThreshold', 'ICE_ISA_TEMP_THRESHOLD', ...
         'CONFIG_IC06_SlowDownPressure', 'ICE_ISA_SLOWDOWN_START_PRES', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', 'ICE_ISA_PRES_ACQUISITION_PERIOD', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', 'ICE_ISA_ASCENT_STAB_PRES', ...
         'CONFIG_IC09_PumpActionDuration', 'ICE_ISA_PUMP_DURATION', ...
         'CONFIG_IC10_GPSTimeout', 'ICE_GPS_TIMEOUT', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', 'ICE_FIRST_IRIDIUM_LOCK_TIMEOUT', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', 'ICE_NO_VERTICAL_MOTION_TIMEOUT', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', 'ICE_DELTA_PRES_BUOY_INV_END', ...
         'CONFIG_IC14_OilVolumePerValveAction', 'ICE_VOLUME_EV_ACTION_BUOY_INV', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', 'ICE_VOLUME_GROUNDING_BUOY_INV', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.48', '5.76'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_MC01_NbCyclesFirstMission', 'NB_CYCLE_FIRST_MISSION', ...
         'CONFIG_MC02_CyclePeriod1', 'CYCLE_TIME', ...
         'CONFIG_MC03_CyclePeriod2', 'CYCLE_TIME', ...
         'CONFIG_MC002_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_MC011_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_MC012_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC04_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_MC05_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_MC06_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_MC08_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_MC09_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_MC10_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_MC11_DriftDepth1', 'PARKING_PRESSURE', ...
         'CONFIG_MC12_ProfileDepth1', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC13_DriftDepth2', 'PARKING_PRESSURE', ...
         'CONFIG_MC14_ProfileDepth2', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_MC16_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_MC22_IridiumEolPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_MC24_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_MC26_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_MC27_OptodeType', 'OptodeType', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', 'PRCFG_Descent_start_pressure', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_TC13_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_TC15_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_TC16_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', 'PRES_CHECK_TIME_ASCENT', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_TC19_GPSTimeout', 'GPSTimeout', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', 'DELAY_BEFORE_RESETOFFSET_CMD', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_TC23_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_TC24_PressureCheckPeriodDuringDescent', 'VECTOR_DESCEND_SAMPLING_PERIOD', ...
         'CONFIG_TC25_MinPressureDiffForEVAction', 'DESCENT_STABILIZATION_PRES', ...
         'CONFIG_TC26_InternalVacuumOfsetForSelfTest', 'SELF_TEST_INTERNAL_VACUUM_OFFSET', ...
         'CONFIG_TC27_InternalPressureCalibrationCoef1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_TC28_InternalPressureCalibrationCoef2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', 'ICE_NO_SURFACE_DELAY', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', 'ICE_DISABLE_ALGO_DELAY', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', 'ICE_ISA_NB_TEMP_COMP_TRUE', ...
         'CONFIG_IC03_IceDetectionStartPressure', 'ICE_ISA_TEMP_COMP_START_PRES', ...
         'CONFIG_IC04_IceDetectionStopPressure', 'ICE_ISA_TEMP_COMP_STOP_PRES', ...
         'CONFIG_IC05_TemperatureThreshold', 'ICE_ISA_TEMP_THRESHOLD', ...
         'CONFIG_IC06_SlowDownPressure', 'ICE_ISA_SLOWDOWN_START_PRES', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', 'ICE_ISA_PRES_ACQUISITION_PERIOD', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', 'ICE_ISA_ASCENT_STAB_PRES', ...
         'CONFIG_IC09_PumpActionDuration', 'ICE_ISA_PUMP_DURATION', ...
         'CONFIG_IC10_GPSTimeout', 'ICE_GPS_TIMEOUT', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', 'ICE_FIRST_IRIDIUM_LOCK_TIMEOUT', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', 'ICE_NO_VERTICAL_MOTION_TIMEOUT', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', 'ICE_DELTA_PRES_BUOY_INV_END', ...
         'CONFIG_IC14_OilVolumePerValveAction', 'ICE_VOLUME_EV_ACTION_BUOY_INV', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', 'ICE_VOLUME_GROUNDING_BUOY_INV', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_BitMaskMonthsIceDetectionActive', '', ...
         'CONFIG_PX04_OptodeVerticalOffset', '', ...
         'CONFIG_PX05_OptodeAdditionalStick', '');
      
   case {'5.49'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_MC01_NbCyclesFirstMission', 'NB_CYCLE_FIRST_MISSION', ...
         'CONFIG_MC02_CyclePeriod1', 'CYCLE_TIME', ...
         'CONFIG_MC03_CyclePeriod2', 'CYCLE_TIME', ...
         'CONFIG_MC002_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_MC011_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_MC012_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC04_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_MC05_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_MC06_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_MC08_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_MC09_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_MC10_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_MC11_DriftDepth1', 'PARKING_PRESSURE', ...
         'CONFIG_MC12_ProfileDepth1', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC13_DriftDepth2', 'PARKING_PRESSURE', ...
         'CONFIG_MC14_ProfileDepth2', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_MC16_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_MC22_IridiumEolPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_MC24_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_MC26_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_MC27_OptodeType', 'OptodeType', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', 'PRCFG_Descent_start_pressure', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_TC13_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_TC15_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_TC16_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', 'PRES_CHECK_TIME_ASCENT', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_TC19_GPSTimeout', 'GPSTimeout', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', 'DELAY_BEFORE_RESETOFFSET_CMD', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_TC23_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_TC24_PressureCheckPeriodDuringDescent', 'VECTOR_DESCEND_SAMPLING_PERIOD', ...
         'CONFIG_TC25_MinPressureDiffForEVAction', 'DESCENT_STABILIZATION_PRES', ...
         'CONFIG_TC26_InternalVacuumOfsetForSelfTest', 'SELF_TEST_INTERNAL_VACUUM_OFFSET', ...
         'CONFIG_TC27_TempCndcTransmission', 'TEMP_CNDC_TRANSMISSION', ...
         'CONFIG_TC28_InternalPressureCalibrationCoef1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_TC29_InternalPressureCalibrationCoef2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', 'ICE_NO_SURFACE_DELAY', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', 'ICE_DISABLE_ALGO_DELAY', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', 'ICE_ISA_NB_TEMP_COMP_TRUE', ...
         'CONFIG_IC03_IceDetectionStartPressure', 'ICE_ISA_TEMP_COMP_START_PRES', ...
         'CONFIG_IC04_IceDetectionStopPressure', 'ICE_ISA_TEMP_COMP_STOP_PRES', ...
         'CONFIG_IC05_TemperatureThreshold', 'ICE_ISA_TEMP_THRESHOLD', ...
         'CONFIG_IC06_SlowDownPressure', 'ICE_ISA_SLOWDOWN_START_PRES', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', 'ICE_ISA_PRES_ACQUISITION_PERIOD', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', 'ICE_ISA_ASCENT_STAB_PRES', ...
         'CONFIG_IC09_PumpActionDuration', 'ICE_ISA_PUMP_DURATION', ...
         'CONFIG_IC10_GPSTimeout', 'ICE_GPS_TIMEOUT', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', 'ICE_FIRST_IRIDIUM_LOCK_TIMEOUT', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', 'ICE_NO_VERTICAL_MOTION_TIMEOUT', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', 'ICE_DELTA_PRES_BUOY_INV_END', ...
         'CONFIG_IC14_OilVolumePerValveAction', 'ICE_VOLUME_EV_ACTION_BUOY_INV', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', 'ICE_VOLUME_GROUNDING_BUOY_INV', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_BitMaskMonthsIceDetectionActive', '');
      
   case {'5.74'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_MC01_NbCyclesFirstMission', 'NB_CYCLE_FIRST_MISSION', ...
         'CONFIG_MC02_CyclePeriod1', 'CYCLE_TIME', ...
         'CONFIG_MC03_CyclePeriod2', 'CYCLE_TIME', ...
         'CONFIG_MC002_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_MC011_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_MC012_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC04_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_MC05_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_MC06_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_MC08_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_MC09_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_MC10_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_MC11_DriftDepth1', 'PARKING_PRESSURE', ...
         'CONFIG_MC12_ProfileDepth1', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC13_DriftDepth2', 'PARKING_PRESSURE', ...
         'CONFIG_MC14_ProfileDepth2', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_MC16_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_MC22_IridiumEolPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_MC24_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_MC26_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_MC27_OptodeSensorActivationFlag', 'OPTODE_ACTIVE', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', 'PRCFG_Descent_start_pressure', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_TC13_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_TC15_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_TC16_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', 'PRES_CHECK_TIME_ASCENT', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_TC19_GPSTimeout', 'GPSTimeout', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', 'DELAY_BEFORE_RESETOFFSET_CMD', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_TC23_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_TC24_InternalPressureCalibrationCoef1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_TC25_InternalPressureCalibrationCoef2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', 'OPTODE_VERTICAL_PRES_OFFSET', ...
         'CONFIG_PX04_OptodeAdditionalStick', 'OPTODE_ADDITIONAL_STICK');
      
   case {'5.75', '5.46'}
      o_configStruct = struct( ...
         'CONFIG_MC00_NumberOfCycles', 'CONFIG_MaxCycles_NUMBER', ...
         'CONFIG_MC01_NbCyclesFirstMission', 'NB_CYCLE_FIRST_MISSION', ...
         'CONFIG_MC02_CyclePeriod1', 'CYCLE_TIME', ...
         'CONFIG_MC03_CyclePeriod2', 'CYCLE_TIME', ...
         'CONFIG_MC002_CyclePeriod', 'CYCLE_TIME', ...
         'CONFIG_MC011_DriftDepth', 'PARKING_PRESSURE', ...
         'CONFIG_MC012_ProfileDepth', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC04_ReferenceDay', 'PRCFG_Reference_day', ...
         'CONFIG_MC05_EstimatedSurfaceTime', 'PRCFG_End_time', ...
         'CONFIG_MC06_DelayBeforeMission', 'DELAY_BEFORE_MISSION', ...
         'CONFIG_MC07_CTDPowerAcquisitionMode', 'PRCFG_Acquisition_mode', ...
         'CONFIG_MC08_DescentSamplingPeriod', 'DESC_PROFILE_PERIOD', ...
         'CONFIG_MC09_DriftSamplingPeriod', 'PR_IMMERSION_DRIFT_PERIOD', ...
         'CONFIG_MC10_AscentSamplingPeriod', 'ASC_PROFILE_PERIOD', ...
         'CONFIG_MC11_DriftDepth1', 'PARKING_PRESSURE', ...
         'CONFIG_MC12_ProfileDepth1', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC13_DriftDepth2', 'PARKING_PRESSURE', ...
         'CONFIG_MC14_ProfileDepth2', 'DEEPEST_PRESSURE', ...
         'CONFIG_MC15_SecondProfilePressureRepetitionRate', 'PRCFG_Alternate_profile_period', ...
         'CONFIG_MC16_SecondProfilePressure', 'PRCFG_Alternate_profile_depth', ...
         'CONFIG_MC17_ThresholdSurfaceMiddlePressure', 'INT_SURF_THRESHOLD', ...
         'CONFIG_MC18_ThresholdMiddleBottomPressure', 'DEPTH_INT_THRESHOLD', ...
         'CONFIG_MC19_ThicknessOfTheSurfaceSlices', 'SURF_SLICE_THICKNESS', ...
         'CONFIG_MC20_ThicknessOfTheMiddleSlices', 'INT_SLICE_THICKNESS', ...
         'CONFIG_MC21_ThicknessOfTheBottomSlices', 'DEPTH_SLICE_THICKNESS', ...
         'CONFIG_MC22_IridiumEolPeriod', 'PRCFG_EOL_trans_period', ...
         'CONFIG_MC23_IridiumSecondSessionWaitingTime', 'SECOND_IRIDIUM_SESSION_DELAY', ...
         'CONFIG_MC24_GroundingMode', 'PRCFG_Grounded_mode', ...
         'CONFIG_MC25_GroundingSwitchPressureAdjustment', 'PRCFG_Grounded_reduction_pres', ...
         'CONFIG_MC26_PostGroundingWaitingTime', 'RETRY_DELAY_IF_STUCK_AT_SURFACE', ...
         'CONFIG_MC27_OptodeSensorActivationFlag', 'OPTODE_ACTIVE', ...
         'CONFIG_MC28_CTDPumpCutOffPressure', 'CTD_CUT_OFF_PRESSURE', ...
         'CONFIG_MC29_InAirAcquisitionPeriodicity', 'IN_AIR_MEAS_PERIODICITY', ...
         'CONFIG_MC30_InAirAcquisitionSamplingPeriod', 'IN_AIR_MEAS_SAMPLING_PERIOD', ...
         'CONFIG_MC31_InAirAcquisitionPhaseDuration', 'IN_AIR_MEAS_PHASE_DURATION', ...
         'CONFIG_TC00_SurfaceValveMaxTimeAdditionalActions', 'PRCFG_Surf_valve_max_duration', ...
         'CONFIG_TC01_OilVolumeMaxPerValveAction', 'PRCFG_Depth_valve_max_volume', ...
         'CONFIG_TC02_PumpActionMaxTimeReposition', 'PRCFG_Depth_pump_max_duration', ...
         'CONFIG_TC03_PumpActionMaxTimeAscent', 'PRCFG_Asc_pump_max_duration', ...
         'CONFIG_TC04_PumpActionTimeBuoyancyAcquisition', 'PRCFG_Surf_pump_duration', ...
         'CONFIG_TC05_PressureTargetToleranceForStabilisation', 'PRCFG_Gap_order_go_delta_pres', ...
         'CONFIG_TC06_PressureMaxBeforeEmergencyAscent', 'PRCFG_Max_pressure', ...
         'CONFIG_TC07_BuoyancyReductionFirstThreshold', 'PRCFG_Surf_valve_start_pressure', ...
         'CONFIG_TC08_BuoyancyReductionSecondThreshold', 'PRCFG_Descent_start_pressure', ...
         'CONFIG_TC09_NumberOfOutOfTolerancePresBeforeReposition', 'PRCFG_Gap_order_delta_position', ...
         'CONFIG_TC10_OilVolumeMinForGroundingDetection', 'PRCFG_Grounded_volume', ...
         'CONFIG_TC11_GroundingModeMinPresThreshold', 'PRCFG_Grounded_waiting_pres', ...
         'CONFIG_TC12_PressureTargetToleranceDuringDrift', 'PRCFG_Gap_order_keep_delta_pres', ...
         'CONFIG_TC13_AverageDescentSpeed', 'PRCFG_Descent_speed', ...
         'CONFIG_TC14_ParkPressureIncrementBetweenCycles', 'PRCFG_Imm_increment_pressure', ...
         'CONFIG_TC15_EndOfAscentPressure', 'ASCENT_END_THRESHOLD', ...
         'CONFIG_TC16_AverageAscentSpeed', 'AverageAscentSpeed', ...
         'CONFIG_TC17_PressureCheckPeriodDuringAscent', 'PRES_CHECK_TIME_ASCENT', ...
         'CONFIG_TC18_MinPressureDiffForPumpAction', 'ASCENT_STABILIZATION_PRES', ...
         'CONFIG_TC19_GPSTimeout', 'GPSTimeout', ...
         'CONFIG_TC20_HydraulicPacketsTransmissionFlag', 'HYDRAULIC_DATA_TRANSMISSION', ...
         'CONFIG_TC21_DelayBeforeresetOffsetCmd', 'DELAY_BEFORE_RESETOFFSET_CMD', ...
         'CONFIG_TC22_InAirPumpActionTimeBuoyancyAcquisition', 'IN_AIR_MEAS_SURF_PUMP_DURATION', ...
         'CONFIG_TC23_IridiumTimeOut', 'PRCFG_Iridium_modem_timeout', ...
         'CONFIG_TC24_InternalPressureCalibrationCoef1', 'PRCFG_Pressure_coefficient_A', ...
         'CONFIG_TC25_InternalPressureCalibrationCoef2', 'PRCFG_Pressure_coefficient_B', ...
         'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection', 'ICE_NO_SURFACE_DELAY', ...
         'CONFIG_IC01_NbDaysWithoutSurfacingBeforeDisablingIceDetection', 'ICE_DISABLE_ALGO_DELAY', ...
         'CONFIG_IC02_NbDetectionToConfirmIce', 'ICE_ISA_NB_TEMP_COMP_TRUE', ...
         'CONFIG_IC03_IceDetectionStartPressure', 'ICE_ISA_TEMP_COMP_START_PRES', ...
         'CONFIG_IC04_IceDetectionStopPressure', 'ICE_ISA_TEMP_COMP_STOP_PRES', ...
         'CONFIG_IC05_TemperatureThreshold', 'ICE_ISA_TEMP_THRESHOLD', ...
         'CONFIG_IC06_SlowDownPressure', 'ICE_ISA_SLOWDOWN_START_PRES', ...
         'CONFIG_IC07_PressureAcqPeriodDuringSlowAscentPhase', 'ICE_ISA_PRES_ACQUISITION_PERIOD', ...
         'CONFIG_IC08_MinPressureDiffForPumpAction', 'ICE_ISA_ASCENT_STAB_PRES', ...
         'CONFIG_IC09_PumpActionDuration', 'ICE_ISA_PUMP_DURATION', ...
         'CONFIG_IC10_GPSTimeout', 'ICE_GPS_TIMEOUT', ...
         'CONFIG_IC11_FirstIridiumLockTimeout', 'ICE_FIRST_IRIDIUM_LOCK_TIMEOUT', ...
         'CONFIG_IC12_DelayBeforeAscentBlockingDetection', 'ICE_NO_VERTICAL_MOTION_TIMEOUT', ...
         'CONFIG_IC13_PressureVariationToEndBuoyancyInversion', 'ICE_DELTA_PRES_BUOY_INV_END', ...
         'CONFIG_IC14_OilVolumePerValveAction', 'ICE_VOLUME_EV_ACTION_BUOY_INV', ...
         'CONFIG_IC15_OilVolumeMinForGroundingDetection', 'ICE_VOLUME_GROUNDING_BUOY_INV', ...
         'CONFIG_PX00_Direction', '', ...
         'CONFIG_PX01_CtdCutOffPressure', '', ...
         'CONFIG_PX02_ProfileCutOffPressure', '', ...
         'CONFIG_PX03_OptodeVerticalOffset', 'OPTODE_VERTICAL_PRES_OFFSET', ...
         'CONFIG_PX04_OptodeAdditionalStick', 'OPTODE_ADDITIONAL_STICK', ...
         'CONFIG_PX05_BitMaskMonthsIceDetectionActive', '');
      
   otherwise
      fprintf('WARNING: Nothing done yet in generate_json_float_meta_prv_ir_sbd_ for dacFormatId %s\n', a_dacFormatId);
end

return

% ------------------------------------------------------------------------------
% Get the list of BDD variables associated to float meta-data.
%
% SYNTAX :
%  [o_metaStruct] = get_meta_bdd_struct()
%
% INPUT PARAMETERS :
%
% OUTPUT PARAMETERS :
%   o_metaStruct : list of BDD variables
%
% EXAMPLES :
%
% SEE ALSO :
% AUTHORS  : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com)
% ------------------------------------------------------------------------------
% RELEASES :
%   10/15/2014 - RNU - creation
%   09/01/2017 - RNU - RT version added
% ------------------------------------------------------------------------------
function [o_metaStruct] = get_meta_bdd_struct()

% output parameters initialization
o_metaStruct = struct( ...
   'ARGO_USER_MANUAL_VERSION', '', ...
   'PLATFORM_NUMBER', '', ...
   'PTT', 'PTT', ...
   'IMEI', 'IMEI', ...
   'TRANS_SYSTEM', 'TRANS_SYSTEM', ...
   'TRANS_SYSTEM_ID', 'TRANS_SYSTEM_ID', ...
   'TRANS_FREQUENCY', 'TRANS_FREQUENCY', ...
   'POSITIONING_SYSTEM', 'POSITIONING_SYSTEM', ...
   'PLATFORM_FAMILY', 'PLATFORM_FAMILY', ...
   'PLATFORM_TYPE', 'PLATFORM_TYPE', ...
   'PLATFORM_MAKER', 'PLATFORM_MAKER', ...
   'FIRMWARE_VERSION', 'FIRMWARE_VERSION', ...
   'MANUAL_VERSION', 'MANUAL_VERSION', ...
   'FLOAT_SERIAL_NO', 'INST_REFERENCE', ...
   'STANDARD_FORMAT_ID', 'STANDARD_FORMAT_ID', ...
   'DAC_FORMAT_ID', 'PR_VERSION', ...
   'WMO_INST_TYPE', 'PR_PROBE_CODE', ...
   'PROJECT_NAME', 'PR_EXPERIMENT_ID', ...
   'DATA_CENTRE', 'DATA_CENTRE', ...
   'PI_NAME', 'PI_NAME', ...
   'ANOMALY', 'ANOMALY', ...
   'BATTERY_TYPE', 'BATTERY_TYPE', ...
   'BATTERY_PACKS', 'BATTERY_PACKS', ...
   'CONTROLLER_BOARD_TYPE_PRIMARY', 'CONTROLLER_BOARD_TYPE_PRIMARY', ...
   'CONTROLLER_BOARD_TYPE_SECONDARY', 'CONTROLLER_BOARD_TYPE_SECONDARY', ...
   'CONTROLLER_BOARD_SERIAL_NO_PRIMARY', 'CONTROLLER_BOARD_SERIAL_NO_PRIMA', ...
   'CONTROLLER_BOARD_SERIAL_NO_SECONDARY', 'CONTROLLER_BOARD_SERIAL_NO_SECON', ...
   'SPECIAL_FEATURES', 'SPECIAL_FEATURES', ...
   'FLOAT_OWNER', 'FLOAT_OWNER', ...
   'OPERATING_INSTITUTION', 'OPERATING_INSTITUTION', ...
   'CUSTOMISATION', 'CUSTOMISATION', ...
   'LAUNCH_DATE', 'PR_LAUNCH_DATETIME', ...
   'LAUNCH_LATITUDE', 'PR_LAUNCH_LATITUDE', ...
   'LAUNCH_LONGITUDE', 'PR_LAUNCH_LONGITUDE', ...
   'LAUNCH_QC', 'LAUNCH_QC', ...
   'START_DATE', 'START_DATE', ...
   'START_DATE_QC', 'START_DATE_QC', ...
   'STARTUP_DATE', '', ...
   'STARTUP_DATE_QC', '', ...
   'DEPLOYMENT_PLATFORM', 'DEPLOY_PLATFORM', ...
   'DEPLOYMENT_CRUISE_ID', 'DEPLOY_MISSION', ...
   'DEPLOYMENT_REFERENCE_STATION_ID', 'DEPLOY_AVAILABLE_PROFILE_ID', ...
   'END_MISSION_DATE', 'END_MISSION_DATE', ...
   'END_MISSION_STATUS', 'END_MISSION_STATUS', ...
   'PREDEPLOYMENT_CALIB_EQUATION', 'PREDEPLOYMENT_CALIB_EQUATION', ...
   'PREDEPLOYMENT_CALIB_COEFFICIENT', 'PREDEPLOYMENT_CALIB_COEFFICIENT', ...
   'PREDEPLOYMENT_CALIB_COMMENT', 'PREDEPLOYMENT_CALIB_COMMENT', ...
   'CALIB_RT_PARAMETER', 'CALIB_RT_PARAMETER', ...
   'CALIB_RT_EQUATION', 'CALIB_RT_EQUATION', ...
   'CALIB_RT_COEFFICIENT', 'CALIB_RT_COEFFICIENT', ...
   'CALIB_RT_COMMENT', 'CALIB_RT_COMMENT', ...
   'CALIB_RT_DATE', 'CALIB_RT_DATE', ...
   'CALIB_RT_ADJUSTED_ERROR', 'CALIB_RT_ADJUSTED_ERROR', ...
   'CALIB_RT_ADJ_ERROR_METHOD', 'CALIB_RT_ADJ_ERROR_METHOD');

return
