kopia lustrzana https://github.com/ogre/pizero_tracker
77 wiersze
2.0 KiB
C++
77 wiersze
2.0 KiB
C++
#include "GLOB.h"
|
|
|
|
#include <sstream>
|
|
#include <iostream>
|
|
#include <iomanip>
|
|
|
|
std::string GLOB::str() const
|
|
{
|
|
std::stringstream s;
|
|
|
|
s<<"\tcallsign="<<cli.callsign<<"\n";
|
|
s<<"\tfreqMHz="<<cli.freqMHz<<"\n";
|
|
s<<"\tbaud="<<static_cast<int>(cli.baud)<<"\n";
|
|
s<<"\tssdv_image="<<cli.ssdv_image<<"\n";
|
|
s<<"\tmsg_num="<<cli.msg_num<<"\n";
|
|
s<<"\tlat="<<cli.lat<<"\n";
|
|
s<<"\tlon="<<cli.lon<<"\n";
|
|
s<<"\talt="<<cli.alt<<"\n";
|
|
s<<"\ttestgps="<<cli.testgps<<"\n";
|
|
s<<"\tport="<<cli.port<<"\n";
|
|
s<<"\tlogsdir="<<cli.logsdir<<"\n";
|
|
s<<"\thw_pin_radio_on="<<cli.hw_pin_radio_on<<"\n";
|
|
s<<"\thw_radio_serial="<<cli.hw_radio_serial<<"\n";
|
|
s<<"\thw_ublox_device="<<cli.hw_ublox_device<<"\n";
|
|
|
|
return s.str();
|
|
}
|
|
|
|
|
|
void GLOB::dynamics_add(const std::string& name, const dynamics_t::tp timestamp, const float value)
|
|
{
|
|
auto d = dynamics_.find(name);
|
|
if( d == dynamics_.end() )
|
|
{
|
|
dynamics_[name] = dynamics_t();
|
|
dynamics_[name].add(timestamp, value);
|
|
}
|
|
else
|
|
{
|
|
d->second.add(timestamp, value);
|
|
}
|
|
|
|
}
|
|
|
|
dynamics_t GLOB::dynamics_get(const std::string& name) const
|
|
{
|
|
auto d = dynamics_.find(name);
|
|
if( d == dynamics_.end() )
|
|
return dynamics_t(); // default, uninitialised
|
|
else
|
|
return d->second;
|
|
}
|
|
|
|
std::vector<std::string> GLOB::dynamics_keys() const
|
|
{
|
|
std::vector<std::string> ret;
|
|
for(const auto& k : dynamics_)
|
|
ret.push_back(k.first);
|
|
return ret;
|
|
}
|
|
|
|
std::string GLOB::runtime_str() const
|
|
{
|
|
using namespace std;
|
|
|
|
const auto run_secs = runtime_secs_;
|
|
const int secs = run_secs % 60;
|
|
const int minutes = ((run_secs - secs) / 60) % 60;
|
|
const int hours = ((run_secs - secs - 60*minutes) / 3600) % 12;
|
|
|
|
stringstream ss;
|
|
ss <<setfill('0')<<setw(2)<<hours
|
|
<<":"<<setfill('0')<<setw(2)<<minutes
|
|
<<":"<<setfill('0')<<setw(2)<<secs;
|
|
return ss.str();
|
|
}
|