aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/org/traccar/model/Position.java1
-rw-r--r--src/org/traccar/protocol/MeiligaoProtocolDecoder.java92
2 files changed, 45 insertions, 48 deletions
diff --git a/src/org/traccar/model/Position.java b/src/org/traccar/model/Position.java
index 3e8cb27bc..49a304df7 100644
--- a/src/org/traccar/model/Position.java
+++ b/src/org/traccar/model/Position.java
@@ -68,7 +68,6 @@ public class Position extends Message {
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_CURRENT_ERROR = "currentError";
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";
diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java
index ee41c26c3..3d57eecfd 100644
--- a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java
+++ b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java
@@ -39,31 +39,31 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder {
}
private static final Pattern PATTERN = new PatternBuilder()
- .number("(dd)(dd)(dd).?(d+)?,") // time
- .expression("([AV]),") // validity
- .number("(d+)(dd.d+),") // latitude
+ .number("(dd)(dd)(dd).?(d+)?,") // time
+ .expression("([AV]),") // validity
+ .number("(d+)(dd.d+),") // latitude
.expression("([NS]),")
- .number("(d+)(dd.d+),") // longitude
+ .number("(d+)(dd.d+),") // longitude
.expression("([EW]),")
- .number("(d+.?d*)?,") // speed
- .number("(d+.?d*)?,") // course
- .number("(dd)(dd)(dd)") // date (ddmmyy)
+ .number("(d+.?d*)?,") // speed
+ .number("(d+.?d*)?,") // course
+ .number("(dd)(dd)(dd)") // date (ddmmyy)
.expression("[^\\|]*")
.groupBegin()
- .number("|(d+.d+)?") // hdop
- .number("|(-?d+.?d*)?") // altitude
- .number("|(xxxx)?") // state
+ .number("|(d+.d+)?") // hdop
+ .number("|(-?d+.?d*)?") // altitude
+ .number("|(xxxx)?") // state
.groupBegin()
- .number("|(xxxx),(xxxx)") // adc
+ .number("|(xxxx),(xxxx)") // adc
.number("(?:,(xxxx),(xxxx),(xxxx),(xxxx),(xxxx),(xxxx))?")
.groupBegin()
- .number("|x{16}") // cell
- .number("|(xx)") // gsm
- .number("|(x{8})") // odometer
+ .number("|x{16}") // cell
+ .number("|(xx)") // gsm
+ .number("|(x{8})") // odometer
.or()
- .number("|(x{9})") // odometer
+ .number("|(x{9})") // odometer
.groupBegin()
- .number("|(x{5,})") // rfid
+ .number("|(x{5,})") // rfid
.groupEnd("?")
.groupEnd("?")
.groupEnd("?")
@@ -72,53 +72,51 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder {
.compile();
private static final Pattern PATTERN_RFID = new PatternBuilder()
- .number("|(dd)(dd)(dd),") // time
- .number("(dd)(dd)(dd),") // Date (ddmmyy)
- .number("(d+)(dd.d+),") // latitude
+ .number("|(dd)(dd)(dd),") // time
+ .number("(dd)(dd)(dd),") // Date (ddmmyy)
+ .number("(d+)(dd.d+),") // latitude
.expression("([NS]),")
- .number("(d+)(dd.d+),") // longitude
+ .number("(d+)(dd.d+),") // longitude
.expression("([EW])")
.compile();
private static final Pattern PATTERN_OBD = new PatternBuilder()
- .number("(d+.d+),") // battery
- .number("(d+),") // rpm
- .number("(d+),") // speed
- .number("(d+.d+),") // throttle
- .number("(d+.d+),") // engine load
- .number("(-?d+),") // coolant temp
- .number("(d+.d+),") // instantaneous fuel
- .number("(d+.d+),") // average fuel
- .number("(d+.d+),") // driving range
- .number("(d+.?d*),") // odometer
- .number("(d+.d+),") // Single Fuel Consumption
- .number("(d+.d+),") // Total Fuel Consumption
- .number("(d+),") // error code count
- .number("(d+),") // harsh acceleration count
- .number("(d+)") // harsh break count
+ .number("(d+.d+),") // battery
+ .number("(d+),") // rpm
+ .number("(d+),") // speed
+ .number("(d+.d+),") // throttle
+ .number("(d+.d+),") // engine load
+ .number("(-?d+),") // coolant temp
+ .number("(d+.d+),") // instantaneous fuel
+ .number("(d+.d+),") // average fuel
+ .number("(d+.d+),") // driving range
+ .number("(d+.?d*),") // odometer
+ .number("(d+.d+),") // Single Fuel Consumption
+ .number("(d+.d+),") // Total Fuel Consumption
+ .number("(d+),") // error code count
+ .number("(d+),") // harsh acceleration count
+ .number("(d+)") // harsh break count
.compile();
private static final Pattern PATTERN_OBDA = new PatternBuilder()
- .number("(d+),") // Total ignition
- .number("(d+.d+),") // Total driving time
- .number("(d+.d+),") // Total idling time
- .number("(d+),") // Average hot start time
- .number("(d+),") // Average speed
- .number("(d+),") // history hightest speed
- .number("(d+),") // history hightest rpm
- .number("(d+),") // total harsh acceleration
- .number("(d+)") // total harsh break n0
+ .number("(d+),") // Total ignition
+ .number("(d+.d+),") // Total driving time
+ .number("(d+.d+),") // Total idling time
+ .number("(d+),") // Average hot start time
+ .number("(d+),") // Average speed
+ .number("(d+),") // history hightest speed
+ .number("(d+),") // history hightest rpm
+ .number("(d+),") // total harsh acceleration
+ .number("(d+)") // total harsh break n0
.compile();
public static final int MSG_HEARTBEAT = 0x0001;
public static final int MSG_SERVER = 0x0002;
public static final int MSG_LOGIN = 0x5000;
public static final int MSG_LOGIN_RESPONSE = 0x4000;
-
public static final int MSG_POSITION = 0x9955;
public static final int MSG_POSITION_LOGGED = 0x9016;
public static final int MSG_ALARM = 0x9999;
-
public static final int MSG_RFID = 0x9966;
public static final int MSG_OBD_RT = 0x9901;
@@ -302,7 +300,7 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder {
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(Position.KEY_OBD_CURRENT_ERROR, parser.nextInt());
+ 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());
return position;