All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.geotab.model.entity.device.GoAnywhere Maven / Gradle / Ivy

package com.geotab.model.entity.device;

import static java.lang.Boolean.FALSE;
import static java.lang.Boolean.TRUE;

import java.util.List;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;

/**
 * The GO Anywhere device. Additional properties can be seen in {@link XDevice}.
 */
@Getter @Setter
@NoArgsConstructor
@SuperBuilder(builderMethodName = "goAnywhereBuilder")
public class GoAnywhere extends XDevice {
  /**
   * Gets or sets value of the Go Anywhere device type.
   *
   * @deprecated AssetMovementType is obsolete and will be removed. Do not use.
   */
  @Deprecated
  public EosAssetMovementType assetMovementType;

  /**
   * Value for the Built In Self Test startup delay in seconds. Default [60].
   */
  public Integer bistStartupDelay;

  /**
   * Value for the Shipping minimum battery voltage in milli-volts. Default [4000].
   */
  public Integer minBatteryVoltage;

  /**
   * Value for the Shipping maximum temperature in degree Celsius. Default [80].
   */
  public Integer maxTemperature;

  /**
   * Value for the Shipping network registration timeout value in seconds. Default [120].
   */
  public Integer shippingNetworkTimeout;

  /**
   * Value for the Shipping gateway connection timeout in seconds. Default [60].
   */
  public Integer shippingGwTimeout;

  /**
   * Value for the Shipping Health check interval in seconds (-1 is never). Default [-1].
   */
  public Integer shippingHealthCheckInterval;

  /**
   * Value for the Shipping Communication interval in seconds (-1 is never). Default [-1].
   */
  public Integer shippingCommunicationInterval;

  /**
   * Value for the Sleep communication interval in seconds. Default [259200].
   */
  public Integer sleepCommunicationInterval;

  /**
   * Value for the Sleep health check interval in seconds. Default [259200].
   */
  public Integer sleepHealthCheckInterval;

  /**
   * Value for the Sleep health check interval in seconds if alarm is active. Default [86400].
   */
  public Integer sleepHealthCheckIntervalReduced;

  /**
   * Value for the Sleep Network registration timeout value in seconds. Default [120].
   */
  public Integer sleepNetworkTimeout;

  /**
   * Value for the Sleep gateway connection timeout in seconds. Default [60].
   */
  public Integer sleepGwTimeout;

  /**
   * Value for the Go Anywhere device communication rate in minutes. Default [1440].
   */
  public Integer communicationFrequency;

  /**
   * Value for indicating if the Go Anywhere device asset recovery mode is enabled. Default [false].
   */
  public Boolean assetRecoveryModeEnabled;

  /**
   * Value for the Movement health check interval in seconds. Default [86400].
   */
  public Integer movementHealthCheckInterval;

  /**
   * Value for indicating if the Go Anywhere device movement alert or trip start alert is enabled. Default [false].
   */
  public Boolean checkInOnTripEnabled;

  /**
   * Value for indicating if the Go Anywhere device trip end alert is enabled. Default [false].
   */
  public Boolean checkInOnTripEndEnabled;

  /**
   * Value for indicating if the Go Anywhere device scheduled sync is enabled. Default [false].
   */
  public Boolean scheduledSyncEnabled;

  /**
   * Value for the Go Anywhere device scheduled sync time, it's the number of seconds since midnight 00:00 UTC. Default [0].
   */
  public Integer scheduledSyncTime;

  /**
   * Value for indicating if the Go Anywhere device timed check-in is enabled. Default [false].
   */
  public Boolean timedCheckInEnabled;

  /**
   * Value for the number of the Go Anywhere device timed check-ins. Default [0].
   */
  public Integer timedCheckInEntries;

  /**
   * Value for the array of the Go Anywhere device check-in times in seconds.
   */
  public List timedCheckInSeconds;

  /**
   * Value for the Movement GNSS fix interval in seconds. Default [900].
   */
  public Integer gnssFixInterval;

  /**
   * Value for the Number of GNSS fixes to confirm movement. Default [2].
   */
  public Integer gnssFixCount;

  /**
   * Value for the Minimum distance traveled to confirm movement, in meters. Default [200].
   */
  public Integer gnssMinDistance;

  /**
   * GNSS reported speed in m/s used to confirm movement, start of trip. Default [4].
   */
  public Integer speedThreshold;

  /**
   * Value for the Number of speed samples to determine speed average, in seconds. Default [5].
   */
  public Integer speedDuration;

  /**
   * Value for the Accelerometer threshold, in mg. Default [2000].
   */
  public Integer accelerationThreshold;

  /**
   * Accelerometer sustained speed minimum for impact detection, in m/s. Default [0].
   */
  public Integer speedDetectionMin;

  /********************** Other *****************************/

  /**
   * Maximum number of communication retries. Default [5].
   */
  public Integer communicationRetryMax;

  /**
   * Maximum modem connection time in seconds. Default [300].
   */
  public Integer modemMaxConnectionTime;

  /**
   * Modem GSM Received Signal Strength Indicator (127 = disabled). Default [-90].
   */
  public Integer gsmRssiMin;

  /**
   * Modem GSM Signal to Interference & Noise Ratio (127 = disabled). Default [127].
   */
  public Integer gsmSinrMin;

  /**
   * Modem LTE Received Signal Strength Indicator (127 = disabled). Default [-95].
   */
  public Integer lteRssiMin;

  /**
   * Modem LTE Signal to Interference & Noise Ratio (127 = disabled). Default [127].
   */
  public Integer lteSinrMin;

  /**
   * Minimum battery voltage required to allow modem communication, in milli-volts. Default [4000].
   */
  public Integer modemMinVoltage;

  /**
   * Movement detection distance, in cm. Default [70].
   */
  public Integer movementDetectionDistanceThreshold;

  /*********************** Master Switches ******************************/

  /**
   * Value for Disable accelerometer. Default [false].
   */
  public Boolean accelerometerDisabled;

  /**
   * Value for Disable battery voltage logging. Default [false].
   */
  public Boolean voltageLoggingDisabled;

  /**
   * Value for Disable GNSS logging. Default [false].
   */
  public Boolean gnssLoggingDisabled;

  /**
   * Value for Disable GNSS aiding data. Default [false].
   */
  public Boolean gnssAidingDataDisabled;

  /**
   * Value for Disable FOTA updates. Default [false].
   */
  public Boolean deviceFotaDisabled;

  /**
   * Value for Enable modem FOTA updates. Default [true].
   */
  public Boolean enableModemFota;

  {
    setDeviceType(DeviceType.GoAnywhere);
  }

  @Override
  public void populateDefaults() {
    super.populateDefaults();
    this.productId = GO_ANYWHERE_PRODUCT_ID;
    this.bistStartupDelay = 60;
    this.minBatteryVoltage = 4000;
    this.maxTemperature = 80;
    this.shippingNetworkTimeout = 120;
    this.shippingGwTimeout = 60;
    this.shippingHealthCheckInterval = -1;
    this.shippingCommunicationInterval = -1;
    this.sleepCommunicationInterval = 259200;
    this.sleepHealthCheckInterval = 259200;
    this.sleepHealthCheckIntervalReduced = 86400;
    this.sleepNetworkTimeout = 120;
    this.sleepGwTimeout = 60;
    this.communicationFrequency = 1440;
    this.assetRecoveryModeEnabled = FALSE;
    this.movementHealthCheckInterval = 86400;
    this.checkInOnTripEnabled = FALSE;
    this.checkInOnTripEndEnabled = FALSE;
    this.scheduledSyncEnabled = FALSE;
    this.scheduledSyncTime = 0;
    this.timedCheckInEnabled = FALSE;
    this.timedCheckInEntries = 0;
    this.gnssFixInterval = 900;
    this.gnssFixCount = 2;
    this.gnssMinDistance = 200;
    this.speedThreshold = 4;
    this.speedDuration = 5;
    this.accelerationThreshold = 2000;
    this.speedDetectionMin = 0;
    this.communicationRetryMax = 5;
    this.modemMaxConnectionTime = 300;
    this.gsmRssiMin = -90;
    this.gsmSinrMin = 127;
    this.lteRssiMin = -95;
    this.lteSinrMin = 127;
    this.modemMinVoltage = 4000;
    this.movementDetectionDistanceThreshold = 70;
    this.accelerometerDisabled = FALSE;
    this.voltageLoggingDisabled = FALSE;
    this.gnssLoggingDisabled = FALSE;
    this.gnssAidingDataDisabled = FALSE;
    this.deviceFotaDisabled = FALSE;
    this.enableModemFota = TRUE;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy