Fixed bug in Float/Double I/O.
Some checks failed
🚀 Pack skyscraper8 / make-zip (push) Failing after 35s
Some checks failed
🚀 Pack skyscraper8 / make-zip (push) Failing after 35s
This commit is contained in:
parent
e79ef4b4e2
commit
6b83c4d198
@ -445,8 +445,8 @@ namespace skyscraper5.Skyscraper.IO.RemoteStreamReader
|
||||
pPresent = TcpStream.ReadBoolean();
|
||||
pLock = TcpStream.ReadBoolean();
|
||||
pRFLevel = TcpStream.ReadInt32BE();
|
||||
pSNR = TcpStream.ReadFloat();
|
||||
pBER = TcpStream.ReadFloat();
|
||||
pSNR = TcpStream.ReadFloatBE();
|
||||
pBER = TcpStream.ReadFloatBE();
|
||||
return true;
|
||||
case RemoteStreamReaderConstants.COMMAND_FAILED:
|
||||
return false;
|
||||
@ -512,10 +512,10 @@ namespace skyscraper5.Skyscraper.IO.RemoteStreamReader
|
||||
switch (result)
|
||||
{
|
||||
case RemoteStreamReaderConstants.COMMAND_SUCCESSFUL:
|
||||
pRFLevel = NetworkStreamExtensions.ReadDouble(TcpStream);
|
||||
pRFLevel = NetworkStreamExtensions.ReadDoubleBE(TcpStream);
|
||||
return true;
|
||||
case RemoteStreamReaderConstants.COMMAND_FAILED:
|
||||
pRFLevel = NetworkStreamExtensions.ReadDouble(TcpStream);
|
||||
pRFLevel = NetworkStreamExtensions.ReadDoubleBE(TcpStream);
|
||||
return false;
|
||||
default:
|
||||
throw new NotImplementedException(result.ToString());
|
||||
@ -831,7 +831,22 @@ namespace skyscraper5.Skyscraper.IO.RemoteStreamReader
|
||||
|
||||
public bool RFScan2(uint freq, STD_TYPE std, ref double pRFLevel)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
TcpStream.WriteUInt32BE((uint)RemoteStreamReaderConstants.REQUEST_RF_SCAN_2);
|
||||
TcpStream.WriteUInt32BE(freq);
|
||||
TcpStream.WriteInt32BE((int)std);
|
||||
TcpStream.Flush();
|
||||
|
||||
RemoteStreamReaderConstants result = (RemoteStreamReaderConstants)TcpStream.ReadUInt32BE();
|
||||
switch(result)
|
||||
{
|
||||
case RemoteStreamReaderConstants.COMMAND_SUCCESSFUL:
|
||||
pRFLevel = TcpStream.ReadDoubleBE();
|
||||
return true;
|
||||
case RemoteStreamReaderConstants.COMMAND_FAILED:
|
||||
return false;
|
||||
default:
|
||||
throw new NotImplementedException(result.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public bool AirScan(int freq_start, int freq_stop, uint step, uint bandwidth, int std, IntPtr pSearchResult, ref int pTpNum, AirScanCallback lpFunc)
|
||||
|
||||
@ -40,6 +40,7 @@
|
||||
REQUEST_IQ_SCAN,
|
||||
REQUEST_GET_SIGNAL_EX_EX,
|
||||
REQUEST_SKYSCRAPER_ENGINE_NAME,
|
||||
REQUEST_SKYSCRAPER_ENGINE_VERSION
|
||||
}
|
||||
REQUEST_SKYSCRAPER_ENGINE_VERSION,
|
||||
REQUEST_RF_SCAN_2
|
||||
}
|
||||
}
|
||||
|
||||
@ -190,7 +190,7 @@ namespace skyscraper5.Skyscraper.IO
|
||||
return result;
|
||||
}
|
||||
|
||||
public static double ReadDouble(this Stream stream)
|
||||
public static double ReadDoubleLE(this Stream stream)
|
||||
{
|
||||
byte[] buffer = new byte[8];
|
||||
if (stream.Read(buffer, 0, 8) != 8)
|
||||
@ -200,6 +200,16 @@ namespace skyscraper5.Skyscraper.IO
|
||||
return BitConverter.ToDouble(buffer, 0);
|
||||
}
|
||||
|
||||
public static double ReadDoubleBE(this Stream stream)
|
||||
{
|
||||
byte[] buffer = new byte[8];
|
||||
if (stream.Read(buffer, 0, 8) != 8)
|
||||
throw new EndOfStreamException();
|
||||
if (BitConverter.IsLittleEndian)
|
||||
Array.Reverse(buffer, 0, 8);
|
||||
return BitConverter.ToDouble(buffer, 0);
|
||||
}
|
||||
|
||||
public static void WriteUInt8(this Stream stream, byte value)
|
||||
{
|
||||
byte[] buffer = new byte[1];
|
||||
|
||||
@ -152,7 +152,7 @@ namespace skyscraper5.Skyscraper.Net.Sockets
|
||||
return buffer[0];
|
||||
}
|
||||
|
||||
public static void WriteDouble(this NetworkStream stream, double value)
|
||||
public static void WriteDoubleBE(this NetworkStream stream, double value)
|
||||
{
|
||||
byte[] buffer = BitConverter.GetBytes(value);
|
||||
if (BitConverter.IsLittleEndian)
|
||||
@ -160,7 +160,7 @@ namespace skyscraper5.Skyscraper.Net.Sockets
|
||||
stream.Write(buffer, 0, 8);
|
||||
}
|
||||
|
||||
public static double ReadDouble(this NetworkStream stream)
|
||||
public static double ReadDoubleBE(this NetworkStream stream)
|
||||
{
|
||||
byte[] buffer = new byte[8];
|
||||
if (stream.Read(buffer,0,8) != 8)
|
||||
@ -170,7 +170,7 @@ namespace skyscraper5.Skyscraper.Net.Sockets
|
||||
return BitConverter.ToDouble(buffer, 0);
|
||||
}
|
||||
|
||||
public static void WriteFloat(this NetworkStream stream, float value)
|
||||
public static void WriteFloatBE(this NetworkStream stream, float value)
|
||||
{
|
||||
byte[] buffer = BitConverter.GetBytes(value);
|
||||
if (BitConverter.IsLittleEndian)
|
||||
@ -178,7 +178,7 @@ namespace skyscraper5.Skyscraper.Net.Sockets
|
||||
stream.Write(buffer, 0, 4);
|
||||
}
|
||||
|
||||
public static float ReadFloat(this NetworkStream stream)
|
||||
public static float ReadFloatBE(this NetworkStream stream)
|
||||
{
|
||||
byte[] buffer = new byte[4];
|
||||
if (stream.Read(buffer, 0, 4) != 4)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user