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;
            }
        }
示例#2
0
 private static void MpsInverterPoll_OnBatsReceived(Models.BATS obj)
 {
     LastBats = obj;
 }