TCP Impact Events

Impact Events are reported outside of the type of TCP configuration paradigm.

Impact Event

An impact event reports all of the accelerometer readings recorded in a single second as part of a series of data that is generated when the configured threshold for an impact event is exceeded.

If, for example, the configuredSecondsOfReportingPriorToEvent is 5 and the configuredSecondsOfReportingAfterEvent is 5, then there would be 11 events generated for a single incident: 5 seconds of accelerometer data from before the threshold was exceeded, one second of accelerometer data that represents the trigger (secondsRelativeToTrigger equals 0), and 5 seconds of accelerometer data from after the threshold was exceeded.

{
  "header": {...},
  "body": {
    "type": "ImpactEvent",    
    "timestamp": "2018-06-04T19:01:58-04:00",
    "tripNumber": 103,
    "imei": "333607123098821",
    "gpsReading": {
      "heading": 156,
      "horizontalDilutionOfPrecision": 0,
      "latitude": 43.34887,
      "longitude": -83.04490,
      "numberOfSatellites": 7,
      "hemisphere": "NorthWest",
      "fixQuality": "Standard"
    },
    "configuredSecondsOfReportingPriorToEvent": 2,    
    "configuredSecondsOfReportingAfterEvent": 10,
    "thresholdValue": 3000,
    "triggerValue": 3609,
    "vehicleSpeedAtTimeOfImpactInMph": 39.700000762939,
    "secondsRelativeToTrigger": 10,
    "accelerometerDataType": "Normalized",    
    "accelerometerSamplesInMg": [
      {
        "z": 992,
        "y": 15,
        "x": -15
      },
      {
        "z": 988,
        "y": 19,
        "x": -23
      },
      {
        "z": 976,
        "y": 23,
        "x": -23
      },
      {
        "z": 980,
        "y": 15,
        "x": -19
      },
      {
        "z": 972,
        "y": 23,
        "x": -15
      },
      {
        "z": 968,
        "y": 19,
        "x": -19
      },
      {
        "z": 964,
        "y": 19,
        "x": -15
      },
      {
        "z": 957,
        "y": 19,
        "x": -11
      },
      {
        "z": 953,
        "y": 19,
        "x": -15
      },
      {
        "z": 953,
        "y": 19,
        "x": -15
      },
      {
        "z": 945,
        "y": 15,
        "x": -11
      },
      {
        "z": 937,
        "y": 19,
        "x": -7
      },
      {
        "z": 937,
        "y": 19,
        "x": -3
      },
      {
        "z": 937,
        "y": 31,
        "x": -7
      },
      {
        "z": 949,
        "y": 23,
        "x": -3
      },
      {
        "z": 937,
        "y": 15,
        "x": 0
      },
      {
        "z": 941,
        "y": 23,
        "x": -7
      },
      {
        "z": 941,
        "y": 15,
        "x": -3
      },
      {
        "z": 937,
        "y": 19,
        "x": -15
      },
      {
        "z": 960,
        "y": 15,
        "x": -7
      },
      {
        "z": 960,
        "y": 11,
        "x": -19
      },
      {
        "z": 960,
        "y": 11,
        "x": -11
      },
      {
        "z": 953,
        "y": 19,
        "x": -7
      },
      {
        "z": 960,
        "y": 15,
        "x": -19
      },
      {
        "z": 968,
        "y": 15,
        "x": -7
      },
      {
        "z": 957,
        "y": 15,
        "x": 0
      },
      {
        "z": 964,
        "y": 11,
        "x": -7
      },
      {
        "z": 964,
        "y": 11,
        "x": -7
      },
      {
        "z": 964,
        "y": 11,
        "x": -11
      },
      {
        "z": 960,
        "y": 11,
        "x": -7
      },
      {
        "z": 968,
        "y": 15,
        "x": -7
      },
      {
        "z": 972,
        "y": 19,
        "x": -15
      },
      {
        "z": 980,
        "y": 15,
        "x": -15
      },
      {
        "z": 988,
        "y": 23,
        "x": -7
      },
      {
        "z": 980,
        "y": 15,
        "x": -3
      },
      {
        "z": 980,
        "y": 15,
        "x": -3
      },
      {
        "z": 964,
        "y": 19,
        "x": -7
      },
      {
        "z": 976,
        "y": 15,
        "x": 0
      },
      {
        "z": 984,
        "y": 19,
        "x": 0
      },
      {
        "z": 972,
        "y": 15,
        "x": -3
      },
      {
        "z": 968,
        "y": 15,
        "x": 3
      },
      {
        "z": 964,
        "y": 15,
        "x": 0
      },
      {
        "z": 964,
        "y": 19,
        "x": 3
      },
      {
        "z": 964,
        "y": 19,
        "x": 7
      },
      {
        "z": 964,
        "y": 27,
        "x": 11
      },
      {
        "z": 957,
        "y": 23,
        "x": 23
      },
      {
        "z": 972,
        "y": 19,
        "x": 31
      },
      {
        "z": 968,
        "y": 27,
        "x": 27
      },
      {
        "z": 968,
        "y": 15,
        "x": 39
      },
      {
        "z": 964,
        "y": 19,
        "x": 62
      },
      {
        "z": 968,
        "y": 15,
        "x": 58
      },
      {
        "z": 980,
        "y": 19,
        "x": 58
      },
      {
        "z": 968,
        "y": 11,
        "x": 62
      },
      {
        "z": 957,
        "y": 19,
        "x": 78
      },
      {
        "z": 957,
        "y": 19,
        "x": 93
      },
      {
        "z": 953,
        "y": 15,
        "x": 113
      },
      {
        "z": 949,
        "y": 11,
        "x": 117
      },
      {
        "z": 941,
        "y": 7,
        "x": 140
      },
      {
        "z": 949,
        "y": 7,
        "x": 152
      },
      {
        "z": 945,
        "y": 3,
        "x": 144
      },
      {
        "z": 968,
        "y": 11,
        "x": 171
      },
      {
        "z": 964,
        "y": 3,
        "x": 171
      },
      {
        "z": 949,
        "y": 3,
        "x": 191
      },
      {
        "z": 976,
        "y": 3,
        "x": 195
      },
      {
        "z": 968,
        "y": 3,
        "x": 207
      },
      {
        "z": 976,
        "y": 3,
        "x": 207
      },
      {
        "z": 992,
        "y": 3,
        "x": 214
      },
      {
        "z": 976,
        "y": 3,
        "x": 222
      },
      {
        "z": 980,
        "y": 7,
        "x": 234
      },
      {
        "z": 976,
        "y": 11,
        "x": 238
      },
      {
        "z": 972,
        "y": 7,
        "x": 246
      },
      {
        "z": 968,
        "y": 3,
        "x": 250
      },
      {
        "z": 972,
        "y": 11,
        "x": 250
      },
      {
        "z": 957,
        "y": 7,
        "x": 265
      },
      {
        "z": 964,
        "y": 11,
        "x": 277
      },
      {
        "z": 964,
        "y": 15,
        "x": 277
      },
      {
        "z": 937,
        "y": 15,
        "x": 285
      },
      {
        "z": 968,
        "y": 15,
        "x": 296
      },
      {
        "z": 941,
        "y": 27,
        "x": 304
      },
      {
        "z": 964,
        "y": 15,
        "x": 292
      },
      {
        "z": 945,
        "y": 23,
        "x": 304
      },
      {
        "z": 941,
        "y": 19,
        "x": 308
      },
      {
        "z": 945,
        "y": 35,
        "x": 312
      },
      {
        "z": 929,
        "y": 27,
        "x": 320
      },
      {
        "z": 949,
        "y": 27,
        "x": 308
      },
      {
        "z": 949,
        "y": 23,
        "x": 304
      },
      {
        "z": 933,
        "y": 19,
        "x": 324
      },
      {
        "z": 964,
        "y": 15,
        "x": 324
      },
      {
        "z": 949,
        "y": 19,
        "x": 320
      },
      {
        "z": 925,
        "y": 11,
        "x": 328
      },
      {
        "z": 929,
        "y": 7,
        "x": 343
      },
      {
        "z": 957,
        "y": 11,
        "x": 324
      },
      {
        "z": 941,
        "y": 15,
        "x": 335
      }
    ]
  }
}
- type: (string) - Indicates a type for this object.
- timestamp: (string) - ISO 8601-formatted time stamp showing when the event was produced on the device.
- tripNumber: (number) - A sequential number that increases after each trip.
- imei: (string) - International Mobile Equipment Identity number, unique to every Danlaw Datalogger.
- gpsReading (object) - Contains the location where this event was produced.
    - heading: (number) - The angle between the direction in which the object's nose is pointing and a reference direction (e.g. true north).
    - horizontalDilutionOfPrecision: (number) - Horizontal Dilution of Precision.
    - latitude: (number)
    - longitude: (number)
    - numberOfSatellites: (number) - Number of satellites used to determine location for this event.
    - hemisphere: (enum[string]) - The hemisphere of the globe where this event was produced.
      - Members
        - `NorthWest`
        - `NorthEast`
        - `SouthWest`
        - `SouthEast`
    - fixQuality: (enum[string]) - The validity and accuracy of the GPS data.
      - Members
        - `NoFix` - Latitude and longitude are invalid.
        - `Standard` - 2D or 3D fix. Latitude and longitude are valid.
        - `Differential` - Enhanced GPS accuracy.
- configuredSecondsOfReportingPriorToEvent: (number) - The number of seconds' worth of buffered accelerometer data that is configured to be collected prior to the threshold value was exceeded.
- configuredSecondsOfReportingAfterEvent: (number) - The number of seconds' worth of buffered accelerometer data that is configured to be collected after the threshold value was exceeded.
- thresholdValue: (number) - The configured accelerometer threshold in mG. 
- triggerValue: (number) - The actual accelerometer reading that triggered the event in mG.
- vehicleSpeedAtTimeOfImpactInMph: (number) - The vehicle speed collected at the time the threshold value was exceeded in MPH.
- secondsRelativeToTrigger: (number) - The number of seconds relative to the time the threshold value was exceeded.
- accelerometerDataType: (enum[string]) - The type of accelerometer data in the array of samples.
    - Members:
    - `Normalized` - X, Y, and Z-axis readings are in line with the vehicle, regardless of the device's orientation inside the vehicle.
    - `Raw` - X, Y, and Z-axis readings are oriented to the datalogger.
- accelerometerSamplesInMg: [array(objects)]