UpgradeBaseCmd.java
2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.sunvote.cmd.upgrade;
import com.sunvote.cmd.BaseCmd;
import com.sunvote.cmd.push.PushBaseCmd;
/**
* Created by Elvis on 2017/8/14.
* Email:Eluis@psunsky.com
* Description:
*/
public abstract class UpgradeBaseCmd extends BaseCmd {
public static final byte REQUEST_CMD = 0x78;
public static final byte RESPONSE_CMD = (byte) 0xF8;
public static UpgradeBaseCmd parseRequest(byte[] bytes, int length){
switch (bytes[1]){
case 0x01:
case 0x02:
UpgradEntryStateRequest upgradEntryStateRequest = new UpgradEntryStateRequest();
upgradEntryStateRequest.parseCmd(bytes);
return upgradEntryStateRequest;
case 0x03:
CleanFlashStateRequest cleanFlashStateRequest = new CleanFlashStateRequest();
cleanFlashStateRequest.parseCmd(bytes);
return cleanFlashStateRequest;
case 0x04:
WriteFlashStateRequest writeFlashStateRequest = new WriteFlashStateRequest();
writeFlashStateRequest.parseCmd(bytes);
return writeFlashStateRequest;
case 0x05:
UpgradeExitStateRequest upgradeExitStateRequest = new UpgradeExitStateRequest();
upgradeExitStateRequest.parseCmd(bytes);
return upgradeExitStateRequest;
}
return null;
}
public static UpgradeBaseCmd parseResponse(byte[] bytes, int length){
switch (bytes[1]){
case 0x01:
case 0x02:
UpgradEntryStateResponse upgradEntryStateResponse = new UpgradEntryStateResponse();
upgradEntryStateResponse.parseCmd(bytes);
return upgradEntryStateResponse;
case 0x03:
CleanFlashStateResponse cleanFlashStateResponse = new CleanFlashStateResponse();
cleanFlashStateResponse.parseCmd(bytes);
return cleanFlashStateResponse;
case 0x04:
WriteFlashStateResponse writeFlashStateResponse = new WriteFlashStateResponse();
writeFlashStateResponse.parseCmd(bytes);
return writeFlashStateResponse;
case 0x05:
UpgradeExitStateResponse upgradeExitStateResponse = new UpgradeExitStateResponse();
upgradeExitStateResponse.parseCmd(bytes);
return upgradeExitStateResponse;
}
return null;
}
}