📄 event.java
字号:
p.writeULong(this.packet.getPacketType(), 1); byte errData[] = p.getBytes(); throw new PacketParseException(ServerErrors.NAK_FORMAT_DEFINITION_INVALID, this.packet, errData); // formatType, fieldIndex } /* parse file type */ long longVal = 0L; GeoPoint gp = null; switch (type) { case PayloadTemplate.FIELD_STATUS_CODE : // %2u this.setEventValue(DMTPGeoEvent.FLD_statusCode, payload.readULong(length, 0L)); hasStatusCode = true; break; case PayloadTemplate.FIELD_TIMESTAMP : // %4u this.setEventValue(DMTPGeoEvent.FLD_timestamp, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_INDEX : // %4u 0 to 4294967295 this.setEventValue(DMTPGeoEvent.FLD_index, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_GPS_POINT : // %6g %8g this.setEventValue(DMTPGeoEvent.FLD_geoPoint, payload.readGPS(length)); hasGeoPoint = true; break; case PayloadTemplate.FIELD_SPEED : // %1u 0 to 255 kph %2u 0.0 to 655.3 kph this.setEventValue(DMTPGeoEvent.FLD_speedKPH, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L))); break; case PayloadTemplate.FIELD_HEADING : // %1u 1.412 deg un. %2u 0.00 to 360.00 deg this.setEventValue(DMTPGeoEvent.FLD_heading, hiRes? ((double)payload.readULong(length, 0L) / 100.0) : ((double)payload.readULong(length, 0L) * 360.0/255.0)); break; case PayloadTemplate.FIELD_ALTITUDE : // %2i -32767 to +32767 m %3i -838860.7 to +838860.7 m this.setEventValue(DMTPGeoEvent.FLD_altitude, hiRes? ((double)payload.readLong(length, 0L) / 10.0) : ((double)payload.readLong(length, 0L))); break; case PayloadTemplate.FIELD_DISTANCE : // %3u 0 to 16777216 km %3u 0.0 to 1677721.6 km this.setEventValue(DMTPGeoEvent.FLD_distanceKM, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L))); break; case PayloadTemplate.FIELD_ODOMETER : // %3u 0 to 16777216 km %3u 0.0 to 1677721.6 km this.setEventValue(DMTPGeoEvent.FLD_odometerKM, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L))); break; case PayloadTemplate.FIELD_SEQUENCE : // %1u 0 to 255 this.setEventValue(DMTPGeoEvent.FLD_sequence, payload.readULong(length, -1L)); this.setEventValue(DMTPGeoEvent.FLD_sequenceLength, length); break; case PayloadTemplate.FIELD_INPUT_ID : // %4u 0x00000000 to 0xFFFFFFFF this.setEventValue(DMTPGeoEvent.FLD_inputID, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_INPUT_STATE : // %4u 0x00000000 to 0xFFFFFFFF this.setEventValue(DMTPGeoEvent.FLD_inputState, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_OUTPUT_ID : // %4u 0x00000000 to 0xFFFFFFFF this.setEventValue(DMTPGeoEvent.FLD_outputID, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_OUTPUT_STATE : // %4u 0x00000000 to 0xFFFFFFFF this.setEventValue(DMTPGeoEvent.FLD_outputState, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_ELAPSED_TIME : // %3u 0 to 16777216 sec %4u 0.000 to 4294967.295 sec this.setEventValue(DMTPGeoEvent.FLD_elapsedTime, hiRes? (payload.readULong(length, 0L)) : (payload.readULong(length, 0L) * 1000L), ndx); break; case PayloadTemplate.FIELD_COUNTER : // %4u 0 to 4294967295 this.setEventValue(DMTPGeoEvent.FLD_counter, payload.readULong(length, 0L), ndx); break; case PayloadTemplate.FIELD_SENSOR32_LOW : // %4u 0x00000000 to 0xFFFFFFFF this.setEventValue(DMTPGeoEvent.FLD_sensor32LO, payload.readULong(length, 0L), ndx); break; case PayloadTemplate.FIELD_SENSOR32_HIGH : // %4u 0x00000000 to 0xFFFFFFFF this.setEventValue(DMTPGeoEvent.FLD_sensor32HI, payload.readULong(length, 0L), ndx); break; case PayloadTemplate.FIELD_SENSOR32_AVER : // %4u 0x00000000 to 0xFFFFFFFF this.setEventValue(DMTPGeoEvent.FLD_sensor32AV, payload.readULong(length, 0L), ndx); break; case PayloadTemplate.FIELD_TEMP_LOW : // %1i -126 to +126 C %2i -3276.6 to +3276.6 C longVal = payload.readLong(length, INVALID_TEMPERATURE); if ((length == 1) && (Math.abs(longVal) > 126)) { longVal = INVALID_TEMPERATURE; } this.setEventValue(DMTPGeoEvent.FLD_tempLO, hiRes? ((double)longVal / 10.0) : ((double)longVal), ndx); break; case PayloadTemplate.FIELD_TEMP_HIGH : // %1i -126 to +126 C %2i -3276.6 to +3276.6 C longVal = payload.readLong(length, INVALID_TEMPERATURE); if ((length == 1) && (Math.abs(longVal) > 126)) { longVal = INVALID_TEMPERATURE; } this.setEventValue(DMTPGeoEvent.FLD_tempHI, hiRes? ((double)longVal / 10.0) : ((double)longVal), ndx); break; case PayloadTemplate.FIELD_TEMP_AVER : // %1i -126 to +126 C %2i -3276.6 to +3276.6 C longVal = payload.readLong(length, INVALID_TEMPERATURE); if ((length == 1) && (Math.abs(longVal) > 126)) { longVal = INVALID_TEMPERATURE; } this.setEventValue(DMTPGeoEvent.FLD_tempAV, hiRes? ((double)longVal / 10.0) : ((double)longVal), ndx); break; case PayloadTemplate.FIELD_GEOFENCE_ID : // %4u 0x00000000 to 0xFFFFFFFF this.setEventValue(DMTPGeoEvent.FLD_geofenceID, payload.readULong(length, 0L), ndx); break; case PayloadTemplate.FIELD_TOP_SPEED : // %1u 0 to 255 kph %2u 0.0 to 655.3 kph this.setEventValue(DMTPGeoEvent.FLD_topSpeedKPH, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L) ) , ndx); break; case PayloadTemplate.FIELD_BRAKE_G_FORCE : // %1u 0.0 to 25.5 %2u 0.0 to 655.3 this.setEventValue(DMTPGeoEvent.FLD_brakeGForce, ((double)payload.readLong(length, 0L) / 10.0)); break; case PayloadTemplate.FIELD_STRING : // %*s may contain only 'A'..'Z', 'a'..'z, '0'..'9', '-', '.' case PayloadTemplate.FIELD_STRING_PAD : // %*s may contain only 'A'..'Z', 'a'..'z, '0'..'9', '-', '.' this.setEventValue(DMTPGeoEvent.FLD_string, payload.readString(length), ndx); break; case PayloadTemplate.FIELD_ENTITY : // %*s may contain only 'A'..'Z', 'a'..'z, '0'..'9', '-', '.' case PayloadTemplate.FIELD_ENTITY_PAD : // %*s may contain only 'A'..'Z', 'a'..'z, '0'..'9', '-', '.' this.setEventValue(DMTPGeoEvent.FLD_entity, payload.readString(length), ndx); break; case PayloadTemplate.FIELD_BINARY : // %*b this.setEventValue(DMTPGeoEvent.FLD_binary, payload.readBytes(length), ndx); break; case PayloadTemplate.FIELD_GPS_AGE : // %2u 0 to 65535 sec this.setEventValue(DMTPGeoEvent.FLD_gpsAge, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_GPS_DGPS_UPDATE : // %2u 0 to 65535 sec this.setEventValue(DMTPGeoEvent.FLD_gpsDgpsUpdate, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_GPS_HORZ_ACCURACY: // %1u 0 to 255 m %2u 0.0 to 6553.5 m this.setEventValue(DMTPGeoEvent.FLD_gpsHorzAccuracy, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L))); break; case PayloadTemplate.FIELD_GPS_VERT_ACCURACY: // %1u 0 to 255 m %2u 0.0 to 6553.5 m this.setEventValue(DMTPGeoEvent.FLD_gpsVertAccuracy, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L))); break; case PayloadTemplate.FIELD_GPS_SATELLITES : // %1u 0 to 12 this.setEventValue(DMTPGeoEvent.FLD_gpsSatellites, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_GPS_MAG_VARIATION: // %2i -180.00 to 180.00 deg this.setEventValue(DMTPGeoEvent.FLD_gpsMagVariation, (double)payload.readLong(length, 0L) / 100.0); break; case PayloadTemplate.FIELD_GPS_QUALITY : // %1u (0=None, 1=GPS, 2=DGPS, ...) this.setEventValue(DMTPGeoEvent.FLD_gpsQuality, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_GPS_TYPE : // %1u (1=None, 2=2D, 3=3D, ...) this.setEventValue(DMTPGeoEvent.FLD_gps2D3D, payload.readULong(length, 0L)); break; case PayloadTemplate.FIELD_GPS_GEOID_HEIGHT : // %1i -128 to +127 m %2i -3276.7 to +3276.7 m this.setEventValue(DMTPGeoEvent.FLD_gpsGeoidHeight, hiRes? ((double)payload.readLong(length, 0L) / 10.0) : ((double)payload.readLong(length, 0L))); break; case PayloadTemplate.FIELD_GPS_PDOP : // %1u 0.0 to 25.5 %2u 0.0 to 99.9 this.setEventValue(DMTPGeoEvent.FLD_gpsPDOP, ((double)payload.readLong(length, 0L) / 10.0)); break; case PayloadTemplate.FIELD_GPS_HDOP : // %1u 0.0 to 25.5 %2u 0.0 to 99.9 this.setEventValue(DMTPGeoEvent.FLD_gpsHDOP, ((double)payload.readLong(length, 0L) / 10.0)); break; case PayloadTemplate.FIELD_GPS_VDOP : // %1u 0.0 to 25.5 %2u 0.0 to 99.9 this.setEventValue(DMTPGeoEvent.FLD_gpsVDOP, ((double)payload.readLong(length, 0L) / 10.0)); break; case PayloadTemplate.FIELD_OBC_VALUE : // %*b this.setEventValue(DMTPGeoEvent.FLD_obcValue, payload.readBytes(length), ndx); break; case PayloadTemplate.FIELD_OBC_GENERIC : // %4u this.setEventValue(DMTPGeoEvent.FLD_obcGeneric, payload.readULong(length, 0L), ndx); break; case PayloadTemplate.FIELD_OBC_J1708_FAULT : // %4u this.setEventValue(DMTPGeoEvent.FLD_obcJ1708Fault, payload.readULong(length, 0L), ndx); break; case PayloadTemplate.FIELD_OBC_DISTANCE : // %3u 0 to 16777216 km %3u 0.0 to 1677721.6 km this.setEventValue(DMTPGeoEvent.FLD_obcDistanceKM, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L))); break; case PayloadTemplate.FIELD_OBC_ENGINE_HOURS : // %3u 0 to 1677721.6 hours this.setEventValue(DMTPGeoEvent.FLD_obcEngineHours, (double)payload.readULong(length, 0L) / 10.0); break; case PayloadTemplate.FIELD_OBC_ENGINE_RPM : // %2u 0 to 65535 rpm this.setEventValue(DMTPGeoEvent.FLD_obcEngineRPM, payload.readULong(length, 0L) ); break; case PayloadTemplate.FIELD_OBC_COOLANT_TEMP : // %1i -126 to +126 C %2i -3276.6 to +3276.6 C longVal = payload.readLong(length, INVALID_TEMPERATURE); if ((length == 1) && (Math.abs(longVal) > 126)) { longVal = INVALID_TEMPERATURE; } this.setEventValue(DMTPGeoEvent.FLD_obcCoolantTemp, hiRes? ((double)longVal / 10.0) : ((double)longVal ) ); break; case PayloadTemplate.FIELD_OBC_COOLANT_LEVEL: // %1u 0% to 100% percent %2u 0.0% to 100.0% percent this.setEventValue(DMTPGeoEvent.FLD_obcCoolantLevel, hiRes? ((double)payload.readULong(length, 0L) / 1000.0) : ((double)payload.readULong(length, 0L) / 100.0) ); break; case PayloadTemplate.FIELD_OBC_OIL_LEVEL : // %1u 0% to 100% percent %2u 0.0% to 100.0% percent this.setEventValue(DMTPGeoEvent.FLD_obcOilLevel, hiRes? ((double)payload.readULong(length, 0L) / 1000.0) : ((double)payload.readULong(length, 0L) / 100.0) ); break; case PayloadTemplate.FIELD_OBC_OIL_PRESSURE : // %1u 0 to 255 kPa %2u 0.0 to 6553.5 kPa this.setEventValue(DMTPGeoEvent.FLD_obcOilPressure, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L) ) ); break; case PayloadTemplate.FIELD_OBC_FUEL_LEVEL : // %1u 0% to 100% percent %2u 0.0% to 100.0% percent this.setEventValue(DMTPGeoEvent.FLD_obcFuelLevel, hiRes? ((double)payload.readULong(length, 0L) / 1000.0) : ((double)payload.readULong(length, 0L) / 100.0) ); break; case PayloadTemplate.FIELD_OBC_FUEL_ECONOMY : // %2u 0.0 to 6553.5 kpg this.setEventValue(DMTPGeoEvent.FLD_obcFuelEconomy, ((double)payload.readULong(length, 0L) / 10.0) ); break; case PayloadTemplate.FIELD_OBC_FUEL_TOTAL : // %3u 0 to 16777216 liters %4u 0.0 to 429496729.5 liters this.setEventValue(DMTPGeoEvent.FLD_obcFuelTotal, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L) ) ); break; case PayloadTemplate.FIELD_OBC_FUEL_IDLE : // %3u 0 to 16777216 liters %4u 0.0 to 429496729.5 liters this.setEventValue(DMTPGeoEvent.FLD_obcFuelIdle, hiRes? ((double)payload.readULong(length, 0L) / 10.0) : ((double)payload.readULong(length, 0L) ) ); break; default: // internal error (this should not occur here - formats should be pre-validated) Print.logError("Field not defined: " + StringTools.toHexString(type,8)); Payload p = new Payload(); p.writeULong(this.packet.getPacketType(), 1); byte errData[] = p.getBytes(); throw new PacketParseException(ServerErrors.NAK_FORMAT_DEFINITION_INVALID, this.packet, errData); // formatType, fieldIndex } } /* set status code if not specified in packet */ if (!hasStatusCode) { this.setEventValue(DMTPGeoEvent.FLD_statusCode, hasGeoPoint? StatusCodes.STATUS_LOCATION : StatusCodes.STATUS_NONE); } } // ------------------------------------------------------------------------ /* Debug purposes: display contents of Event */ public String toString() { return this.getGeoEvent().toString(); } // ------------------------------------------------------------------------}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -