void ParseData(byte[] data, string cmd) { switch (cmd) { case "GS": var gs = new GS(data, data.Length); if (gs.DataValid) { OnGsReceived?.Invoke(gs); Log.V("New GS data received from MPS Inverter"); } break; case "BATS": var bats = new BATS(data, data.Length); if (bats.DataValid) { OnBatsReceived?.Invoke(bats); Log.V("New BATS data received from MPS Inverter"); } break; case "PS": var ps = new PS(data, data.Length); if (ps.DataValid) { OnPsReceived?.Invoke(ps); Log.V("New PS data received from MPS Inverter"); } break; default: //CUSTOM command, write output. try { var res = UTF8Encoding.UTF8.GetString(data); Log.V(res); Debug.WriteLine(res); } catch (Exception ex) { } break; } }
private static void MpsInverterPoll_OnBatsReceived(Models.BATS obj) { LastBats = obj; }