@@ -0,0 +1,14 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
namespace GBNewEnergy.Protocol.Test | |||||
{ | |||||
public class NEPackageBase | |||||
{ | |||||
public readonly NEGlobalConfigs NEGlobalConfigs = new NEGlobalConfigs() | |||||
{ | |||||
}; | |||||
} | |||||
} |
@@ -7,243 +7,12 @@ using GBNewEnergy.Protocol.UpStream; | |||||
using GBNewEnergy.Protocol.Enums; | using GBNewEnergy.Protocol.Enums; | ||||
using GBNewEnergy.Protocol.Exceptions; | using GBNewEnergy.Protocol.Exceptions; | ||||
using GBNewEnergy.Protocol.NEProperties; | using GBNewEnergy.Protocol.NEProperties; | ||||
using GBNewEnergy.Protocol.DownStream; | |||||
namespace GBNewEnergy.Protocol.Test | namespace GBNewEnergy.Protocol.Test | ||||
{ | { | ||||
public class NEPackageTest | |||||
public class NEPackageTest: NEPackageBase | |||||
{ | { | ||||
private readonly NEGlobalConfigs NEGlobalConfigs = new NEGlobalConfigs() | |||||
{ | |||||
}; | |||||
#region 车辆登入 | |||||
[Fact] | |||||
public void NELoginUpStreamConstructor4_1() | |||||
{ | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F" | |||||
// "12 06 08 11 09 14 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31" | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 08 11 09 14 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 DA" | |||||
INEProperties nELoginProperty = new NELoginProperty | |||||
{ | |||||
VIN= "LGHC4V1D3HE202652", | |||||
BatteryCount=1, | |||||
BatteryLength=1, | |||||
BatteryNos=new List<string>() { "1" }, | |||||
SIM= "64743066405" | |||||
}; | |||||
NELoginUpStream nELoginUpStream = new NELoginUpStream(nELoginProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies= nELoginUpStream, | |||||
MsgId = Enums.NEMsgId.login, | |||||
AskId= Enums.NEAskId.cmd, | |||||
VIN= "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NELoginUpStreamConstructor4_2() | |||||
{ | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F" | |||||
// "12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31" | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7" | |||||
byte[] header = "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F".ToHexBytes(); | |||||
byte[] body = "12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(header, body,NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NELoginUpStreamConstructor4_3() | |||||
{ | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7" | |||||
byte[] packageBytes = "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
#region 车辆登出(依赖车辆登入的流水号所有必须先进行登入产生流水号) | |||||
[Fact] | |||||
public void NELogoutUpStream1_1() | |||||
{ | |||||
try | |||||
{ | |||||
INEProperties nELogoutProperty = new NELogoutProperty() | |||||
{ | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NELogoutUpStream nELogoutUpStream1 = new NELogoutUpStream(nELogoutProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty1 = new NEPackageProperty | |||||
{ | |||||
Bodies = nELogoutUpStream1, | |||||
MsgId = Enums.NEMsgId.login, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty1, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
catch (NEException ex) | |||||
{ | |||||
Assert.Equal(NEErrorCode.LoginSerialNoError, ex.ErrorCode); | |||||
} | |||||
} | |||||
[Fact] | |||||
public void NELogoutUpStream2_1() | |||||
{ | |||||
INEProperties nELoginProperty = new NELoginProperty | |||||
{ | |||||
VIN = "LGHC4V1D3HE202652", | |||||
BatteryCount = 1, | |||||
BatteryLength = 1, | |||||
BatteryNos = new List<string>() { "1" }, | |||||
SIM = "64743066405" | |||||
}; | |||||
NELoginUpStream nELoginUpStream = new NELoginUpStream(nELoginProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nELoginUpStream, | |||||
MsgId = Enums.NEMsgId.login, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackageLogin = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
INEProperties nELogoutProperty = new NELogoutProperty() | |||||
{ | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NELogoutUpStream nELogoutUpStream1 = new NELogoutUpStream(nELogoutProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty1 = new NEPackageProperty | |||||
{ | |||||
Bodies = nELogoutUpStream1, | |||||
MsgId = Enums.NEMsgId.loginout, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty1, NEGlobalConfigs); | |||||
// "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08" | |||||
// "12 06 08 12 06 3A 00 01" | |||||
// "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08 12 06 08 12 06 3A 00 01 E9" | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NELogoutUpStream2_2() | |||||
{ | |||||
byte[] packageBytes = "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08 12 06 08 12 06 3A 00 01 E9".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
Assert.Equal("23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08", headerHex); | |||||
Assert.Equal("12 06 08 12 06 3A 00 01 E9", bodiesHex); | |||||
} | |||||
#endregion | |||||
#region 平台登入 | |||||
[Fact] | |||||
public void NEPlatformLogin1_1() | |||||
{ | |||||
// "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 29 12 06 0C 09 2F 12 00 01 00 00 00 00 73 6D 61 6C 6C 63 68 69 31 32 33 34 35 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 CD" | |||||
NEPlatformLoginProperty nEPlatformLoginProperty = new NEPlatformLoginProperty | |||||
{ | |||||
EncryptMethod = NEEncryptMethod.None, | |||||
Password = "123456", | |||||
UserName = "smallchi", | |||||
}; | |||||
NEPlatformLoginUpStream nEPlatformLoginUpStream = new NEPlatformLoginUpStream(nEPlatformLoginProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nEPlatformLoginUpStream, | |||||
MsgId = Enums.NEMsgId.platformlogin, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NEPlatformLogin1_2() | |||||
{ | |||||
byte[] packageBytes = "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 29 12 06 0C 09 2F 12 00 01 00 00 00 00 73 6D 61 6C 6C 63 68 69 31 32 33 34 35 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 CD".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
#region 平台登出(依赖平台登出的流水号所有必须先进行登入产生流水号) | |||||
[Fact] | |||||
public void NEPlatformLogin2_1() | |||||
{ | |||||
//"23 23 06 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 29 12 06 0C 09 3A 17 00 01 00 00 00 00 73 6D 61 6C 6C 63 68 69 31 32 33 34 35 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 DE" | |||||
NEPlatformLoginProperty nEPlatformLoginProperty = new NEPlatformLoginProperty | |||||
{ | |||||
EncryptMethod = NEEncryptMethod.None, | |||||
Password = "123456", | |||||
UserName = "smallchi", | |||||
}; | |||||
NEPlatformLoginUpStream nEPlatformLoginUpStream = new NEPlatformLoginUpStream(nEPlatformLoginProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nEPlatformLoginUpStream, | |||||
MsgId = Enums.NEMsgId.platformlogin, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
NEPlatformLogoutProperty nEPlatformLogoutProperty = new NEPlatformLogoutProperty | |||||
{ | |||||
UserName = "smallchi", | |||||
}; | |||||
NEPlatformLoginUpStream nEPlatformLogoutUpStream = new NEPlatformLoginUpStream(nEPlatformLoginProperty, NEGlobalConfigs); | |||||
INEProperties logoutNEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nEPlatformLogoutUpStream, | |||||
MsgId = Enums.NEMsgId.platformlogout, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage loginNEPackage = new NEPackage(logoutNEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = loginNEPackage.Header.ToHexString(); | |||||
string bodiesHex = loginNEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = loginNEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NEPlatformLogin2_2() | |||||
{ | |||||
byte[] packageBytes = "23 23 06 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 29 12 06 0C 09 3A 17 00 01 00 00 00 00 73 6D 61 6C 6C 63 68 69 31 32 33 34 35 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 DE".ToHexBytes(); | |||||
NEPackage loginNEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = loginNEPackage.Header.ToHexString(); | |||||
string bodiesHex = loginNEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = loginNEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
} | } | ||||
} | } |
@@ -0,0 +1,152 @@ | |||||
using GBNewEnergy.Protocol.NEProperties; | |||||
using GBNewEnergy.Protocol.UpStream; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using Xunit; | |||||
using GBNewEnergy.Protocol.Extensions; | |||||
namespace GBNewEnergy.Protocol.Test.UpStream | |||||
{ | |||||
public class CommonUpStreamTest: NEPackageBase | |||||
{ | |||||
#region 控制应答 | |||||
[Fact] | |||||
public void NEControlTest1_1() | |||||
{ | |||||
// "23 23 82 01 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 06 12 06 0C 0B 21 08 96" | |||||
CommonUpStream nEControlDownStream = new CommonUpStream(new NEEmptyProperty(), NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nEControlDownStream, | |||||
MsgId = Enums.NEMsgId.control, | |||||
AskId = Enums.NEAskId.success, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NEControlTest1_2() | |||||
{ | |||||
// "23 23 82 01 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 06 12 06 0C 0B 21 08 96" | |||||
byte[] packageBytes = "23 23 82 01 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 06 12 06 0C 0B 21 08 96".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
#region 设置应答 | |||||
[Fact] | |||||
public void NESettingsTest1_1() | |||||
{ | |||||
// "23 23 81 01 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 06 12 06 0C 0B 23 15 8A" | |||||
CommonUpStream nESettingsDownStream = new CommonUpStream(new NEEmptyProperty(), NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nESettingsDownStream, | |||||
MsgId = Enums.NEMsgId.settings, | |||||
AskId = Enums.NEAskId.success, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NESettingsTest1_2() | |||||
{ | |||||
byte[] packageBytes = "23 23 81 01 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 06 12 06 0C 0B 23 15 8A".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
#region 心跳 | |||||
[Fact] | |||||
public void NEHeartbeatTest1_1() | |||||
{ | |||||
// "23 23 81 01 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 06 12 06 0C 0B 23 15 8A" | |||||
CommonUpStream nESettingsDownStream = new CommonUpStream(new NEEmptyProperty(), NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nESettingsDownStream, | |||||
MsgId = Enums.NEMsgId.heartbeat, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NEHeartbeatTest1_2() | |||||
{ | |||||
// "23 23 81 01 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 06 12 06 0C 0B 23 15 8A" | |||||
CommonUpStream nESettingsDownStream = new CommonUpStream(new NEEmptyProperty(), NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nESettingsDownStream, | |||||
MsgId = Enums.NEMsgId.heartbeat, | |||||
AskId = Enums.NEAskId.success, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
#region 终端校时 | |||||
[Fact] | |||||
public void NECheckTimeTest1_1() | |||||
{ | |||||
// "23 23 81 01 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 06 12 06 0C 0B 23 15 8A" | |||||
CommonUpStream nESettingsDownStream = new CommonUpStream(new NEEmptyProperty(), NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nESettingsDownStream, | |||||
MsgId = Enums.NEMsgId.checktime, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NECheckTimeTest1_2() | |||||
{ | |||||
// "23 23 81 01 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 06 12 06 0C 0B 23 15 8A" | |||||
CommonUpStream nESettingsDownStream = new CommonUpStream(new NEEmptyProperty(), NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nESettingsDownStream, | |||||
MsgId = Enums.NEMsgId.checktime, | |||||
AskId = Enums.NEAskId.success, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,67 @@ | |||||
using GBNewEnergy.Protocol.NEProperties; | |||||
using GBNewEnergy.Protocol.UpStream; | |||||
using GBNewEnergy.Protocol.Extensions; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using Xunit; | |||||
namespace GBNewEnergy.Protocol.Test.UpStream | |||||
{ | |||||
public class NELoginUpStreamTest:NEPackageTest | |||||
{ | |||||
#region 车辆登入 | |||||
[Fact] | |||||
public void NELoginUpStreamConstructor4_1() | |||||
{ | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F" | |||||
// "12 06 08 11 09 14 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31" | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 08 11 09 14 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 DA" | |||||
INEProperties nELoginProperty = new NELoginProperty | |||||
{ | |||||
VIN = "LGHC4V1D3HE202652", | |||||
BatteryCount = 1, | |||||
BatteryLength = 1, | |||||
BatteryNos = new List<string>() { "1" }, | |||||
SIM = "64743066405" | |||||
}; | |||||
NELoginUpStream nELoginUpStream = new NELoginUpStream(nELoginProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nELoginUpStream, | |||||
MsgId = Enums.NEMsgId.login, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NELoginUpStreamConstructor4_2() | |||||
{ | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F" | |||||
// "12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31" | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7" | |||||
byte[] header = "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F".ToHexBytes(); | |||||
byte[] body = "12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(header, body, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NELoginUpStreamConstructor4_3() | |||||
{ | |||||
// "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7" | |||||
byte[] packageBytes = "23 23 01 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 1F 12 06 07 11 04 1B 00 01 36 34 37 34 33 30 36 36 34 30 35 00 00 00 00 00 00 00 00 00 01 01 31 D7".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,100 @@ | |||||
using GBNewEnergy.Protocol.NEProperties; | |||||
using GBNewEnergy.Protocol.UpStream; | |||||
using GBNewEnergy.Protocol.Extensions; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using Xunit; | |||||
using GBNewEnergy.Protocol.Exceptions; | |||||
using GBNewEnergy.Protocol.Enums; | |||||
namespace GBNewEnergy.Protocol.Test.UpStream | |||||
{ | |||||
public class NELogoutUpStreamTest:NEPackageBase | |||||
{ | |||||
#region 车辆登出(依赖车辆登入的流水号所有必须先进行登入产生流水号) | |||||
[Fact] | |||||
public void NELogoutUpStream1_1() | |||||
{ | |||||
try | |||||
{ | |||||
INEProperties nELogoutProperty = new NELogoutProperty() | |||||
{ | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NELogoutUpStream nELogoutUpStream1 = new NELogoutUpStream(nELogoutProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty1 = new NEPackageProperty | |||||
{ | |||||
Bodies = nELogoutUpStream1, | |||||
MsgId = Enums.NEMsgId.login, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty1, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
catch (NEException ex) | |||||
{ | |||||
Assert.Equal(NEErrorCode.LoginSerialNoError, ex.ErrorCode); | |||||
} | |||||
} | |||||
[Fact] | |||||
public void NELogoutUpStream2_1() | |||||
{ | |||||
INEProperties nELoginProperty = new NELoginProperty | |||||
{ | |||||
VIN = "LGHC4V1D3HE202652", | |||||
BatteryCount = 1, | |||||
BatteryLength = 1, | |||||
BatteryNos = new List<string>() { "1" }, | |||||
SIM = "64743066405" | |||||
}; | |||||
NELoginUpStream nELoginUpStream = new NELoginUpStream(nELoginProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nELoginUpStream, | |||||
MsgId = Enums.NEMsgId.login, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackageLogin = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
INEProperties nELogoutProperty = new NELogoutProperty() | |||||
{ | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NELogoutUpStream nELogoutUpStream1 = new NELogoutUpStream(nELogoutProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty1 = new NEPackageProperty | |||||
{ | |||||
Bodies = nELogoutUpStream1, | |||||
MsgId = Enums.NEMsgId.loginout, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty1, NEGlobalConfigs); | |||||
// "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08" | |||||
// "12 06 08 12 06 3A 00 01" | |||||
// "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08 12 06 08 12 06 3A 00 01 E9" | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NELogoutUpStream2_2() | |||||
{ | |||||
byte[] packageBytes = "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08 12 06 08 12 06 3A 00 01 E9".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
Assert.Equal("23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 08", headerHex); | |||||
Assert.Equal("12 06 08 12 06 3A 00 01 E9", bodiesHex); | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,52 @@ | |||||
using GBNewEnergy.Protocol.NEProperties; | |||||
using GBNewEnergy.Protocol.UpStream; | |||||
using GBNewEnergy.Protocol.Extensions; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using Xunit; | |||||
using GBNewEnergy.Protocol.Enums; | |||||
namespace GBNewEnergy.Protocol.Test.UpStream | |||||
{ | |||||
public class NEPlatformLoginUpStreamTest:NEPackageBase | |||||
{ | |||||
#region 平台登入 | |||||
[Fact] | |||||
public void NEPlatformLogin1_1() | |||||
{ | |||||
// "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 29 12 06 0C 09 2F 12 00 01 00 00 00 00 73 6D 61 6C 6C 63 68 69 31 32 33 34 35 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 CD" | |||||
NEPlatformLoginProperty nEPlatformLoginProperty = new NEPlatformLoginProperty | |||||
{ | |||||
EncryptMethod = NEEncryptMethod.None, | |||||
Password = "123456", | |||||
UserName = "smallchi", | |||||
}; | |||||
NEPlatformLoginUpStream nEPlatformLoginUpStream = new NEPlatformLoginUpStream(nEPlatformLoginProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nEPlatformLoginUpStream, | |||||
MsgId = Enums.NEMsgId.platformlogin, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NEPlatformLogin1_2() | |||||
{ | |||||
byte[] packageBytes = "23 23 05 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 29 12 06 0C 09 2F 12 00 01 00 00 00 00 73 6D 61 6C 6C 63 68 69 31 32 33 34 35 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 CD".ToHexBytes(); | |||||
NEPackage nEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = nEPackage.Header.ToHexString(); | |||||
string bodiesHex = nEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = nEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,67 @@ | |||||
using GBNewEnergy.Protocol.NEProperties; | |||||
using GBNewEnergy.Protocol.UpStream; | |||||
using GBNewEnergy.Protocol.Extensions; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using Xunit; | |||||
using GBNewEnergy.Protocol.Enums; | |||||
namespace GBNewEnergy.Protocol.Test.UpStream | |||||
{ | |||||
public class NEPlatformLogoutUpStreamTest : NEPackageBase | |||||
{ | |||||
#region 平台登出(依赖平台登出的流水号所有必须先进行登入产生流水号) | |||||
[Fact] | |||||
public void NEPlatformLogin2_1() | |||||
{ | |||||
//"23 23 06 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 29 12 06 0C 09 3A 17 00 01 00 00 00 00 73 6D 61 6C 6C 63 68 69 31 32 33 34 35 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 DE" | |||||
NEPlatformLoginProperty nEPlatformLoginProperty = new NEPlatformLoginProperty | |||||
{ | |||||
EncryptMethod = NEEncryptMethod.None, | |||||
Password = "123456", | |||||
UserName = "smallchi", | |||||
}; | |||||
NEPlatformLoginUpStream nEPlatformLoginUpStream = new NEPlatformLoginUpStream(nEPlatformLoginProperty, NEGlobalConfigs); | |||||
INEProperties nEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nEPlatformLoginUpStream, | |||||
MsgId = Enums.NEMsgId.platformlogin, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage nEPackage = new NEPackage(nEPackageProperty, NEGlobalConfigs); | |||||
NEPlatformLogoutProperty nEPlatformLogoutProperty = new NEPlatformLogoutProperty | |||||
{ | |||||
UserName = "smallchi", | |||||
}; | |||||
NEPlatformLoginUpStream nEPlatformLogoutUpStream = new NEPlatformLoginUpStream(nEPlatformLoginProperty, NEGlobalConfigs); | |||||
INEProperties logoutNEPackageProperty = new NEPackageProperty | |||||
{ | |||||
Bodies = nEPlatformLogoutUpStream, | |||||
MsgId = Enums.NEMsgId.platformlogout, | |||||
AskId = Enums.NEAskId.cmd, | |||||
VIN = "LGHC4V1D3HE202652" | |||||
}; | |||||
NEPackage loginNEPackage = new NEPackage(logoutNEPackageProperty, NEGlobalConfigs); | |||||
string headerHex = loginNEPackage.Header.ToHexString(); | |||||
string bodiesHex = loginNEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = loginNEPackage.Buffer.ToHexString(); | |||||
} | |||||
[Fact] | |||||
public void NEPlatformLogin2_2() | |||||
{ | |||||
byte[] packageBytes = "23 23 06 FE 4C 47 48 43 34 56 31 44 33 48 45 32 30 32 36 35 32 01 00 29 12 06 0C 09 3A 17 00 01 00 00 00 00 73 6D 61 6C 6C 63 68 69 31 32 33 34 35 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 DE".ToHexBytes(); | |||||
NEPackage loginNEPackage = new NEPackage(packageBytes, NEGlobalConfigs); | |||||
string headerHex = loginNEPackage.Header.ToHexString(); | |||||
string bodiesHex = loginNEPackage.Bodies.Buffer.ToHexString(); | |||||
string packageHex = loginNEPackage.Buffer.ToHexString(); | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,49 @@ | |||||
using GBNewEnergy.Protocol.Extensions; | |||||
using GBNewEnergy.Protocol.NEProperties; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
namespace GBNewEnergy.Protocol.DownStream | |||||
{ | |||||
/// <summary> | |||||
/// 车载终端控制命令 | |||||
/// </summary> | |||||
public class NEControlDownStream : NEBodies | |||||
{ | |||||
public NEControlDownStream(byte[] buffer, NEGlobalConfigs nEConfigs) : base(buffer, nEConfigs) | |||||
{ | |||||
} | |||||
public NEControlDownStream(INEProperties nEProperties, NEGlobalConfigs nEConfigs) : base(nEProperties, nEConfigs) | |||||
{ | |||||
} | |||||
/// <summary> | |||||
/// 命令ID 只能发送一个 | |||||
/// </summary> | |||||
public byte CmdId { get; set; } | |||||
/// <summary> | |||||
/// 命令参数 | |||||
/// [{id,value},{id,value}], 没有内容则内容为空 | |||||
/// </summary> | |||||
public List<KeyValuePair<byte, string>> Vauels { get; set; } | |||||
protected override void InitializeProperties(INEProperties nEProperties) | |||||
{ | |||||
} | |||||
protected override void InitializePropertiesFromBuffer() | |||||
{ | |||||
CurrentDateTime = Buffer.ReadDateTimeLittle(0, 6); | |||||
} | |||||
protected override void ToBuffer() | |||||
{ | |||||
Buffer = new byte[6]; | |||||
Buffer.WriteLittle(CurrentDateTime, 0, 6); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,38 @@ | |||||
using GBNewEnergy.Protocol.Extensions; | |||||
using GBNewEnergy.Protocol.NEProperties; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
namespace GBNewEnergy.Protocol.DownStream | |||||
{ | |||||
/// <summary> | |||||
/// 查询命令 | |||||
/// </summary> | |||||
public class NEQueryDownStream : NEBodies | |||||
{ | |||||
public NEQueryDownStream(byte[] buffer, NEGlobalConfigs nEConfigs) : base(buffer, nEConfigs) | |||||
{ | |||||
} | |||||
public NEQueryDownStream(INEProperties nEProperties, NEGlobalConfigs nEConfigs) : base(nEProperties, nEConfigs) | |||||
{ | |||||
} | |||||
protected override void InitializeProperties(INEProperties nEProperties) | |||||
{ | |||||
} | |||||
protected override void InitializePropertiesFromBuffer() | |||||
{ | |||||
CurrentDateTime = Buffer.ReadDateTimeLittle(0, 6); | |||||
} | |||||
protected override void ToBuffer() | |||||
{ | |||||
Buffer = new byte[6]; | |||||
Buffer.WriteLittle(CurrentDateTime, 0, 6); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,37 @@ | |||||
using GBNewEnergy.Protocol.Extensions; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
namespace GBNewEnergy.Protocol.DownStream | |||||
{ | |||||
/// <summary> | |||||
/// 设置命令 | |||||
/// </summary> | |||||
public class NESettingsDownStream : NEBodies | |||||
{ | |||||
public NESettingsDownStream(byte[] buffer, NEGlobalConfigs nEConfigs) : base(buffer, nEConfigs) | |||||
{ | |||||
} | |||||
public NESettingsDownStream(INEProperties nEProperties, NEGlobalConfigs nEConfigs) : base(nEProperties, nEConfigs) | |||||
{ | |||||
} | |||||
protected override void InitializeProperties(INEProperties nEProperties) | |||||
{ | |||||
} | |||||
protected override void InitializePropertiesFromBuffer() | |||||
{ | |||||
CurrentDateTime = Buffer.ReadDateTimeLittle(0, 6); | |||||
} | |||||
protected override void ToBuffer() | |||||
{ | |||||
Buffer = new byte[6]; | |||||
Buffer.WriteLittle(CurrentDateTime, 0, 6); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,55 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
namespace GBNewEnergy.Protocol.Enums | |||||
{ | |||||
/// <summary> | |||||
/// 车载终端控制命令枚举 | |||||
/// 0x80-0x7F 预留 | |||||
/// 0x80-0xFE 用户自定义 | |||||
/// </summary> | |||||
public enum NEControlCmd:byte | |||||
{ | |||||
/// <summary> | |||||
/// 未用 | |||||
/// </summary> | |||||
unused= 0x00, | |||||
/// <summary> | |||||
/// 远程升级 | |||||
/// </summary> | |||||
remoteupdate=0x01, | |||||
/// <summary> | |||||
/// 车载终端关机 | |||||
/// </summary> | |||||
shutdown = 0x02, | |||||
/// <summary> | |||||
/// 车载终端复位 | |||||
/// </summary> | |||||
reset = 0x03, | |||||
/// <summary> | |||||
/// 车载终端恢复出厂设置,其中包括本地存储时间周期、心跳发送时间周期、终端应答超时时间等等 | |||||
/// </summary> | |||||
restorefactorysettings = 0x04, | |||||
/// <summary> | |||||
/// 断开数据通信链路 | |||||
/// </summary> | |||||
interruptrequest = 0x05, | |||||
/// <summary> | |||||
/// 车载终端报警/预警,报警命令参数数据格式和定义见表B.17 | |||||
/// </summary> | |||||
warning = 0x06, | |||||
/// <summary> | |||||
/// 开启抽样检测链路 | |||||
/// </summary> | |||||
OpenMonitoring = 0x07, | |||||
} | |||||
} |
@@ -42,15 +42,15 @@ namespace GBNewEnergy.Protocol.Enums | |||||
/// </summary> | /// </summary> | ||||
checktime = 0x08, | checktime = 0x08, | ||||
/// <summary> | /// <summary> | ||||
/// 查询应答 | |||||
/// 查询命令 | |||||
/// </summary> | /// </summary> | ||||
query = 0x80, | query = 0x80, | ||||
/// <summary> | /// <summary> | ||||
/// 设置应答 | |||||
/// 设置命令 | |||||
/// </summary> | /// </summary> | ||||
settings = 0x81, | settings = 0x81, | ||||
/// <summary> | /// <summary> | ||||
/// 控制应答 | |||||
/// 控制命令 | |||||
/// </summary> | /// </summary> | ||||
control = 0x82 | control = 0x82 | ||||
} | } | ||||
@@ -24,7 +24,6 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<Folder Include="DownStream\" /> | |||||
<Folder Include="Properties\" /> | <Folder Include="Properties\" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,4 +1,5 @@ | |||||
using GBNewEnergy.Protocol.Enums; | |||||
using GBNewEnergy.Protocol.DownStream; | |||||
using GBNewEnergy.Protocol.Enums; | |||||
using GBNewEnergy.Protocol.UpStream; | using GBNewEnergy.Protocol.UpStream; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -26,6 +27,12 @@ namespace GBNewEnergy.Protocol | |||||
return new NEPlatformLoginUpStream(buf, nEConfigs); | return new NEPlatformLoginUpStream(buf, nEConfigs); | ||||
case NEMsgId.platformlogout: | case NEMsgId.platformlogout: | ||||
return new NEPlatformLogoutUpStream(buf, nEConfigs); | return new NEPlatformLogoutUpStream(buf, nEConfigs); | ||||
case NEMsgId.control: | |||||
case NEMsgId.settings: | |||||
case NEMsgId.heartbeat: | |||||
case NEMsgId.checktime: | |||||
return new CommonUpStream(buf, nEConfigs); | |||||
default: | default: | ||||
return null; | return null; | ||||
} | } | ||||
@@ -0,0 +1,14 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
namespace GBNewEnergy.Protocol.NEProperties | |||||
{ | |||||
/// <summary> | |||||
/// 空包属性 | |||||
/// </summary> | |||||
public class NEEmptyProperty : INEProperties | |||||
{ | |||||
public string VIN { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } | |||||
} | |||||
} |
@@ -0,0 +1,37 @@ | |||||
using GBNewEnergy.Protocol.Extensions; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
namespace GBNewEnergy.Protocol.UpStream | |||||
{ | |||||
/// <summary> | |||||
/// 通用应答 | |||||
/// </summary> | |||||
public class CommonUpStream : NEBodies | |||||
{ | |||||
public CommonUpStream(byte[] buffer, NEGlobalConfigs nEConfigs) : base(buffer, nEConfigs) | |||||
{ | |||||
} | |||||
public CommonUpStream(INEProperties nEProperties, NEGlobalConfigs nEConfigs) : base(nEProperties, nEConfigs) | |||||
{ | |||||
} | |||||
protected override void InitializeProperties(INEProperties nEProperties) | |||||
{ | |||||
} | |||||
protected override void InitializePropertiesFromBuffer() | |||||
{ | |||||
CurrentDateTime = Buffer.ReadDateTimeLittle(0, 6); | |||||
} | |||||
protected override void ToBuffer() | |||||
{ | |||||
Buffer = new byte[6]; | |||||
Buffer.WriteLittle(CurrentDateTime, 0, 6); | |||||
} | |||||
} | |||||
} |