コード例 #1
0
        private void AddTempReading(object state)
        {
            try {
                if (controllerData.PollTemp())
                {
                    this.tempReadings = controllerData.tempReadings;
                    this.averageTemp  = controllerData.averageTemp;
                    this.RSD          = controllerData.RSD;

                    double currentTime       = tempReadings[tempReadings.Count() - 1].X;
                    double currentTempDouble = tempReadings[tempReadings.Count() - 1].Y;
                    this.CurrentTemp = currentTempDouble.ToString("N2");
                    this.AverageTemp = averageTemp[averageTemp.Count() - 1].Y.ToString("N2");

                    double rsd = RSD[RSD.Count() - 1].Value;
                    FormatRSDData(currentTime, currentTempDouble, rsd);

                    this.Refresh++;
                }
                else
                {
                    this.timer.Dispose();
                }
            } catch (Exception ex) {
                this.timer.Dispose();

                Forms.MessageBox.Show($"Error reading CSV file.\n\nError message: {ex.Message}\n\n" +
                                      $"Details:\n\n{ex.StackTrace}");
            }
        }
コード例 #2
0
        public static void Init()
        {
            uint rsdp = 0;

            for (uint addr = 0xE0000; addr < 0x100000; addr += 4)
            {
                if (CheckForRSDP(addr))
                {
                    rsdp = addr;
                }
            }
            if (rsdp == 0)
            {
                uint ebda_address = *((uint *)0x040E);

                ebda_address = (ebda_address * 0x10) & 0x000fffff;

                for (uint addr = ebda_address; addr < ebda_address + 1024; addr += 4)
                {
                    if (CheckForRSDP(addr))
                    {
                        rsdp = addr;
                    }
                }
            }
            if (rsdp != 0)
            {
                Rsd = *((RSD *)rsdp);
                acpi_table_header *Rsdt = (acpi_table_header *)Rsd.RsdtAddress;
                uint e = Rsdt->length;
                e = (e - 36) / 4;

                ACPITable = new uint[e];

                uint rsdt = Rsd.RsdtAddress;
                for (int j = 0; j < e; j++)
                {
                    ACPITable[j] = *(uint *)(rsdt + 36 + j * 4);
                    acpi_table_header *header = (acpi_table_header *)ACPITable[j];
                }

                SetupPower((byte *)rsdp);
                Enable();
            }
        }
コード例 #3
0
        public void SaveFile(object sender, EventArgs e)
        {
            Forms.SaveFileDialog saveFileDialog = new Forms.SaveFileDialog();
            saveFileDialog.Filter = "XML File | *.xml";

            if (saveFileDialog.ShowDialog() == Forms.DialogResult.OK)
            {
                if (saveFileDialog.FileName != "")
                {
                    System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog.OpenFile();

                    XmlWriterSettings settings = new XmlWriterSettings();
                    settings.NewLineOnAttributes = true;
                    settings.Indent = true;
                    using (XmlWriter writer = XmlWriter.Create(fs, settings))
                    {
                        //make copies so that the graph can keep reading data without messing with what we're trying to save here
                        IList <ScatterPoint> savedTempReadings = new List <ScatterPoint>(tempReadings.ToArray());
                        IList <DataPoint>    savedAverageTemp  = new List <DataPoint>(averageTemp.ToArray());
                        IList <RSDPoint>     savedRSD          = new List <RSDPoint>(RSD.ToArray());

                        writer.WriteStartElement("TestResults");
                        for (int i = 0; i < savedTempReadings.Count(); i++)
                        {
                            writer.WriteStartElement("TestResult");
                            writer.WriteElementString("Timestamp", savedTempReadings[i].X.ToString());
                            writer.WriteElementString("Temperature", savedTempReadings[i].Y.ToString());
                            writer.WriteElementString("RollingAverage", savedAverageTemp[i].Y.ToString());
                            writer.WriteElementString("RollingStandardDeviation", savedRSD[i].Value.ToString());
                            writer.WriteEndElement();
                        }
                        writer.WriteEndElement();
                        writer.Flush();
                    }
                }
            }
        }
コード例 #4
0
        public unsafe static void Init()
        {
            Console.Write("Looking for ACPI...");

            uint rsdp = RSDPAddress();

            if (rsdp != 0)
            {
                Rsd = *((RSD *)rsdp);


                Found = true;

                //Console.WriteLine("Found Version "  + Rsd.Revision + " (" + Rsd.OemID + ") @ " + rsdp.ToHex(8));

                acpi_table_header *Rsdt = (acpi_table_header *)Rsd.RsdtAddress;
                uint i = Rsdt->length;
                i = (i - 36) / 4;

                Console.WriteLine(i + " entrys found");

                ACPITable = new uint[i];

                uint rsdt = Rsd.RsdtAddress;
                for (int j = 0; j < i; j++)
                {
                    ACPITable[j] = *(uint *)(rsdt + 36 + j * 4);
                    acpi_table_header *header = (acpi_table_header *)ACPITable[j];
                }
                Console.Read();
            }
            else
            {
                Console.WriteLine("Not Found");
            }
        }
コード例 #5
0
ファイル: ACPIManager.cs プロジェクト: Orvid/Cosmos
        public unsafe static void Init()
        {
            Console.Write("Looking for ACPI...");

            uint rsdp = RSDPAddress();
            
            if (rsdp != 0)
            {
                Rsd = *((RSD*)rsdp);


                Found = true;

                //Console.WriteLine("Found Version "  + Rsd.Revision + " (" + Rsd.OemID + ") @ " + rsdp.ToHex(8));

                acpi_table_header* Rsdt = (acpi_table_header*)Rsd.RsdtAddress;
                uint i = Rsdt->length;
                i = (i - 36) / 4;

                Console.WriteLine(i + " entrys found");

                ACPITable = new uint[i];

                uint rsdt = Rsd.RsdtAddress;
                for (int j = 0; j < i; j++)
                {
                    ACPITable[j] = *(uint*)(rsdt + 36 +j*4);
                    acpi_table_header* header = (acpi_table_header*)ACPITable[j];
                    
                        
                }
                Console.Read();

            }
            else
            {
                Console.WriteLine("Not Found");
            }

        }