Newer
Older
using Fraunhofer.Fit.Iot.Lora.Trackers;
namespace Fraunhofer.Fit.Iot.Lora.Events {
public class TrackerUpdateEvent : UpdateEventHelper {
public String Name { get; private set; }
public Double PacketRssi { get; private set; }
public Double Rssi { get; private set; }
public Double Snr { get; private set; }
public DateTime Receivedtime { get; private set; }
public Double BatteryLevel { get; private set; }
public Byte Recieverradio { get; private set; }
public Byte Recieverinterface { get; private set; }
public UInt32 Frequency { get; private set; }
public Int32 Bandwidth { get; private set; }
public Byte Codingrate { get; private set; }
public Byte Spreadingfactor { get; private set; }
public String Crcstatus { get; private set; }
public UInt16 Calculatedcrc { get; private set; }
public Double Snrmax { get; private set; }
public Double Snrmin { get; private set; }
public UInt32 Time { get; private set; }

philip.schell
committed
public String Host => Environment.MachineName;
public TrackerUpdateEvent(Tracker tracker) {
this.PacketRssi = tracker.PacketRssi;
this.Rssi = tracker.Rssi;
this.Snr = tracker.Snr;
this.Receivedtime = tracker.ReceivedTime;
this.Name = tracker.Name;
this.BatteryLevel = tracker.BatteryLevel;
this.Recieverradio = tracker.RecieverRadio;
this.Recieverinterface = tracker.RecieverInterface;
this.Frequency = tracker.Frequency;
this.Bandwidth = tracker.Bandwidth;
this.Codingrate = tracker.CodingRate;
this.Spreadingfactor = tracker.SpreadingFactor;
this.Crcstatus = tracker.CRCStatus;
this.Calculatedcrc = tracker.CalculatedCRC;
this.Snrmax = tracker.SnrMax;
this.Snrmin = tracker.SnrMin;
this.Time = tracker.Time;

philip.schell
committed
public override String MqttTopic() => base.MqttTopic() + this.Name;

philip.schell
committed
public override String ToString() => this.Name + " -- " + "Packet: PRssi: " + this.PacketRssi + " Rssi: " + this.Rssi + " SNR: (" + this.Snr + "/" + this.Snrmin + "/" + this.Snrmax + ") Time: " + this.Receivedtime.ToString() +
" Battery: " + this.BatteryLevel + " Radio: " + this.Recieverradio + " Interface: " + this.Recieverinterface + " Freq: " + this.Frequency + " BW: " + this.Bandwidth +
" CR: " + this.Codingrate + " SF: " + this.Spreadingfactor + " CRC: " + this.Crcstatus + "(0x" + this.Calculatedcrc.ToString("X4") + ") Time: " + this.Time;