Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 21 additions & 4 deletions app/src/main/java/com/cooper/wheellog/utils/GotwayAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ public class GotwayAdapter extends BaseAdapter {
private String model = "";
private String imu = "";
private String fw = "";
private String fwprot = "";
private int smartBmsCells = 0;
private boolean trueVoltage = false;
private boolean trueCurrent = false;
Expand Down Expand Up @@ -52,28 +53,43 @@ public boolean decode(byte[] data) {
if ((model.length() == 0) || (fw.length() == 0)) { // IMU sent at the begining, so there is no sense to check it, we can't request it
String dataS = new String(data, 0, data.length).trim();
if (dataS.startsWith("NAME")) {
attempt = 1000; //stop it
model = dataS.substring(5).trim();
wd.setModel(model);
} else if (dataS.startsWith("GW")) {
fw = dataS.substring(2).trim();
wd.setVersion(fw);
fwprot = "Begode";
appConfig.setHwPwm(false);
appConfig.setIsAlexovikFW(false);
bIsReady = true;
attempt = 0;
} else if (dataS.startsWith("JN")) {
fw = dataS.substring(2).trim();
wd.setVersion(fw);
fwprot = "ExtremeBull";
appConfig.setHwPwm(false);
appConfig.setIsAlexovikFW(false);
bIsReady = true;
attempt = 0;
} else if (dataS.startsWith("CF")) {
fw = dataS.substring(2).trim();
wd.setVersion(fw);
fwprot = "Freestyl3r";
appConfig.setHwPwm(true);
appConfig.setIsAlexovikFW(false);
bIsReady = true;
attempt = 0;
} else if (dataS.startsWith("BF")) {
fw = dataS.substring(2).trim();
wd.setVersion(fw);
fwprot = "SV";
//model = "SmirnoV";
//wd.setModel(model);
appConfig.setHwPwm(true);
appConfig.setIsAlexovikFW(true);
bIsReady = true;
attempt = 0;
} else if (dataS.startsWith("MPU")) {
imu = dataS.substring(1, 7).trim();
}
Expand Down Expand Up @@ -372,10 +388,10 @@ public boolean decode(byte[] data) {
}
}

if (attempt < 20)
if (attempt < 50)
{
long nowTime = SystemClock.elapsedRealtime();
if (nowTime - lastTryTime > 190)
if (nowTime - lastTryTime > 40)
{
if (fw.equals(""))
sendCommand("V", "", 0);
Expand All @@ -389,13 +405,14 @@ else if (model.equals(""))
else
{
if (model.equals("")) {
model = "Begode";
if (fwprot.equals("")) {
model = "Begode";
} else model = fwprot;
wd.setVersion(model);
} else if (fw.equals("")) {
fw = "-";
wd.setVersion(fw);
appConfig.setHwPwm(false);
appConfig.setIsAlexovikFW(false);
bIsReady = true;
}
}
Expand Down
Loading