%close all
%clear all

%global P;
%global count;

path = 'X:\707976 EPBuoyPrototypeAndTesting\Deployments\Nov2012 Deployment\PreDeployment Test Data\SystemTest\';
filename = 'D000000_111201_112753';



grav = 9.81;  %m/s^2
epoch_serialdate = datenum(1970,1,1,0,0,0);

%Packet Structure
DataSize = 208; 
S.EpochUsecs = uint32(NaN);
S.EpochSecs = uint32(NaN);
S.SequenceNumberLS = uint32(NaN);
S.SequenceNumberMS = uint32(NaN);
S.rollAngle = int16(NaN);
S.pitchAngle = int16(NaN);
S.yawAngleTrue = int16(NaN);
S.xRateCorrected = int16(NaN);
S.yRateCorrected = int16(NaN);
S.zRateCorrected = int16(NaN);
S.xAccel = int16(NaN);
S.yAccel = int16(NaN);
S.zAccel = int16(NaN);
S.northVelocity = int16(NaN);
S.eastVelocity = int16(NaN);
S.downVelocity = int16(NaN);
S.longitudeGPS = int32(NaN);
S.latitudeGPS = int32(NaN);
S.altitudeGPS = int16(NaN);
S.xRateTemperature = int16(NaN);
S.timeITOW = uint32(NaN);
S.statusBits = int16(NaN);

S.padBytes1 = uint16(NaN);
%S.padBytes2 = uint16(NaN);
%S.padBytes3 = uint16(NaN);

S.BatteryVoltageRaw = double(NaN);
S.BatteryCurrentRaw = double(NaN);
S.RectifiedVoltageRaw = double(NaN);
S.RectifiedCurrentRaw = double(NaN);
S.ConvertedCurrentRaw = double(NaN);

S.BatteryVoltage = double(NaN);
S.BatteryCurrent = double(NaN);
S.RectifiedVoltage = double(NaN);
S.RectifiedCurrent = double(NaN);
S.ConvertedCurrent = double(NaN);

%S.UpperSpringTemperature = single(NaN);
%S.LowerSpringTemperature = single(NaN);
%S.SeawaterTemperature = single(NaN);
%S.BuoyDepth = single(NaN);
%S.UpperSpringPressure = single(NaN);
%S.LowerSpringPressure = single(NaN);
%S.LoadCellForce = single(NaN);
%S.PistonDistance = single(NaN);

S.UpperSpringTemperature = int32(NaN);
S.LowerSpringTemperature = int32(NaN);
S.SeawaterTemperature = int32(NaN);
S.BuoyDepth = int32(NaN);
S.UpperSpringPressure = int32(NaN);
S.LowerSpringPressure = int32(NaN);
S.LoadCellForce = int32(NaN);
S.PistonDistance = int32(NaN);

S.LoadDumpVoltage = int16(NaN);
S.LoadDumpCurrent = int16(NaN);
S.LoadDumpTemp = int16(NaN);
S.LoadDumpRelayPos = int16(NaN);
S.SafetyRelayPos = int16(NaN);

S.padBytes11 = uint16(NaN);
S.PistonDistanceMean = double(NaN);
S.PistonDistanceVar = double(NaN);
S.PistonDistanceDev = double(NaN);


  fid = fopen([path filename]);
  count = DataSize;
  ii = 0;
  while (count == DataSize)
    ii = ii+1
    [A, count] = fread(fid,DataSize);
    if(count == DataSize)
       P = ParseRawData(uint8(A),S);
       Eng = ScaleData(P,S);
       names = fieldnames(Eng);
       for jj = 1:length(names)
          eval([names{jj} '(ii) = Eng.' names{jj} ';']);
       end
    end
  end
  fclose(fid);

  save([path filename])
 
  clear P Eng
  


