You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
302 lines
5.5 KiB
TypeScript
302 lines
5.5 KiB
TypeScript
import { ID } from "types/mongo_db/DefaultTypes.ts";
|
|
export interface IGpsElement {
|
|
gpsDate: Date;
|
|
lon: number;
|
|
lat: number;
|
|
speed: number;
|
|
totalKm: number;
|
|
angle: number;
|
|
gnssAccuracy: number;
|
|
satCount: number;
|
|
}
|
|
|
|
export enum ESleepModes {
|
|
Disable = 0,
|
|
GpsSleep = 1,
|
|
DeepSleep = 2,
|
|
OnlineDeepSleep = 3,
|
|
UltraSleep = 4,
|
|
}
|
|
|
|
export enum EDataModes {
|
|
HomeOnStop = 0,
|
|
HomeOnMoving = 1,
|
|
RoamingOnStop = 2,
|
|
RoamingOnMoving = 3,
|
|
UnknownOnStop = 4,
|
|
UnknownOnMoving = 5,
|
|
}
|
|
|
|
export enum EMovementStatus {
|
|
MovementOff = 0,
|
|
MovementOn = 1,
|
|
}
|
|
|
|
export interface ISleep {
|
|
mode: ESleepModes;
|
|
sleepDate: Date;
|
|
awakeDate: Date;
|
|
}
|
|
|
|
export interface IConnected {
|
|
state: boolean;
|
|
connectedDate: Date;
|
|
disconnectedDate: Date;
|
|
}
|
|
|
|
export interface IIgnition {
|
|
state: boolean;
|
|
onDate: Date;
|
|
offDate: Date;
|
|
}
|
|
|
|
export enum EGnssStatus {
|
|
GNSSOff = 0,
|
|
GNSSOnWithFix = 1,
|
|
GNSSOnWithoutFix = 2,
|
|
GNSSSleep = 3,
|
|
}
|
|
|
|
export interface IGnss {
|
|
status: EGnssStatus;
|
|
gnssPdop: number;
|
|
gnssHdop: number;
|
|
}
|
|
|
|
export enum EBatteryState {
|
|
Present = 0,
|
|
Unplugged = 1,
|
|
}
|
|
|
|
export interface IVoltage {
|
|
externalVolt: number;
|
|
batteryVolt: number;
|
|
}
|
|
|
|
export interface IBattery {
|
|
state: EBatteryState;
|
|
batteryAmper: number;
|
|
batteryPercentage: number;
|
|
batteryTemp: number;
|
|
}
|
|
|
|
export interface IInputs {
|
|
digital1: number;
|
|
digital2: number;
|
|
digital3: number;
|
|
analog1: number;
|
|
analog2: number;
|
|
analog3: number;
|
|
}
|
|
|
|
export interface IOutputs {
|
|
digital1: number;
|
|
digital2: number;
|
|
digital3: number;
|
|
analog1: number;
|
|
analog2: number;
|
|
analog3: number;
|
|
}
|
|
|
|
export interface IAxis {
|
|
x: number;
|
|
y: number;
|
|
z: number;
|
|
}
|
|
|
|
export enum EBluetoothStatus {
|
|
Disabled = 0,
|
|
EnabledNoDevice = 1,
|
|
DeviceConnectedBTv3 = 2,
|
|
DeviceConnectedBLEOnly = 3,
|
|
DeviceConnectedBLEAndBT = 4,
|
|
}
|
|
|
|
export enum ESdStatus {
|
|
NotPresent = 0,
|
|
Present = 1,
|
|
}
|
|
|
|
export enum EVehicleState {
|
|
Moving = 0,
|
|
Idling = 1,
|
|
}
|
|
|
|
export enum ETowingState {
|
|
Steady = 0,
|
|
Towing = 1,
|
|
}
|
|
export enum ECrashDetection {
|
|
RealCrashCalibrated = 1,
|
|
LimitedCrashTraceNotCalibrated = 2,
|
|
LimitedCrashTraceCalibrated = 3,
|
|
FullCrashTraceNotCalibrated = 4,
|
|
FullCrashTraceCalibrated = 5,
|
|
RealCrashNotCalibrated = 6,
|
|
FakeCrashPothole = 7,
|
|
FakeCrashSpeedCheck = 8,
|
|
}
|
|
|
|
export enum EiButtonConnection {
|
|
NotConnected = 0,
|
|
ConnectedImmobilizer = 1,
|
|
ConnectedAuthorizedDriving = 2,
|
|
}
|
|
|
|
export enum EJammingStatus {
|
|
JammingStop = 0,
|
|
JammingStart = 1,
|
|
}
|
|
|
|
export enum EAlarmStatus {
|
|
Reserved = 0,
|
|
AlarmOccurred = 1,
|
|
}
|
|
|
|
export enum EAutoGeofence {
|
|
LeftTargetZone = 0,
|
|
EnterTargetZone = 1,
|
|
}
|
|
|
|
export enum ETripStatus {
|
|
TripStop = 0,
|
|
TripStart = 1,
|
|
BusinessStatus = 2,
|
|
PrivateStatus = 3,
|
|
CustomStatus1 = 4,
|
|
CustomStatus2 = 5,
|
|
CustomStatus3 = 6,
|
|
CustomStatus4 = 7,
|
|
CustomStatus5 = 8,
|
|
CustomStatus6 = 9,
|
|
}
|
|
|
|
export interface IDeviceStateElement {
|
|
connected: IConnected;
|
|
sleep: ISleep;
|
|
dataMode: EDataModes;
|
|
movement: EMovementStatus;
|
|
gnss: IGnss;
|
|
voltage: IVoltage;
|
|
input?: IInputs;
|
|
output?: IOutputs;
|
|
axis?: IAxis;
|
|
btStatus: EBluetoothStatus;
|
|
sdStatus: ESdStatus;
|
|
idling: EVehicleState;
|
|
towing: ETowingState;
|
|
battery: IBattery;
|
|
crashDetection: ECrashDetection;
|
|
immo: EiButtonConnection;
|
|
jamming: EJammingStatus;
|
|
alarm: EAlarmStatus;
|
|
trip: ETripStatus;
|
|
autoGeofence: EAutoGeofence;
|
|
}
|
|
|
|
export enum ENetworkTypes {
|
|
ThreeG = 0,
|
|
Gsm = 1,
|
|
FourG = 2,
|
|
LteCatM1 = 3,
|
|
LteCatNb1 = 4,
|
|
Unknown = 99,
|
|
}
|
|
|
|
export interface IGsm {
|
|
_id: ID;
|
|
gsmNo: string;
|
|
gsmCellId: string;
|
|
gsmAreaCode: string;
|
|
gsmSignal: number;
|
|
gsmOp: string;
|
|
iccid1: string;
|
|
iccid2: string;
|
|
networkType: ENetworkTypes;
|
|
}
|
|
|
|
export interface IDeviceElement {
|
|
_id: ID;
|
|
imei: string;
|
|
gsmElement: IGsm;
|
|
gpsElement: IGpsElement;
|
|
stateElement: IDeviceStateElement;
|
|
}
|
|
|
|
export interface ITracking {
|
|
_id: ID;
|
|
assetId: ID;
|
|
deviceId: ID;
|
|
imei: string;
|
|
port: string;
|
|
gpsElement: IGpsElement;
|
|
pingDate: Date;
|
|
}
|
|
|
|
export enum ELocationStatus {
|
|
HomeOnStop = 0,
|
|
HomeOnMoving = 1,
|
|
RoamingOnStop = 2,
|
|
RoamingOnMoving = 3,
|
|
UnknownOnStop = 4,
|
|
UnknownOnMoving = 5,
|
|
}
|
|
|
|
export enum EVehicleStatus {
|
|
GpsIsIncorrect = "_device_gps_is_incorrect",
|
|
Idling = "_device_is_idling",
|
|
Moving = "_device_is_moving",
|
|
Out = "_device_is_out",
|
|
Stoping = "_device_is_stoping",
|
|
}
|
|
|
|
export interface IVehicleStateElement {
|
|
ignition: IIgnition;
|
|
state: EVehicleStatus;
|
|
locationState: ELocationStatus;
|
|
}
|
|
|
|
export enum EAssetTypes {
|
|
Baby = "_baby",
|
|
Bicycle = "_bicycle",
|
|
Bus = "_bus",
|
|
Car = "_car",
|
|
Child = "_child",
|
|
Dog = "_dog",
|
|
Forklift = "_forklift",
|
|
Human = "_human",
|
|
Motorbike = "_motorbike",
|
|
Stuff = "_stuff",
|
|
Tractor = "_tractor",
|
|
Truck = "_truck",
|
|
}
|
|
|
|
export enum EAssetValidTypes {
|
|
Passive = 0,
|
|
Active = 1,
|
|
Debt = 2,
|
|
Suspend = 3,
|
|
}
|
|
|
|
export interface IVehicleElement {
|
|
assetId: ID;
|
|
driverId: ID;
|
|
owner: ID;
|
|
followers: ID[];
|
|
assetType: EAssetTypes;
|
|
name1: string;
|
|
name2: string;
|
|
name3: string;
|
|
description1: string;
|
|
description2: string;
|
|
registeredDate: Date;
|
|
updatedDate: Date;
|
|
modelYear: number;
|
|
currentKm: number;
|
|
valid: EAssetValidTypes;
|
|
showOnMap: boolean;
|
|
chassis_num: string;
|
|
brand: string;
|
|
color: string;
|
|
}
|