Initial
This commit is contained in:
105
aladin/status.cpp
Normal file
105
aladin/status.cpp
Normal file
@@ -0,0 +1,105 @@
|
||||
#include <aladin/status.hpp>
|
||||
#include <common/file.hpp>
|
||||
|
||||
CurrentStatus::CurrentStatus()
|
||||
{
|
||||
mRemainingBattery=0;
|
||||
mBattery=0;
|
||||
mTotalDivesLow=0;
|
||||
mTotalDivesHigh=0;
|
||||
mOffsetNewestLog=0;
|
||||
mDiveProfiles=0;
|
||||
mEndOfProfileRingBufferLow=0;
|
||||
mEndOfProfileRingBufferHigh=0;
|
||||
mDataAquisitionTime1=0;
|
||||
mDataAquisitionTime2=0;
|
||||
mDataAquisitionTime3=0;
|
||||
mDataAquisitionTime4=0;
|
||||
mCheckSumLow=0;
|
||||
mCheckSumHigh=0;
|
||||
}
|
||||
|
||||
CurrentStatus::~CurrentStatus()
|
||||
{
|
||||
}
|
||||
|
||||
String CurrentStatus::toString(void)const
|
||||
{
|
||||
String str;
|
||||
str+=String("Battery:")+String().fromDouble(getRemainingBattery())+String(" ");
|
||||
str+=String("Battery:")+String().fromBool(getBattery())+String(" ");
|
||||
str+=String("TotalDives:")+String().fromInt(getTotalDives())+String(" ");
|
||||
str+=String("NewestLog:")+String().fromInt(getOffsetNewestLog())+String(" ");
|
||||
str+=String("OffsetLog:")+String().fromInt(getOffsetLog())+String(" ");
|
||||
str+=String("DiveProfiles:")+String().fromInt(getDiveProfiles())+String(" ");
|
||||
str+=String("OffsetLog:")+String().fromInt(getEndOfProfileRingBuffer())+String(" ");
|
||||
str+=String("AcquisitionTime:")+String().fromInt(getAcquisitionTime())+String(" ");
|
||||
return str;
|
||||
}
|
||||
|
||||
bool CurrentStatus::readFrom(RawData &array)
|
||||
{
|
||||
try
|
||||
{
|
||||
mRemainingBattery=array[0x7F0];
|
||||
mBattery=array[0x7F1];
|
||||
mTotalDivesLow=array[0x7F2];
|
||||
mTotalDivesHigh=array[0x7F3];
|
||||
mOffsetNewestLog=array[0x7F4];
|
||||
mDiveProfiles=array[0x7F5];
|
||||
mEndOfProfileRingBufferLow=array[0x7F6];
|
||||
mEndOfProfileRingBufferHigh=array[0x7F7];
|
||||
mDataAquisitionTime1=array[0x7F8];
|
||||
mDataAquisitionTime2=array[0x7F9];
|
||||
mDataAquisitionTime3=array[0x7FA];
|
||||
mDataAquisitionTime4=array[0x7FB];
|
||||
mCheckSumLow=array[0x7FC];
|
||||
mCheckSumHigh=array[0x7FD];
|
||||
}
|
||||
catch(ArrayIndexOutOfBoundsException exception)
|
||||
{
|
||||
::OutputDebugString(exception.toString()+String("\n"));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CurrentStatus::readFrom(File &inFile)
|
||||
{
|
||||
if(!inFile.isOkay())return false;
|
||||
if(!inFile.read(&mRemainingBattery,sizeof(mRemainingBattery)))return false;
|
||||
if(!inFile.read(&mBattery,sizeof(mBattery)))return false;
|
||||
if(!inFile.read(&mTotalDivesLow,sizeof(mTotalDivesLow)))return false;
|
||||
if(!inFile.read(&mTotalDivesHigh,sizeof(mTotalDivesHigh)))return false;
|
||||
if(!inFile.read(&mOffsetNewestLog,sizeof(mOffsetNewestLog)))return false;
|
||||
if(!inFile.read(&mDiveProfiles,sizeof(mDiveProfiles)))return false;
|
||||
if(!inFile.read(&mEndOfProfileRingBufferLow,sizeof(mEndOfProfileRingBufferLow)))return false;
|
||||
if(!inFile.read(&mEndOfProfileRingBufferHigh,sizeof(mEndOfProfileRingBufferHigh)))return false;
|
||||
if(!inFile.read(&mDataAquisitionTime1,sizeof(mDataAquisitionTime1)))return false;
|
||||
if(!inFile.read(&mDataAquisitionTime2,sizeof(mDataAquisitionTime2)))return false;
|
||||
if(!inFile.read(&mDataAquisitionTime3,sizeof(mDataAquisitionTime3)))return false;
|
||||
if(!inFile.read(&mDataAquisitionTime4,sizeof(mDataAquisitionTime4)))return false;
|
||||
if(!inFile.read(&mCheckSumLow,sizeof(mCheckSumLow)))return false;
|
||||
if(!inFile.read(&mCheckSumHigh,sizeof(mCheckSumHigh)))return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CurrentStatus::writeTo(File &outFile)
|
||||
{
|
||||
if(!outFile.isOkay())return false;
|
||||
if(!outFile.write(&mRemainingBattery,sizeof(mRemainingBattery)))return false;
|
||||
if(!outFile.write(&mBattery,sizeof(mBattery)))return false;
|
||||
if(!outFile.write(&mTotalDivesLow,sizeof(mTotalDivesLow)))return false;
|
||||
if(!outFile.write(&mTotalDivesHigh,sizeof(mTotalDivesHigh)))return false;
|
||||
if(!outFile.write(&mOffsetNewestLog,sizeof(mOffsetNewestLog)))return false;
|
||||
if(!outFile.write(&mDiveProfiles,sizeof(mDiveProfiles)))return false;
|
||||
if(!outFile.write(&mEndOfProfileRingBufferLow,sizeof(mEndOfProfileRingBufferLow)))return false;
|
||||
if(!outFile.write(&mEndOfProfileRingBufferHigh,sizeof(mEndOfProfileRingBufferHigh)))return false;
|
||||
if(!outFile.write(&mDataAquisitionTime1,sizeof(mDataAquisitionTime1)))return false;
|
||||
if(!outFile.write(&mDataAquisitionTime2,sizeof(mDataAquisitionTime2)))return false;
|
||||
if(!outFile.write(&mDataAquisitionTime3,sizeof(mDataAquisitionTime3)))return false;
|
||||
if(!outFile.write(&mDataAquisitionTime4,sizeof(mDataAquisitionTime4)))return false;
|
||||
if(!outFile.write(&mCheckSumLow,sizeof(mCheckSumLow)))return false;
|
||||
if(!outFile.write(&mCheckSumHigh,sizeof(mCheckSumHigh)))return false;
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user