mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-11-15 06:14:58 +00:00
Telecommand status: print basic channel information
Available info: channel number, system, signal and PRN. Missing info: mode, telemetry status, ephemeris status, Doppler and CN0
This commit is contained in:
parent
df2f84dfb0
commit
e8a03c4855
@ -326,6 +326,7 @@ int ControlThread::run()
|
|||||||
|
|
||||||
// start the telecommand listener thread
|
// start the telecommand listener thread
|
||||||
cmd_interface_.set_pvt(flowgraph_->get_pvt());
|
cmd_interface_.set_pvt(flowgraph_->get_pvt());
|
||||||
|
cmd_interface_.set_channels(flowgraph_->get_channels());
|
||||||
cmd_interface_thread_ = std::thread(&ControlThread::telecommand_listener, this);
|
cmd_interface_thread_ = std::thread(&ControlThread::telecommand_listener, this);
|
||||||
|
|
||||||
#ifdef ENABLE_FPGA
|
#ifdef ENABLE_FPGA
|
||||||
|
@ -145,6 +145,14 @@ public:
|
|||||||
return std::dynamic_pointer_cast<PvtInterface>(pvt_);
|
return std::dynamic_pointer_cast<PvtInterface>(pvt_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Returns a smart pointer to the Channels object
|
||||||
|
*/
|
||||||
|
std::shared_ptr<std::vector<std::shared_ptr<ChannelInterface>>> get_channels()
|
||||||
|
{
|
||||||
|
return std::make_shared<std::vector<std::shared_ptr<ChannelInterface>>>(channels_);
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Priorize visible satellites in the specified vector
|
* \brief Priorize visible satellites in the specified vector
|
||||||
*/
|
*/
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "tcp_cmd_interface.h"
|
#include "tcp_cmd_interface.h"
|
||||||
|
#include "channel.h"
|
||||||
#include "command_event.h"
|
#include "command_event.h"
|
||||||
#include "pvt_interface.h"
|
#include "pvt_interface.h"
|
||||||
#include <boost/asio.hpp>
|
#include <boost/asio.hpp>
|
||||||
@ -74,6 +75,12 @@ void TcpCmdInterface::set_pvt(std::shared_ptr<PvtInterface> PVT_sptr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TcpCmdInterface::set_channels(std::shared_ptr<std::vector<std::shared_ptr<ChannelInterface>>> channels_sptr)
|
||||||
|
{
|
||||||
|
channels_sptr_ = std::move(channels_sptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
time_t TcpCmdInterface::get_utc_time() const
|
time_t TcpCmdInterface::get_utc_time() const
|
||||||
{
|
{
|
||||||
return receiver_utc_time_;
|
return receiver_utc_time_;
|
||||||
@ -123,18 +130,41 @@ std::string TcpCmdInterface::standby(const std::vector<std::string> &commandLine
|
|||||||
std::string TcpCmdInterface::status(const std::vector<std::string> &commandLine __attribute__((unused)))
|
std::string TcpCmdInterface::status(const std::vector<std::string> &commandLine __attribute__((unused)))
|
||||||
{
|
{
|
||||||
std::stringstream str_stream;
|
std::stringstream str_stream;
|
||||||
// todo: implement the receiver status report
|
|
||||||
|
|
||||||
// str_stream << "-------------------------------------------------------\n";
|
str_stream << "----------------------------------------------------------------------------\n";
|
||||||
// str_stream << "ch | sys | sig | mode | Tlm | Eph | Doppler | CN0 |\n";
|
str_stream << "| Ch | System | Signal | PRN | Mode | Tlm | Eph | Doppler | CN0 |\n";
|
||||||
// str_stream << " | | | | | | [Hz] | [dB - Hz] |\n";
|
str_stream << "| | | | | | | | [Hz] | [dB-Hz] |\n";
|
||||||
// str_stream << "-------------------------------------------------------\n";
|
str_stream << "----------------------------------------------------------------------------\n";
|
||||||
// int n_ch = 10;
|
|
||||||
// for (int n = 0; n < n_ch; n++)
|
int n_ch = static_cast<int>(channels_sptr_->size());
|
||||||
// {
|
for (int n = 0; n < n_ch; n++)
|
||||||
// str_stream << n << "GPS | L1CA | TRK | YES | YES | 23412.4 | 44.3 |\n";
|
{
|
||||||
// }
|
std::shared_ptr<Channel>
|
||||||
// str_stream << "--------------------------------------------------------\n";
|
ch_sptr = std::dynamic_pointer_cast<Channel>(channels_sptr_->at(n));
|
||||||
|
|
||||||
|
str_stream << std::fixed << std::setprecision(1)
|
||||||
|
<< "| "
|
||||||
|
<< std::right << std::setw(3) << n
|
||||||
|
<< " | "
|
||||||
|
<< std::left << std::setw(7) << ch_sptr->get_signal().get_satellite().get_system()
|
||||||
|
<< " | "
|
||||||
|
<< std::left << std::setw(9) << ch_sptr->get_signal().get_signal_str()
|
||||||
|
<< " | "
|
||||||
|
<< std::right << std::setw(3) << ch_sptr->get_signal().get_satellite().get_PRN()
|
||||||
|
<< " | "
|
||||||
|
<< std::left << std::setw(4) << "---"
|
||||||
|
<< " | "
|
||||||
|
<< std::left << std::setw(3) << "---"
|
||||||
|
<< " | "
|
||||||
|
<< std::left << std::setw(3) << "---"
|
||||||
|
<< " | "
|
||||||
|
<< std::right << std::setw(9) << 23412.46
|
||||||
|
<< " | "
|
||||||
|
<< std::right << std::setw(7) << 44.32
|
||||||
|
<< " |"
|
||||||
|
<< "\n";
|
||||||
|
}
|
||||||
|
str_stream << "----------------------------------------------------------------------------\n";
|
||||||
|
|
||||||
double longitude_deg;
|
double longitude_deg;
|
||||||
double latitude_deg;
|
double latitude_deg;
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
class PvtInterface;
|
class PvtInterface;
|
||||||
|
class ChannelInterface;
|
||||||
|
|
||||||
class TcpCmdInterface
|
class TcpCmdInterface
|
||||||
{
|
{
|
||||||
@ -53,6 +54,7 @@ public:
|
|||||||
std::array<float, 3> get_LLH() const;
|
std::array<float, 3> get_LLH() const;
|
||||||
|
|
||||||
void set_pvt(std::shared_ptr<PvtInterface> PVT_sptr);
|
void set_pvt(std::shared_ptr<PvtInterface> PVT_sptr);
|
||||||
|
void set_channels(std::shared_ptr<std::vector<std::shared_ptr<ChannelInterface>>> channels_sptr);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unordered_map<std::string, std::function<std::string(const std::vector<std::string> &)>>
|
std::unordered_map<std::string, std::function<std::string(const std::vector<std::string> &)>>
|
||||||
@ -69,6 +71,7 @@ private:
|
|||||||
|
|
||||||
std::shared_ptr<Concurrent_Queue<pmt::pmt_t>> control_queue_;
|
std::shared_ptr<Concurrent_Queue<pmt::pmt_t>> control_queue_;
|
||||||
std::shared_ptr<PvtInterface> PVT_sptr_;
|
std::shared_ptr<PvtInterface> PVT_sptr_;
|
||||||
|
std::shared_ptr<std::vector<std::shared_ptr<ChannelInterface>>> channels_sptr_;
|
||||||
|
|
||||||
float rx_latitude_;
|
float rx_latitude_;
|
||||||
float rx_longitude_;
|
float rx_longitude_;
|
||||||
|
Loading…
Reference in New Issue
Block a user