Untitled
unknown
plain_text
a year ago
7.1 kB
3
Indexable
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Management;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AnoleAPI;
namespace EvalBoard
{
public partial class Form1 : Form
{
// Log file Path
private string logDirectory = "D:\\Software\\Software\\WINIC\\AnoleTestAPP-BMD\\AnoleTestAPP-BMD\\EvalBoard\\LOG";
private string logFilePath;
// Declaration Of the input variables
public int Offset_write_input;
public int data_write_input;
public int offset_read_input;
public int data_read_output;
public Form1()
{
InitializeComponent();
CreateLog();
}
public void CreateLog()
{
try
{
Directory.CreateDirectory(logDirectory);
logFilePath = Path.Combine(logDirectory, $"Log_{DateTime.Now:yyyyMMdd_HHmmss}.txt");
using (StreamWriter logFile = new StreamWriter(logFilePath, true))
{
logFile.WriteLine("Log created at: " + DateTime.Now);
}
}
catch (Exception ex)
{
Console.WriteLine("Error creating log file: " + ex.Message);
}
}
public void WriteToLog(string message)
{
try
{
using (StreamWriter logFile = new StreamWriter(logFilePath, true))
{
logFile.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " - " + message);
}
}
catch (Exception ex)
{
Console.WriteLine("Error writing to log: " + ex.Message);
}
}
private void button2_Click(object sender, EventArgs e)
{
WriteToLog("PCI Connect Button Clicked ");
bool driver_status = FPGACommunicationHandler.FPGAInstance.InitializeWinDriver();
MessageBox.Show("Driver status " + driver_status);
WriteToLog("Driver Open Status is " + driver_status);
bool Device_status = FPGACommunicationHandler.FPGAInstance.DeviceOpen();
MessageBox.Show("Device open " + Device_status);
WriteToLog("Device Open Status is " + Device_status);
if (driver_status)
{
string vendorId = "10EE"; // Replace with user-provided vendor ID
string deviceId = "9038"; // Replace with user-provided device ID
Check_Device_Info(vendorId, deviceId);
}
else
{
WriteToLog("Device is not present.");
}
}
private void Eval_Read_Click(object sender, EventArgs e)
{
FPGACommunicationHandler.FPGAInstance.ReadFromFPGARegister(0, offset_read_input, ref data_read_output);
Read_Value_FromPCI.Text = data_read_output.ToString();
}
private void Offset_User_Input_TextChanged(object sender, EventArgs e)
{
offset_read_input = int.Parse(Read_Offset_input.Text);
}
private void Data_User_Input_TextChanged(object sender, EventArgs e)
{
data_write_input = int.Parse(Data_User_Input.Text);
}
private void Read_Value_FromPCI_TextChanged(object sender, EventArgs e)
{
Read_Value_FromPCI.Text = data_read_output.ToString();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
// Placeholder for future implementation
}
private void label1_Click(object sender, EventArgs e)
{
// Placeholder for future implementation
}
private void label2_Click(object sender, EventArgs e)
{
// Placeholder for future implementation
}
private void EvalBoard_Write_Click(object sender, EventArgs e)
{
FPGACommunicationHandler.FPGAInstance.WriteToFPGARegister(0, Offset_write_input, data_write_input);
}
/// <summary>
/// Check device information and log it.
/// </summary>
private void Check_Device_Info(string vendorId, string deviceId)
{
try
{
ManagementObjectSearcher deviceSearcher = new ManagementObjectSearcher(
$"SELECT * FROM Win32_PnPEntity WHERE PNPDeviceID LIKE '%{vendorId}%' AND PNPDeviceID LIKE '%{deviceId}%'");
bool deviceFound = false;
using (StreamWriter logFile = new StreamWriter(logFilePath, true))
{
foreach (ManagementObject device in deviceSearcher.Get())
{
deviceFound = true;
string deviceName = (string)device["Name"];
Device_Info.Text = deviceName;
logFile.WriteLine("Device Name: " + device["Name"]);
logFile.WriteLine("Device ID: " + device["DeviceID"]);
logFile.WriteLine("Description: " + device["Description"]);
logFile.WriteLine("Manufacturer: " + device["Manufacturer"]);
logFile.WriteLine();
string deviceIdEscaped = device["DeviceID"].ToString().Replace("\\", "\\\\");
ManagementObjectSearcher driverSearcher = new ManagementObjectSearcher(
$"SELECT * FROM Win32_PnPSignedDriver WHERE DeviceID = '{deviceIdEscaped}'");
foreach (ManagementObject driver in driverSearcher.Get())
{
logFile.WriteLine("Driver Name: " + driver["DeviceName"]);
logFile.WriteLine("Driver Version: " + driver["DriverVersion"]);
logFile.WriteLine("Driver Provider: " + driver["DriverProviderName"]);
logFile.WriteLine("Driver Date: " + driver["DriverDate"]);
logFile.WriteLine();
}
}
if (!deviceFound)
{
logFile.WriteLine("Device not found.");
}
}
}
catch (ManagementException e)
{
File.AppendAllText(logFilePath, "An error occurred while querying for WMI data: " + e.Message + Environment.NewLine);
}
catch (Exception e)
{
File.AppendAllText(logFilePath, "An unexpected error occurred: " + e.Message + Environment.NewLine);
}
}
}
}Editor is loading...
Leave a Comment