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();
|
pPresent = TcpStream.ReadBoolean();
|
||||||
pLock = TcpStream.ReadBoolean();
|
pLock = TcpStream.ReadBoolean();
|
||||||
pRFLevel = TcpStream.ReadInt32BE();
|
pRFLevel = TcpStream.ReadInt32BE();
|
||||||
pSNR = TcpStream.ReadFloat();
|
pSNR = TcpStream.ReadFloatBE();
|
||||||
pBER = TcpStream.ReadFloat();
|
pBER = TcpStream.ReadFloatBE();
|
||||||
return true;
|
return true;
|
||||||
case RemoteStreamReaderConstants.COMMAND_FAILED:
|
case RemoteStreamReaderConstants.COMMAND_FAILED:
|
||||||
return false;
|
return false;
|
||||||
@ -512,10 +512,10 @@ namespace skyscraper5.Skyscraper.IO.RemoteStreamReader
|
|||||||
switch (result)
|
switch (result)
|
||||||
{
|
{
|
||||||
case RemoteStreamReaderConstants.COMMAND_SUCCESSFUL:
|
case RemoteStreamReaderConstants.COMMAND_SUCCESSFUL:
|
||||||
pRFLevel = NetworkStreamExtensions.ReadDouble(TcpStream);
|
pRFLevel = NetworkStreamExtensions.ReadDoubleBE(TcpStream);
|
||||||
return true;
|
return true;
|
||||||
case RemoteStreamReaderConstants.COMMAND_FAILED:
|
case RemoteStreamReaderConstants.COMMAND_FAILED:
|
||||||
pRFLevel = NetworkStreamExtensions.ReadDouble(TcpStream);
|
pRFLevel = NetworkStreamExtensions.ReadDoubleBE(TcpStream);
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
throw new NotImplementedException(result.ToString());
|
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)
|
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)
|
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_IQ_SCAN,
|
||||||
REQUEST_GET_SIGNAL_EX_EX,
|
REQUEST_GET_SIGNAL_EX_EX,
|
||||||
REQUEST_SKYSCRAPER_ENGINE_NAME,
|
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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static double ReadDouble(this Stream stream)
|
public static double ReadDoubleLE(this Stream stream)
|
||||||
{
|
{
|
||||||
byte[] buffer = new byte[8];
|
byte[] buffer = new byte[8];
|
||||||
if (stream.Read(buffer, 0, 8) != 8)
|
if (stream.Read(buffer, 0, 8) != 8)
|
||||||
@ -200,6 +200,16 @@ namespace skyscraper5.Skyscraper.IO
|
|||||||
return BitConverter.ToDouble(buffer, 0);
|
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)
|
public static void WriteUInt8(this Stream stream, byte value)
|
||||||
{
|
{
|
||||||
byte[] buffer = new byte[1];
|
byte[] buffer = new byte[1];
|
||||||
|
|||||||
@ -152,7 +152,7 @@ namespace skyscraper5.Skyscraper.Net.Sockets
|
|||||||
return buffer[0];
|
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);
|
byte[] buffer = BitConverter.GetBytes(value);
|
||||||
if (BitConverter.IsLittleEndian)
|
if (BitConverter.IsLittleEndian)
|
||||||
@ -160,7 +160,7 @@ namespace skyscraper5.Skyscraper.Net.Sockets
|
|||||||
stream.Write(buffer, 0, 8);
|
stream.Write(buffer, 0, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static double ReadDouble(this NetworkStream stream)
|
public static double ReadDoubleBE(this NetworkStream stream)
|
||||||
{
|
{
|
||||||
byte[] buffer = new byte[8];
|
byte[] buffer = new byte[8];
|
||||||
if (stream.Read(buffer,0,8) != 8)
|
if (stream.Read(buffer,0,8) != 8)
|
||||||
@ -170,7 +170,7 @@ namespace skyscraper5.Skyscraper.Net.Sockets
|
|||||||
return BitConverter.ToDouble(buffer, 0);
|
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);
|
byte[] buffer = BitConverter.GetBytes(value);
|
||||||
if (BitConverter.IsLittleEndian)
|
if (BitConverter.IsLittleEndian)
|
||||||
@ -178,7 +178,7 @@ namespace skyscraper5.Skyscraper.Net.Sockets
|
|||||||
stream.Write(buffer, 0, 4);
|
stream.Write(buffer, 0, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static float ReadFloat(this NetworkStream stream)
|
public static float ReadFloatBE(this NetworkStream stream)
|
||||||
{
|
{
|
||||||
byte[] buffer = new byte[4];
|
byte[] buffer = new byte[4];
|
||||||
if (stream.Read(buffer, 0, 4) != 4)
|
if (stream.Read(buffer, 0, 4) != 4)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user