By vtulyakov84, 16 July, 2024 Forums Gurux.Serial Hi guys! Please tell me how I can determine the transmission direction in the GXSerial.OnTrace() method. Is the data being received or sent? To display the correct color in a multiline text field. Best Regards, vtulyakov84 I SOLVED! 1. Add new… I SOLVED! 1. Add new constructor for Gurux.DLMS.Reader.GXDLMSReader: public GXDLMSReader(GXDLMSClient client, IGXMedia media, ILogger logger, TraceLevel trace = TraceLevel.Verbose) { Trace = trace; Media = media; Client = client; this.logger = logger; // !!!! } 2. Modify method `ReadDLMSPacket`: public void ReadDLMSPacket(byte[] data, GXReplyData reply) { if (data == null) { return; } this.logger.log_tx(data); // !!! ... this.logger.log_rx(p.Reply); // !!! } BR, vtulyakov84 Hi, You can get the… Hi, You can get the direction from the trace type like this: Net1.Trace = TraceLevel.Verbose; Net1.OnTrace += new TraceEventHandler(Net1_OnTrace); void Net1_OnTrace(object sender, TraceEventArgs e) { if ((e.Type & TraceTypes.Sent) != 0) { System.Diagnostics.Debug.WriteLine("<- " + e.ToString()); } else if ((e.Type & TraceTypes.Received) != 0) { System.Diagnostics.Debug.WriteLine("-> " + e.ToString()); } } BR, Mikko Log in or register to post comments
I SOLVED! 1. Add new… I SOLVED! 1. Add new constructor for Gurux.DLMS.Reader.GXDLMSReader: public GXDLMSReader(GXDLMSClient client, IGXMedia media, ILogger logger, TraceLevel trace = TraceLevel.Verbose) { Trace = trace; Media = media; Client = client; this.logger = logger; // !!!! } 2. Modify method `ReadDLMSPacket`: public void ReadDLMSPacket(byte[] data, GXReplyData reply) { if (data == null) { return; } this.logger.log_tx(data); // !!! ... this.logger.log_rx(p.Reply); // !!! } BR, vtulyakov84
Hi, You can get the… Hi, You can get the direction from the trace type like this: Net1.Trace = TraceLevel.Verbose; Net1.OnTrace += new TraceEventHandler(Net1_OnTrace); void Net1_OnTrace(object sender, TraceEventArgs e) { if ((e.Type & TraceTypes.Sent) != 0) { System.Diagnostics.Debug.WriteLine("<- " + e.ToString()); } else if ((e.Type & TraceTypes.Received) != 0) { System.Diagnostics.Debug.WriteLine("-> " + e.ToString()); } } BR, Mikko
I SOLVED! 1. Add new…
I SOLVED!
1. Add new constructor for Gurux.DLMS.Reader.GXDLMSReader:
public GXDLMSReader(GXDLMSClient client, IGXMedia media, ILogger logger, TraceLevel trace = TraceLevel.Verbose)
{
Trace = trace;
Media = media;
Client = client;
this.logger = logger; // !!!!
}
2. Modify method `ReadDLMSPacket`:
public void ReadDLMSPacket(byte[] data, GXReplyData reply)
{
if (data == null)
{
return;
}
this.logger.log_tx(data); // !!!
...
this.logger.log_rx(p.Reply); // !!!
}
BR,
vtulyakov84
Hi, You can get the…
Hi,
You can get the direction from the trace type like this:
Net1.Trace = TraceLevel.Verbose;
Net1.OnTrace += new TraceEventHandler(Net1_OnTrace);
void Net1_OnTrace(object sender, TraceEventArgs e)
{
if ((e.Type & TraceTypes.Sent) != 0)
{
System.Diagnostics.Debug.WriteLine("<- " + e.ToString());
}
else if ((e.Type & TraceTypes.Received) != 0)
{
System.Diagnostics.Debug.WriteLine("-> " + e.ToString());
}
}
BR,
Mikko