aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjose <joseantonio@grdar.es>2016-12-16 17:41:39 +0100
committerjose <joseantonio@grdar.es>2016-12-17 09:45:10 +0100
commitd9e0b44ed13f9dd1aac96551555191283e45e020 (patch)
tree6a24a6bd54548c05d345101335ce759a489ff40b
parentcd81e411f7d122628b255bfc2c1df3a7c9782066 (diff)
downloadtraccar-server-d9e0b44ed13f9dd1aac96551555191283e45e020.tar.gz
traccar-server-d9e0b44ed13f9dd1aac96551555191283e45e020.tar.bz2
traccar-server-d9e0b44ed13f9dd1aac96551555191283e45e020.zip
Fix Meiligao Protocol to work with tk228
-rw-r--r--src/org/traccar/model/Position.java18
-rw-r--r--src/org/traccar/protocol/MeiligaoProtocolDecoder.java32
-rw-r--r--test/org/traccar/protocol/MeiligaoProtocolDecoderTest.java5
3 files changed, 22 insertions, 33 deletions
diff --git a/src/org/traccar/model/Position.java b/src/org/traccar/model/Position.java
index 49a304df7..8ca2588e2 100644
--- a/src/org/traccar/model/Position.java
+++ b/src/org/traccar/model/Position.java
@@ -60,25 +60,11 @@ public class Position extends Message {
public static final String KEY_ARMED = "armed";
public static final String KEY_ACCURACY = "accuracy";
public static final String KEY_GEOFENCE = "geofence";
+
public static final String KEY_DTCS = "dtcs";
public static final String KEY_OBD_SPEED = "obdSpeed";
public static final String KEY_OBD_ODOMETER = "obdOdometer";
- public static final String KEY_OBD_ENGINE_LOAD = "engineLoad";
- public static final String KEY_OBD_AVERAGE_FUEL = "averageFuelConsumition";
- public static final String KEY_OBD_DRIVING_RANGE = "drivingRange";
- public static final String KEY_OBD_SINGLE_FUEL_CONSUMPTION = "singleFuelConsumption";
- public static final String KEY_OBD_TOTAL_FUEL_CONSUMPTION = "totalFuelConsumption";
- public static final String KEY_OBD_HARSH_ACCELERATION = "harshAcelerationNo";
- public static final String KEY_OBD_HARSH_BREAK = "harshBreakerNo";
- public static final String KEY_OBD_TOTAL_IGNITION = "totalIgnitionNo";
- public static final String KEY_OBD_TOTAL_DRIVING_TIME = "totalDrivingTime";
- public static final String KEY_OBD_TOTAL_IDLING_TIME = "totalIdlingTime";
- public static final String KEY_OBD_AVERAGE_HOT_START = "averageHotStartTime";
- public static final String KEY_OBD_AVERAGE_SPEED = "averageSpeed";
- public static final String KEY_OBD_HISTORY_HIGHT_SPEED = "historyHightestSpeed";
- public static final String KEY_OBD_HISTORY_HIGHT_RPM = "historyHightestRPM";
- public static final String KEY_OBD_TOTAL_HARSH_ACCELERATION = "totalHarshAccerleration";
- public static final String KEY_OBD_TOTAL_HARSH_BRAKE = "totalHarshBrake";
+
public static final String KEY_RESULT = "result";
// Starts with 1 not 0
diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java
index 3d57eecfd..706655b83 100644
--- a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java
+++ b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java
@@ -292,17 +292,17 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder {
position.set(Position.KEY_RPM, parser.nextInt());
position.set(Position.KEY_OBD_SPEED, parser.nextInt());
position.set(Position.KEY_THROTTLE, parser.nextDouble());
- position.set(Position.KEY_OBD_ENGINE_LOAD, parser.nextDouble());
+ position.set("engineLoad", parser.nextDouble());
position.set(Position.PREFIX_TEMP + 1, parser.nextInt());
position.set(Position.KEY_FUEL_CONSUMPTION, parser.nextDouble());
- position.set(Position.KEY_OBD_AVERAGE_FUEL, parser.nextDouble());
- position.set(Position.KEY_OBD_DRIVING_RANGE, parser.nextDouble());
+ position.set("averageFuelConsumition", parser.nextDouble());
+ position.set("drivingRange", parser.nextDouble());
position.set(Position.KEY_ODOMETER, parser.nextDouble());
- position.set(Position.KEY_OBD_SINGLE_FUEL_CONSUMPTION, parser.nextDouble());
- position.set(Position.KEY_OBD_TOTAL_FUEL_CONSUMPTION, parser.nextDouble());
+ position.set("singleFuelConsumption", parser.nextDouble());
+ position.set("totalFuelConsumption", parser.nextDouble());
position.set(Position.KEY_DTCS, parser.nextInt());
- position.set(Position.KEY_OBD_HARSH_ACCELERATION, parser.nextInt());
- position.set(Position.KEY_OBD_HARSH_BREAK, parser.nextInt());
+ position.set("harshAcelerationNo", parser.nextInt());
+ position.set("harshBreakerNo", parser.nextInt());
return position;
}
@@ -314,15 +314,15 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder {
getLastLocation(position, null);
- position.set(Position.KEY_OBD_TOTAL_IGNITION, parser.nextInt());
- position.set(Position.KEY_OBD_TOTAL_DRIVING_TIME, parser.nextDouble());
- position.set(Position.KEY_OBD_TOTAL_IDLING_TIME, parser.nextDouble());
- position.set(Position.KEY_OBD_AVERAGE_HOT_START, parser.nextInt());
- position.set(Position.KEY_OBD_AVERAGE_SPEED, parser.nextInt());
- position.set(Position.KEY_OBD_HISTORY_HIGHT_SPEED, parser.nextInt());
- position.set(Position.KEY_OBD_HISTORY_HIGHT_RPM, parser.nextInt());
- position.set(Position.KEY_OBD_TOTAL_HARSH_ACCELERATION, parser.nextInt());
- position.set(Position.KEY_OBD_TOTAL_HARSH_BRAKE, parser.nextInt());
+ position.set("totalIgnitionNo", parser.nextInt());
+ position.set("totalDrivingTime", parser.nextDouble());
+ position.set("totalIdlingTime", parser.nextDouble());
+ position.set("averageHotStartTime", parser.nextInt());
+ position.set("averageSpeed", parser.nextInt());
+ position.set("historyHightestSpeed", parser.nextInt());
+ position.set("historyHightestRPM", parser.nextInt());
+ position.set("totalHarshAccerleration", parser.nextInt());
+ position.set("totalHarshBrake", parser.nextInt());
return position;
}
diff --git a/test/org/traccar/protocol/MeiligaoProtocolDecoderTest.java b/test/org/traccar/protocol/MeiligaoProtocolDecoderTest.java
index 81910d42c..0633a6291 100644
--- a/test/org/traccar/protocol/MeiligaoProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/MeiligaoProtocolDecoderTest.java
@@ -17,7 +17,10 @@ public class MeiligaoProtocolDecoderTest extends ProtocolTest {
"2424007d0000000000000099553231303333302e3030302c562c343533342e333832342c532c30373230332e303630302c572c302e30302c302c3231313031362c2c2a31327c302e307c3332397c323030307c303030452c303030437c303244413030303145413634393541417c31307c30303030303030306e540d0a"));
verifyAttributes(decoder, binary(
- "242400736610402421174399553132343334342e3937382c412c333933342e313838302c4e2c30303234302e363231302c452c303030302c3030302c3038313231362c2c2a31437c31312e357c3139347c313030317c303344462c303030307c30303131323030307c30303030303068320d0a2424004c66104024211743990131342e302c3934352c302c31332e33332c322e37352c36392c312e32302c382e31302c302e36382c3131322c302e30382c392e39312c302c312c3040f70d0a2424003266104024211743990232362c322e35342c302e38302c32322c34342c3131392c333735362c37382c31366fc20d0a"));
+ "4040005066104020094432990131302E312C302C3135362C302E30302C31392E36312C2D33342C33342E32362C32312E38332C372E39312C313033332C322E36392C362E35352C302C302C309DBF0D0A"));
+
+ verifyAttributes(decoder, binary(
+ "242400736610402421174399553130353033342e3937382c412c333933352e333638392c4e2c30303233382e313638342c452c303034382c3034322c3038313231362c2c2a31437c31312e357c3139347c313030317c303341362c303030307c30303130343030307c3030303030303cd00d0a2424004e66104024211743990131342e312c323638372c39302c32312e35372c342e37312c38352c372e31302c382e31362c342e32372c3130342c302e33342c392e33342c302c312c30b7160d0a2424003266104024211743990232352c322e34302c302e37392c32322c34332c3131392c333735362c37352c3132e4c90d0a"));
verifyPosition(decoder, binary(
"242400746251103044ffff99553033353033392e3939392c412c323832332e373632312c4e2c31303635322e303730342c572c3030302e302c3030302e302c3136303631362c2c2c412a37357c302e397c323038332e327c303030307c303030302c303030307c31303034333736333265780d0a"));