Example #1
0
        public override void CanPacketReceived(CanPacket canPacket)
        {
            try
            {
                if (isRecording)
                {
                    string newLine = "";
                    packetNumber++;

                    newLine = newLine + MyExtensions.AlignLeft(DateTime.Now.ToString("HH:mm:ss.fff"), 14, false);
                    newLine = newLine + MyExtensions.AlignLeft(packetNumber.ToString(), 12, true);
                    newLine = newLine + MyExtensions.AlignLeft("0x" + canPacket.CanIdAsHex, 12, true);
                    newLine = newLine + MyExtensions.AlignLeft(canPacket.Flags, 7, true);

                    byte[] dataBytes = canPacket.DataBytes;
                    Array.Reverse(dataBytes, 0, dataBytes.Length);

                    newLine = newLine + MyExtensions.AlignLeft("0x" + MyExtensions.ByteArrayToString(dataBytes), 20, true);
                    newLine = newLine + MyExtensions.AlignLeft(canPacket.Float1.ToString(), 15, true);
                    newLine = newLine + MyExtensions.AlignLeft(canPacket.Float0.ToString(), 15, true);
                    newLine = newLine + MyExtensions.AlignLeft(canPacket.SourceIPAddress.ToString(), 7, true);

                    recordStream.WriteLine(newLine);

                    recordStatus = "Recording Can Packet No : " + packetNumber;
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.StackTrace);
            }
        }
        public void SaveChargeData(StreamWriter ioStream)
        {
            StreamWriter recordStream = ioStream;

            recordStream.WriteLine("Date time     , SOC %, Charge Current , Charge Voltage, Pack mA, Pack mV, Min Cell mV, Max Cell mV, Min Cell Temp, Max Cell Temp, Balance +, Balance -, Charge Voltage Error, Discharge Voltage Error");

            foreach (ChargeData chargeData in chargeDataSet)
            {
                string newLine = "";

                newLine = newLine + MyExtensions.AlignLeft(chargeData.DateTime.ToString("HH:mm:ss"), 14, false);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.SOCAsInt.ToString(), 7, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.ChargeCurrentmA.ToString(), 17, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.ChargeVoltagemV.ToString(), 16, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.PackmA.ToString(), 9, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.PackmV.ToString(), 9, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.MinCellmV.ToString(), 13, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.MaxCellmV.ToString(), 13, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.MinCellTemp.ToString(), 15, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.MaxCellTemp.ToString(), 15, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.BalanceVoltageThresholdRising.ToString(), 11, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.BalanceVoltageThresholdFalling.ToString(), 11, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.ChargeCellVoltageError.ToString(), 22, true);
                newLine = newLine + MyExtensions.AlignLeft(chargeData.DischargeCellVoltageError.ToString(), 12, true);

                recordStream.WriteLine(newLine);
            }

            ioStream.Close();
            recordStream.Close();
        }
        public void SaveChargeDataHeader()
        {
            fileStream.Write("Date time     , SOC %, Charge Current , Charge Voltage, Pack mA, Pack mV, Min Cell mV, Max Cell mV, Min Cell Temp, Max Cell Temp, Balance +, Balance -, Charge Voltage Error, Discharge Voltage Error");

            foreach (BMU bmu in BatteryChargeService.Instance.BatteryService.BatteryData.GetBMUs())
            {
                foreach (CMU cmu in bmu.GetCMUs())
                {
                    if (cmu.State == CanReceivingNode.STATE_ON)
                    {
                        fileStream.Write(", CMU" + MyExtensions.AlignLeft(cmu.SerialNumber.ToString(), 3, false) + ", Cell0mV, Cell1mV, Cell2mV, Cell3mV, Cell4mV, Cell5mV, Cell6mV, Cell7mV");
                    }
                }
            }

            fileStream.WriteLine();
        }
        public void SaveChargeData(ChargeData chargeData)
        {
            string newLine = "";

            newLine = newLine + MyExtensions.AlignLeft(chargeData.DateTime.ToString("HH:mm:ss"), 14, false);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.SOCAsInt.ToString(), 7, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.ChargeCurrentmA.ToString(), 17, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.ChargeVoltagemV.ToString(), 16, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.PackmA.ToString(), 9, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.PackmV.ToString(), 9, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.MinCellmV.ToString(), 13, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.MaxCellmV.ToString(), 13, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.MinCellTemp.ToString(), 15, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.MaxCellTemp.ToString(), 15, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.BalanceVoltageThresholdRising.ToString(), 11, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.BalanceVoltageThresholdFalling.ToString(), 11, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.ChargeCellVoltageError.ToString(), 22, true);
            newLine = newLine + MyExtensions.AlignLeft(chargeData.DischargeCellVoltageError.ToString(), 25, true);

            if (chargeData.CellVoltages != null)
            {
                foreach (uint?[] array in chargeData.CellVoltages)
                {
                    newLine = newLine + MyExtensions.AlignLeft(array[8].ToString(), 8, true);
                    newLine = newLine + MyExtensions.AlignLeft(array[0].ToString(), 9, true);
                    newLine = newLine + MyExtensions.AlignLeft(array[1].ToString(), 9, true);
                    newLine = newLine + MyExtensions.AlignLeft(array[2].ToString(), 9, true);
                    newLine = newLine + MyExtensions.AlignLeft(array[3].ToString(), 9, true);
                    newLine = newLine + MyExtensions.AlignLeft(array[4].ToString(), 9, true);
                    newLine = newLine + MyExtensions.AlignLeft(array[5].ToString(), 9, true);
                    newLine = newLine + MyExtensions.AlignLeft(array[6].ToString(), 9, true);
                    newLine = newLine + MyExtensions.AlignLeft(array[7].ToString(), 9, true);
                }
            }

            fileStream.WriteLine(newLine);
        }