Merge pull request #32 from jgoedeke/master
Bugfix trigger-time with XY Datasets
This commit is contained in:
commit
36cf0c9c18
@ -393,7 +393,6 @@ namespace imc
|
|||||||
ybuffer_offset_ = comp_group1.Cb_.offset_buffer_;
|
ybuffer_offset_ = comp_group1.Cb_.offset_buffer_;
|
||||||
ybuffer_size_ = comp_group1.Cb_.number_bytes_;
|
ybuffer_size_ = comp_group1.Cb_.number_bytes_;
|
||||||
xstart_ = comp_group1.Cb_.x0_;
|
xstart_ = comp_group1.Cb_.x0_;
|
||||||
addtime_ = static_cast<long int>(comp_group1.Cb_.add_time_);
|
|
||||||
yfactor_ = comp_group1.CR_.factor_;
|
yfactor_ = comp_group1.CR_.factor_;
|
||||||
yoffset_ = comp_group1.CR_.offset_;
|
yoffset_ = comp_group1.CR_.offset_;
|
||||||
yunit_ = comp_group1.CR_.unit_;
|
yunit_ = comp_group1.CR_.unit_;
|
||||||
@ -407,6 +406,10 @@ namespace imc
|
|||||||
std::time_t ts = timegm(&comp_group1.NT_.tms_); // std::mktime(&tms);
|
std::time_t ts = timegm(&comp_group1.NT_.tms_); // std::mktime(&tms);
|
||||||
trigger_time_ = std::chrono::system_clock::from_time_t(ts);
|
trigger_time_ = std::chrono::system_clock::from_time_t(ts);
|
||||||
trigger_time_frac_secs_ = comp_group1.NT_.trigger_time_frac_secs_;
|
trigger_time_frac_secs_ = comp_group1.NT_.trigger_time_frac_secs_;
|
||||||
|
// calculate absolute trigger-time
|
||||||
|
addtime_ = static_cast<long int>(comp_group1.Cb_.add_time_);
|
||||||
|
absolute_trigger_time_ = trigger_time_ + std::chrono::seconds(addtime_);
|
||||||
|
// + std::chrono::nanoseconds((long int)(trigger_time_frac_secs_*1.e9));
|
||||||
}
|
}
|
||||||
else if ( !chnenv_.compenv1_.uuid_.empty() && !chnenv_.compenv2_.uuid_.empty() )
|
else if ( !chnenv_.compenv1_.uuid_.empty() && !chnenv_.compenv2_.uuid_.empty() )
|
||||||
{
|
{
|
||||||
@ -438,6 +441,7 @@ namespace imc
|
|||||||
std::time_t ts = timegm(&comp_group2.NT_.tms_); // std::mktime(&tms);
|
std::time_t ts = timegm(&comp_group2.NT_.tms_); // std::mktime(&tms);
|
||||||
trigger_time_ = std::chrono::system_clock::from_time_t(ts);
|
trigger_time_ = std::chrono::system_clock::from_time_t(ts);
|
||||||
trigger_time_frac_secs_ = comp_group2.NT_.trigger_time_frac_secs_;
|
trigger_time_frac_secs_ = comp_group2.NT_.trigger_time_frac_secs_;
|
||||||
|
absolute_trigger_time_ = trigger_time_;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -447,10 +451,6 @@ namespace imc
|
|||||||
// start converting binary buffer to imc::datatype
|
// start converting binary buffer to imc::datatype
|
||||||
if ( !chnenv_.CSuuid_.empty() ) convert_buffer();
|
if ( !chnenv_.CSuuid_.empty() ) convert_buffer();
|
||||||
|
|
||||||
// calculate absolute trigger-time
|
|
||||||
absolute_trigger_time_ = trigger_time_ + std::chrono::seconds(addtime_);
|
|
||||||
// + std::chrono::nanoseconds((long int)(trigger_time_frac_secs_*1.e9));
|
|
||||||
|
|
||||||
// convert any non-UTF-8 codepage to UTF-8
|
// convert any non-UTF-8 codepage to UTF-8
|
||||||
convert_encoding();
|
convert_encoding();
|
||||||
}
|
}
|
||||||
@ -508,6 +508,8 @@ namespace imc
|
|||||||
throw std::runtime_error("x and y data have different number of values");
|
throw std::runtime_error("x and y data have different number of values");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xprec_ = 9;
|
||||||
|
|
||||||
process_data(xdata_, xnum_values, xdatatp_, xCSbuffer);
|
process_data(xdata_, xnum_values, xdatatp_, xCSbuffer);
|
||||||
process_data(ydata_, ynum_values, ydatatp_, yCSbuffer);
|
process_data(ydata_, ynum_values, ydatatp_, yCSbuffer);
|
||||||
}
|
}
|
||||||
@ -624,7 +626,6 @@ namespace imc
|
|||||||
<<std::setw(width)<<std::left<<"significant bits:"<<ysignbits_<<"\n"
|
<<std::setw(width)<<std::left<<"significant bits:"<<ysignbits_<<"\n"
|
||||||
<<std::setw(width)<<std::left<<"buffer-offset:"<<ybuffer_offset_<<"\n"
|
<<std::setw(width)<<std::left<<"buffer-offset:"<<ybuffer_offset_<<"\n"
|
||||||
<<std::setw(width)<<std::left<<"buffer-size:"<<ybuffer_size_<<"\n"
|
<<std::setw(width)<<std::left<<"buffer-size:"<<ybuffer_size_<<"\n"
|
||||||
<<std::setw(width)<<std::left<<"add-time:"<<addtime_<<"\n"
|
|
||||||
<<std::setw(width)<<std::left<<"xname:"<<xname_<<"\n"
|
<<std::setw(width)<<std::left<<"xname:"<<xname_<<"\n"
|
||||||
<<std::setw(width)<<std::left<<"xunit:"<<xunit_<<"\n"
|
<<std::setw(width)<<std::left<<"xunit:"<<xunit_<<"\n"
|
||||||
<<std::setw(width)<<std::left<<"xstepwidth:"<<xstepwidth_<<"\n"
|
<<std::setw(width)<<std::left<<"xstepwidth:"<<xstepwidth_<<"\n"
|
||||||
@ -660,7 +661,6 @@ namespace imc
|
|||||||
<<"\",\"yname\":\""<<prepjsonstr(yname_)
|
<<"\",\"yname\":\""<<prepjsonstr(yname_)
|
||||||
<<"\",\"yunit\":\""<<prepjsonstr(yunit_)
|
<<"\",\"yunit\":\""<<prepjsonstr(yunit_)
|
||||||
<<"\",\"significantbits\":\""<<ysignbits_
|
<<"\",\"significantbits\":\""<<ysignbits_
|
||||||
<<"\",\"addtime\":\""<<addtime_
|
|
||||||
<<"\",\"buffer-size\":\""<<ybuffer_size_
|
<<"\",\"buffer-size\":\""<<ybuffer_size_
|
||||||
<<"\",\"xname\":\""<<prepjsonstr(xname_)
|
<<"\",\"xname\":\""<<prepjsonstr(xname_)
|
||||||
<<"\",\"xunit\":\""<<prepjsonstr(xunit_)
|
<<"\",\"xunit\":\""<<prepjsonstr(xunit_)
|
||||||
|
@ -482,7 +482,7 @@ namespace imc
|
|||||||
// construct members by parsing particular parameters from buffer
|
// construct members by parsing particular parameters from buffer
|
||||||
void parse(const std::vector<unsigned char>* buffer, const std::vector<parameter>& parameters)
|
void parse(const std::vector<unsigned char>* buffer, const std::vector<parameter>& parameters)
|
||||||
{
|
{
|
||||||
if ( parameters.size() < 7 ) throw std::runtime_error("invalid number of parameters in CD2");
|
if ( parameters.size() < 7 ) throw std::runtime_error("invalid number of parameters in NO");
|
||||||
origin_ = ( get_parameter(buffer,¶meters[2]) == std::string("1") );
|
origin_ = ( get_parameter(buffer,¶meters[2]) == std::string("1") );
|
||||||
generator_ = get_parameter(buffer,¶meters[4]);
|
generator_ = get_parameter(buffer,¶meters[4]);
|
||||||
comment_ = get_parameter(buffer,¶meters[6]);
|
comment_ = get_parameter(buffer,¶meters[6]);
|
||||||
@ -508,7 +508,7 @@ namespace imc
|
|||||||
// construct members by parsing particular parameters from buffer
|
// construct members by parsing particular parameters from buffer
|
||||||
void parse(const std::vector<unsigned char>* buffer, const std::vector<parameter>& parameters)
|
void parse(const std::vector<unsigned char>* buffer, const std::vector<parameter>& parameters)
|
||||||
{
|
{
|
||||||
if ( parameters.size() < 8 ) throw std::runtime_error("invalid number of parameters in CD2");
|
if ( parameters.size() < 8 ) throw std::runtime_error("invalid number of parameters in NT1");
|
||||||
tms_ = std::tm();
|
tms_ = std::tm();
|
||||||
tms_.tm_mday = std::stoi( get_parameter(buffer,¶meters[2]) );
|
tms_.tm_mday = std::stoi( get_parameter(buffer,¶meters[2]) );
|
||||||
tms_.tm_mon = std::stoi( get_parameter(buffer,¶meters[3]) ) - 1;
|
tms_.tm_mon = std::stoi( get_parameter(buffer,¶meters[3]) ) - 1;
|
||||||
|
@ -1 +1 @@
|
|||||||
2.1.6
|
2.1.7
|
||||||
|
Loading…
x
Reference in New Issue
Block a user