Skip to content
Snippets Groups Projects
Commit 9f168ad6 authored by Nicolò Caruso's avatar Nicolò Caruso Committed by Nicolò Caruso
Browse files

[ARP] Log propagated NAS and main radio info

Boardstatus: Now logging informations about the radio in MainRadioLog structure
SMA: Now logging also the NAS state
parent 8544e255
Branches
No related tags found
No related merge requests found
......@@ -23,6 +23,7 @@
#include <Groundstation/Automated/Actuators/ActuatorsData.h>
#include <Groundstation/Automated/PinHandler/PinData.h>
#include <Groundstation/Automated/SMA/SMAData.h>
#include <Groundstation/LyraGS/BoardStatus.h>
#include <algorithms/Follower/FollowerData.h>
#include <algorithms/NAS/NASState.h>
#include <logger/Deserializer.h>
......@@ -50,6 +51,7 @@
using namespace tscpp;
using namespace Boardcore;
using namespace Antennas;
using namespace LyraGS;
void registerTypes(Deserializer& ds)
{
......@@ -65,6 +67,7 @@ void registerTypes(Deserializer& ds)
ds.registerType<GPSData>();
ds.registerType<SMAStatus>();
ds.registerType<PinChangeData>();
ds.registerType<MainRadioLog>();
}
void showUsage(const string& cmdName)
......
......@@ -236,6 +236,7 @@ void SMA::update()
AntennaAngles target = follower.getTargetAngles();
Boardcore::Logger::getInstance().log(
Boardcore::AntennaAnglesLog(target, predicted.nPropagations));
Boardcore::Logger::getInstance().log(predicted.getNasState());
// actuate the steppers
auto steppers = getModule<Actuators>();
......@@ -301,6 +302,7 @@ void SMA::update()
AntennaAngles target = follower.getTargetAngles();
Boardcore::Logger::getInstance().log(
Boardcore::AntennaAnglesLog(target, predicted.nPropagations));
Boardcore::Logger::getInstance().log(predicted.getNasState());
// actuate the steppers
steppers->setSpeed(StepperList::STEPPER_X, follow.horizontalSpeed);
......
......@@ -108,6 +108,11 @@ void BoardStatus::arpRoutine()
tm.main_rx_rssi = stats.rx_rssi;
last_main_stats = stats;
Logger::getInstance().log(MainRadioLog{
tm.timestamp, tm.main_packet_tx_error_count, tm.main_tx_bitrate,
tm.main_packet_rx_success_count, tm.main_packet_rx_drop_count,
tm.main_rx_bitrate, tm.main_rx_rssi});
}
if (ethernet_present)
......
......@@ -43,6 +43,36 @@ class RadioMain;
class RadioPayload;
class EthernetGS;
/**
* @brief Logging struct for the main radio informations
*
*/
struct MainRadioLog
{
uint64_t timestamp = 0;
uint16_t main_packet_tx_error_count = 0;
uint32_t main_tx_bitrate = 0;
uint16_t main_packet_rx_success_count = 0;
uint16_t main_packet_rx_drop_count = 0;
uint32_t main_rx_bitrate = 0;
float main_rx_rssi = 0;
static std::string header()
{
return "timestamp,main_packet_tx_error_count,main_tx_bitrate,main_"
"packet_rx_success_count,main_packet_rx_drop_count,main_rx_"
"bitrate,main_rx_rssi\n";
}
void print(std::ostream& os) const
{
os << timestamp << "," << main_packet_tx_error_count << ","
<< main_tx_bitrate << "," << main_tx_bitrate << ","
<< main_packet_rx_success_count << "," << main_packet_rx_drop_count
<< "," << main_rx_bitrate << "," << main_rx_rssi << "\n";
}
};
/**
* @brief Utility to calculate the bitrate
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment