⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 event.java

📁 Open DMT GPS server source code
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                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 + -