From 72566a0c5c0e38eb457a308be6103478ffccfdee Mon Sep 17 00:00:00 2001 From: tophe <jdatalog.converter@gmail.com> Date: Sun, 30 Sep 2018 22:22:37 +0200 Subject: [PATCH] tagtime feature bug correction --- app/rtknavi/instrdlg.cpp | 12 ++++++++---- app/rtknavi/instrdlg.dfm | 13 ++++++++----- app/rtknavi/instrdlg.h | 2 +- app/rtknavi/navimain.cpp | 2 +- src/stream.c | 4 +++- 5 files changed, 21 insertions(+), 12 deletions(-) diff --git a/app/rtknavi/instrdlg.cpp b/app/rtknavi/instrdlg.cpp index f50a043..37ae67b 100644 --- a/app/rtknavi/instrdlg.cpp +++ b/app/rtknavi/instrdlg.cpp @@ -59,7 +59,11 @@ void __fastcall TInputStrDialog::FormShow(TObject *Sender) TimeTagC ->Checked =TimeTag; TimeSpeedL->Text =TimeSpeed; TimeStartE->Text =TimeStart; - Chk64Bit ->Checked =Time64Bit; + if (Time64Bit) { + Time64BitL ->ItemIndex=1; + } else { + Time64BitL ->ItemIndex=0; + } NmeaPos1 ->Text =s.sprintf("%.9f",NmeaPos[0]); NmeaPos2 ->Text =s.sprintf("%.9f",NmeaPos[1]); NmeaPos3 ->Text =s.sprintf("%.3f",NmeaPos[2]); @@ -86,7 +90,7 @@ void __fastcall TInputStrDialog::BtnOkClick(TObject *Sender) TimeTag =TimeTagC ->Checked; TimeSpeed =TimeSpeedL->Text; TimeStart =TimeStartE->Text; - Time64Bit =Chk64Bit ->Checked; + Time64Bit =Time64BitL->ItemIndex; NmeaPos[0] =str2dbl(NmeaPos1->Text); NmeaPos[1] =str2dbl(NmeaPos2->Text); NmeaPos[2] =str2dbl(NmeaPos3->Text); @@ -148,7 +152,7 @@ AnsiString __fastcall TInputStrDialog::SetFilePath(AnsiString path) if (TimeTagC->Checked ) path+="::T"; if (TimeStartE->Text!="0" ) path+="::+"+TimeStartE->Text; path+="::"+TimeSpeedL->Text; - if (Chk64Bit->Checked ) path+="::P=8"; + if (Time64Bit) { path+="::P=8"; } else { path+="::P=4"; }; return path; } //--------------------------------------------------------------------------- @@ -393,9 +397,9 @@ void __fastcall TInputStrDialog::UpdateEnable(void) TimeTagC ->Enabled=ena1; TimeStartE->Enabled=ena1&&TimeTagC->Checked; TimeSpeedL->Enabled=ena1&&TimeTagC->Checked; + Time64BitL->Enabled=ena1&&TimeTagC->Checked; LabelF2 ->Enabled=ena1&&TimeTagC->Checked; LabelF3 ->Enabled=ena1&&TimeTagC->Checked; - Chk64Bit ->Enabled=ena1&&TimeTagC->Checked; } //--------------------------------------------------------------------------- diff --git a/app/rtknavi/instrdlg.dfm b/app/rtknavi/instrdlg.dfm index 165f266..1e05b6e 100644 --- a/app/rtknavi/instrdlg.dfm +++ b/app/rtknavi/instrdlg.dfm @@ -540,13 +540,16 @@ object InputStrDialog: TInputStrDialog TabOrder = 35 Text = '10' end - object Chk64Bit: TCheckBox + object Time64BitL: TComboBox Left = 166 - Top = 233 - Width = 40 - Height = 17 - Caption = '64bit' + Top = 232 + Width = 48 + Height = 21 TabOrder = 36 + Text = '32bit' + Items.Strings = ( + '32bit' + '64bit') end object OpenDialog: TOpenDialog Filter = diff --git a/app/rtknavi/instrdlg.h b/app/rtknavi/instrdlg.h index 502c0a4..71fb61c 100644 --- a/app/rtknavi/instrdlg.h +++ b/app/rtknavi/instrdlg.h @@ -62,7 +62,7 @@ __published: TEdit *EditMaxBL; TLabel *LabelMaxBL; TLabel *LabelKm; - TCheckBox *Chk64Bit; + TComboBox *Time64BitL; void __fastcall BtnOkClick(TObject *Sender); void __fastcall FormShow(TObject *Sender); void __fastcall BtnStr1Click(TObject *Sender); diff --git a/app/rtknavi/navimain.cpp b/app/rtknavi/navimain.cpp index e918400..f1b0cfe 100644 --- a/app/rtknavi/navimain.cpp +++ b/app/rtknavi/navimain.cpp @@ -2581,7 +2581,7 @@ void __fastcall TMainForm::LoadOpt(void) InTimeTag =ini->ReadInteger("setting","intimetag", 0); InTimeSpeed =ini->ReadString ("setting","intimespeed", "x1"); InTimeStart =ini->ReadString ("setting","intimestart", "0"); - InTime64Bit =ini->ReadInteger("setting","intime64bit", 0); + InTime64Bit =ini->ReadInteger("setting","intime64bit", sizeof (size_t) == 4 ? 0 : 1); OutTimeTag =ini->ReadInteger("setting","outtimetag", 0); OutAppend =ini->ReadInteger("setting","outappend", 0); OutSwapInterval =ini->ReadString ("setting","outswapinterval",""); diff --git a/src/stream.c b/src/stream.c index d84f782..9308c6e 100644 --- a/src/stream.c +++ b/src/stream.c @@ -816,6 +816,8 @@ static int readfile(file_t *file, unsigned char *buff, int nmax, char *msg) if ((n=file->fpos_n-ftell(file->fp))<nmax) { nmax=n; } + + if (!file->repmode) tick_master = file->tick_n; } if (nmax>0) { nr=(int)fread(buff,1,nmax,file->fp); @@ -3339,4 +3341,4 @@ extern void strsendcmd(stream_t *str, const char *cmd) } if (*q=='\0') break; else p=q+1; } -} \ No newline at end of file +} -- GitLab