|
|
@@ -449,7 +449,7 @@ namespace TeamAAS_VP.Core.ScrewDriver
|
|
|
int hour = ToInt16(data, 16);
|
|
|
int minute = ToInt16(data, 18);
|
|
|
int second = ToInt16(data, 20);
|
|
|
- ResultDateTime = new DateTime(year, month, day, hour, minute, second);
|
|
|
+ //ResultDateTime = new DateTime(year, month, day, hour, minute, second);
|
|
|
|
|
|
ProgramNumber = ToInt16(data, 22);
|
|
|
// 设备返回的总圈数字段以度为单位,转换为圈
|
|
|
@@ -594,11 +594,15 @@ namespace TeamAAS_VP.Core.ScrewDriver
|
|
|
/// <returns>解析出的 short 值,出错返回 0</returns>
|
|
|
private short ToInt16(byte[] value, int startIndex)
|
|
|
{
|
|
|
- if (value == null || startIndex < 0 || startIndex + 1 >= value.Length)
|
|
|
+ if (value == null)
|
|
|
+ {
|
|
|
return 0;
|
|
|
+ }
|
|
|
|
|
|
- // data is DCBA style (little-endian word swapped)
|
|
|
- return (short)((value[startIndex + 1] << 8) | value[startIndex]);
|
|
|
+ byte[] data = new byte[2];
|
|
|
+ data[0] = value[startIndex + 1];
|
|
|
+ data[1] = value[startIndex];
|
|
|
+ return BitConverter.ToInt16(data, 0);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -610,11 +614,19 @@ namespace TeamAAS_VP.Core.ScrewDriver
|
|
|
/// <returns>解析出的 int 值,出错返回 0</returns>
|
|
|
private int ToInt32N(byte[] value, int startIndex)
|
|
|
{
|
|
|
- if (value == null || startIndex < 0 || startIndex + 3 >= value.Length)
|
|
|
- return 0;
|
|
|
-
|
|
|
- // DCBA order -> 构造 32 位整数(高位在后面的索引)
|
|
|
- return (value[startIndex + 3] << 24) | (value[startIndex + 2] << 16) | (value[startIndex + 1] << 8) | value[startIndex];
|
|
|
+ if (false)
|
|
|
+ {
|
|
|
+ return BitConverter.ToInt32(value, startIndex);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ byte[] data = new byte[4];
|
|
|
+ data[0] = value[startIndex + 3];
|
|
|
+ data[1] = value[startIndex + 2];
|
|
|
+ data[2] = value[startIndex + 1];
|
|
|
+ data[3] = value[startIndex];
|
|
|
+ return BitConverter.ToInt32(data, 0);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|