fixed bug of converting twice, added asserts to avoid double conversion
This commit is contained in:
parent
a08fab03ba
commit
fe5aae4e83
@ -1,7 +1,7 @@
|
||||
|
||||
import raw_eater
|
||||
|
||||
eatraw = raw_eater.raweater(b"/home/mario/raw_eater/sample/VehicleSpeed_HS.raw")
|
||||
eatraw = raw_eater.raweater(b"sample/pressure_Vacuum.raw")
|
||||
|
||||
print(eatraw.channel_name())
|
||||
print(eatraw.unit())
|
||||
|
@ -33,12 +33,6 @@ int main(int argc, char* argv[])
|
||||
|
||||
//eatraw.show_markers();
|
||||
|
||||
// determine position of markers in buffer and read data
|
||||
eatraw.find_markers();
|
||||
|
||||
// split data segments into elements
|
||||
eatraw.split_segments();
|
||||
|
||||
// std::cout<<"\n";
|
||||
// std::map<std::string,std::vector<unsigned char>> marks = eatraw.get_markers();
|
||||
// for ( auto mrk: marks )
|
||||
@ -57,9 +51,6 @@ int main(int argc, char* argv[])
|
||||
// //for ( auto el: segvec ) std::cout<<el<<"\n";
|
||||
// }
|
||||
|
||||
// convert unsigned char data in buffer to desired data type
|
||||
eatraw.convert_data();
|
||||
|
||||
// get array of encoded data
|
||||
// std::vector<double> maindata = eatraw.get_data();
|
||||
// std::cout<<"\nsize of data array: "<<maindata.size()<<"\n\n";
|
||||
|
@ -127,6 +127,9 @@ public:
|
||||
// find predefined markers in data buffer
|
||||
void find_markers()
|
||||
{
|
||||
assert( datasec_.size() == 0 );
|
||||
assert( segments_.size() == 0 );
|
||||
|
||||
for (std::pair<std::string,std::vector<unsigned char>> mrk : markers_ )
|
||||
{
|
||||
assert( mrk.second.size() > 0 && "please don't define any empty marker" );
|
||||
@ -200,6 +203,9 @@ public:
|
||||
// split data segments into arrays
|
||||
void split_segments()
|
||||
{
|
||||
assert( datasec_.size() > 0 );
|
||||
assert( segments_.size() == 0 );
|
||||
|
||||
// split segments of all markers
|
||||
for (std::pair<std::string,std::vector<unsigned char>> mrk : markers_ )
|
||||
{
|
||||
@ -245,9 +251,10 @@ public:
|
||||
//---------------------------------------------------------------------------//
|
||||
|
||||
// convert actual measurement data
|
||||
void convert_data()
|
||||
void convert_data(bool showlog = false)
|
||||
{
|
||||
assert( segments_.size() > 0 && "extract markers and separate into segments before conversion!" );
|
||||
assert( datmes_.size() == 0 );
|
||||
|
||||
// by convention, the actual data is the 4th element in respective segment
|
||||
std::string datstr = segments_["datas marker"][3];
|
||||
@ -298,6 +305,11 @@ public:
|
||||
break;
|
||||
}
|
||||
|
||||
// show excerpt of result
|
||||
if ( showlog )
|
||||
{
|
||||
std::cout<<"length of data: "<<datmes_.size()<<"\n";
|
||||
}
|
||||
}
|
||||
|
||||
// convert bytes to specific datatype
|
||||
|
Loading…
x
Reference in New Issue
Block a user