mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
General cleanup and refactor.
This commit is contained in:
@@ -26,20 +26,21 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.Tests.Devices.SCSI;
|
||||
|
||||
using System;
|
||||
using Aaru.Console;
|
||||
using Aaru.Decoders.SCSI;
|
||||
using Aaru.Devices;
|
||||
using Aaru.Helpers;
|
||||
|
||||
namespace Aaru.Tests.Devices.SCSI;
|
||||
|
||||
internal static class Plasmon
|
||||
static class Plasmon
|
||||
{
|
||||
internal static void Menu(string devPath, Device dev)
|
||||
{
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Send a Plasmon vendor command to the device:");
|
||||
AaruConsole.WriteLine("1.- Send READ LONG command.");
|
||||
@@ -47,12 +48,12 @@ internal static class Plasmon
|
||||
AaruConsole.WriteLine("0.- Return to SCSI commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
|
||||
string strDev = System.Console.ReadLine();
|
||||
string strDev = Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out int item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
@@ -73,7 +74,7 @@ internal static class Plasmon
|
||||
continue;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
@@ -82,20 +83,20 @@ internal static class Plasmon
|
||||
|
||||
static void ReadLong(string devPath, Device dev)
|
||||
{
|
||||
bool relative = false;
|
||||
var relative = false;
|
||||
uint address = 0;
|
||||
ushort length = 1;
|
||||
ushort bps = 512;
|
||||
bool physical = false;
|
||||
bool sectorCount = true;
|
||||
var physical = false;
|
||||
var sectorCount = true;
|
||||
string strDev;
|
||||
int item;
|
||||
|
||||
parameters:
|
||||
parameters:
|
||||
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ LONG command:");
|
||||
AaruConsole.WriteLine("{0} Block Address: {1}", physical ? "Physical" : "Logical", address);
|
||||
@@ -111,12 +112,12 @@ internal static class Plasmon
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Plasmon vendor commands menu.");
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
@@ -129,61 +130,61 @@ internal static class Plasmon
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Physical address?: ");
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out physical))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
physical = false;
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Relative address?: ");
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out relative))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
relative = false;
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("{0} Block Address?: ", physical ? "Physical" : "Logical");
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a numbr. Press any key to continue...");
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("Transfer sectors?: ");
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out sectorCount))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
sectorCount = true;
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("How many {0} to transfer?: ", sectorCount ? "sectors" : "bytes");
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out length))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
length = (ushort)(sectorCount ? 1 : 512);
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
@@ -191,13 +192,13 @@ internal static class Plasmon
|
||||
if(sectorCount)
|
||||
{
|
||||
AaruConsole.Write("How many bytes to expect per sector?");
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!ushort.TryParse(strDev, out bps))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a numbr. Press any key to continue...");
|
||||
bps = 512;
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,13 +207,13 @@ internal static class Plasmon
|
||||
}
|
||||
}
|
||||
|
||||
start:
|
||||
System.Console.Clear();
|
||||
start:
|
||||
Console.Clear();
|
||||
|
||||
bool sense = dev.PlasmonReadLong(out byte[] buffer, out byte[] senseBuffer, relative, address, length, bps,
|
||||
physical, sectorCount, dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ LONG to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
@@ -231,13 +232,13 @@ internal static class Plasmon
|
||||
AaruConsole.WriteLine("0.- Return to Plasmon vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
|
||||
goto menu;
|
||||
}
|
||||
@@ -249,7 +250,7 @@ internal static class Plasmon
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LONG response:");
|
||||
|
||||
@@ -257,13 +258,13 @@ internal static class Plasmon
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LONG sense:");
|
||||
|
||||
@@ -271,19 +272,19 @@ internal static class Plasmon
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ LONG decoded sense:");
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
|
||||
goto menu;
|
||||
@@ -291,8 +292,8 @@ internal static class Plasmon
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
|
||||
goto menu;
|
||||
}
|
||||
@@ -301,15 +302,15 @@ internal static class Plasmon
|
||||
static void ReadSectorLocation(string devPath, Device dev)
|
||||
{
|
||||
uint address = 0;
|
||||
bool physical = false;
|
||||
var physical = false;
|
||||
string strDev;
|
||||
int item;
|
||||
|
||||
parameters:
|
||||
parameters:
|
||||
|
||||
while(true)
|
||||
{
|
||||
System.Console.Clear();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Parameters for READ SECTOR LOCATION command:");
|
||||
AaruConsole.WriteLine("{0} Block Address: {1}", physical ? "Physical" : "Logical", address);
|
||||
@@ -319,12 +320,12 @@ internal static class Plasmon
|
||||
AaruConsole.WriteLine("2.- Send command with these parameters.");
|
||||
AaruConsole.WriteLine("0.- Return to Plasmon vendor commands menu.");
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
@@ -337,25 +338,25 @@ internal static class Plasmon
|
||||
return;
|
||||
case 1:
|
||||
AaruConsole.Write("Physical address?: ");
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!bool.TryParse(strDev, out physical))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a boolean. Press any key to continue...");
|
||||
physical = false;
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
AaruConsole.Write("{0} Block Address?: ", physical ? "Physical" : "Logical");
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!uint.TryParse(strDev, out address))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a numbr. Press any key to continue...");
|
||||
address = 0;
|
||||
System.Console.ReadKey();
|
||||
Console.ReadKey();
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -363,13 +364,13 @@ internal static class Plasmon
|
||||
}
|
||||
}
|
||||
|
||||
start:
|
||||
System.Console.Clear();
|
||||
start:
|
||||
Console.Clear();
|
||||
|
||||
bool sense = dev.PlasmonReadSectorLocation(out byte[] buffer, out byte[] senseBuffer, address, physical,
|
||||
dev.Timeout, out double duration);
|
||||
|
||||
menu:
|
||||
menu:
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("Sending READ SECTOR LOCATION to the device:");
|
||||
AaruConsole.WriteLine("Command took {0} ms.", duration);
|
||||
@@ -388,13 +389,13 @@ internal static class Plasmon
|
||||
AaruConsole.WriteLine("0.- Return to Plasmon vendor commands menu.");
|
||||
AaruConsole.Write("Choose: ");
|
||||
|
||||
strDev = System.Console.ReadLine();
|
||||
strDev = Console.ReadLine();
|
||||
|
||||
if(!int.TryParse(strDev, out item))
|
||||
{
|
||||
AaruConsole.WriteLine("Not a number. Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
|
||||
goto menu;
|
||||
}
|
||||
@@ -406,7 +407,7 @@ internal static class Plasmon
|
||||
|
||||
return;
|
||||
case 1:
|
||||
System.Console.Clear();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ SECTOR LOCATION response:");
|
||||
|
||||
@@ -414,13 +415,13 @@ internal static class Plasmon
|
||||
PrintHex.PrintHexArray(buffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
|
||||
goto menu;
|
||||
case 2:
|
||||
System.Console.Clear();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ SECTOR LOCATION sense:");
|
||||
|
||||
@@ -428,19 +429,19 @@ internal static class Plasmon
|
||||
PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
|
||||
goto menu;
|
||||
case 3:
|
||||
System.Console.Clear();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
AaruConsole.WriteLine("READ SECTOR LOCATION decoded sense:");
|
||||
AaruConsole.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruConsole.WriteLine("Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
AaruConsole.WriteLine("Device: {0}", devPath);
|
||||
|
||||
goto menu;
|
||||
@@ -448,8 +449,8 @@ internal static class Plasmon
|
||||
case 5: goto parameters;
|
||||
default:
|
||||
AaruConsole.WriteLine("Incorrect option. Press any key to continue...");
|
||||
System.Console.ReadKey();
|
||||
System.Console.Clear();
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
|
||||
goto menu;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user