Skip to content

DrivingBehavior Events

Info

This document is a work in progress.

Currently, Vehicle events contain below events, still working in progress:

  • DrivingBehavior Events
    • Hard Brake Event - Should be sent when a hard brake event is detected based on real time data processing from a variety of sensors.
    • Hard Acceleration Event - Should be sent when a hard acceleration event is detected based on real time data processing from a variety of sensors.
    • Sharp Turn Event - Should be sent when a sharp cornering event is detected based on real time data processing from a variety of sensors.

DrivingBehavior Events

Hard Brake Event

Should be sent when a hard brake event is detected based on real time data processing from a variety of sensors

Key methods:

Method Details
setLevel(LevelType level) Set overall hard brake level, mandatory data field.
setDuration(Long duration) Set duration for current hard brake event in milliseconds, optional data field.
setStartSpeed(VehicleSpeedItem start_speed) The VehicleSpeedItem when event starts, optional data field.
setEndSpeed(VehicleSpeedItem end_speed) The VehicleSpeedItem when event ends, optional data field.
setBrakingDecelItem(BrakingDecelItem braking_decel_item) The BrakingDecelItem during the event, optinal data field.
enum index LevelType
0 LOW
1 MEDIUM
2 HIGH

Sample code

1
2
3
4
5
6
7
8
SendEventRequest.Builder builder = dataConnectorClient.sendEventRequest();
SendEventResponse response = builder
           .setEvent(HardBrakeEvent.builder()
              .setLevel(HardBrakeEvent.LevelType.MEDIUM)
              .setDuration(dt)
              .setStartSpeed(VehicleSpeedItem.builder().setValue(.0).setTimestamp(1597029160173L).build())
              .setEndSpeed(VehicleSpeedItem.builder().setValue(.0).setTimestamp(1597029160173L).build())
              .setBrakingDecelItem(BrakingDecelItem.builder().setDeceleration(-7.0).setTimestamp(1597029160173L).build()).build().execute(); 
1
2
3
4
5
6
7
8
var builder = dataConnectorClient.sendEventRequest()
var response = builder
           .setEvent(HardBrakeEvent.builder()
              .setLevel(HardBrakeEvent.LevelType.MEDIUM)
              .setDuration(dt)
              .setStartSpeed(VehicleSpeedItem.builder().setValue(.0).setTimestamp(1597029160173L).build())
              .setEndSpeed(VehicleSpeedItem.builder().setValue(.0).setTimestamp(1597029160173L).build())
              .setBrakingDecelItem(BrakingDecelItem.builder().setDeceleration(-7.0).setTimestamp(1597029160173L).build()).build().execute()

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

Hard Acceleration Event

Should be sent when a hard acceleration event is detected based on real time data processing from a variety of sensors.

Key methods:

Method Details
setLevel(LevelType level) Set overall hard acceleration level, mandatory data field.
setDuration(Long duration) Set duration for current hard brake event in milliseconds, optional data field.
setStartSpeed(VehicleSpeedItem start_speed) The VehicleSpeedItem when event starts, optional data field.
setEndSpeed(VehicleSpeedItem end_speed) The VehicleSpeedItem when event ends, optional data field.
AcceleratorPedalItem(AcceleratorPedalItem accelerator_pedal_item) The AcceleratorPedalItemduring the event, optinal data field.
enum index LevelType
0 LOW
1 MEDIUM
2 HIGH

Sample code

1
2
3
4
5
6
7
8
SendEventRequest.Builder builder = dataConnectorClient.sendEventRequest();
SendEventResponse response = builder
        .setEvent(HardAccelerationEvent.builder()
              .setLevel(HardAccelerationEvent.LevelType.MEDIUM)
              .setDuration(dt)
              .setStartSpeed(VehicleSpeedItem.builder().setValue(.0).setTimestamp(1597029160173L).build())
              .setEndSpeed(VehicleSpeedItem.builder().setValue(.0).setTimestamp(1597029160173L).build())
              .setAcceleratorPedalItem(AcceleratorPedalItem.builder().setPosition(7).setTimestamp(1597029160173L).build()).build().execute();
1
2
3
4
5
6
7
8
var builder = dataConnectorClient.sendEventRequest()
var response = builder
          .setEvent(HardAccelerationEvent.builder()
              .setLevel(HardAccelerationEvent.LevelType.MEDIUM)
              .setDuration(dt)
              .setStartSpeed(VehicleSpeedItem.builder().setValue(.0).setTimestamp(1597029160173L).build())
              .setEndSpeed(VehicleSpeedItem.builder().setValue(.0).setTimestamp(1597029160173L).build())
              .setAcceleratorPedalItem(AcceleratorPedalItem.builder().setPosition(7).setTimestamp(1597029160173L).build()).build().execute()

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

Sharp Turn Event

Should be sent when updates on current charge state of the vehicle.

Key methods:

Method Details
setLevel(LevelType level) Set overall sharp turn level, mandatory data field.
setDuration(Long duration) Set duration for current hard brake event in milliseconds, optional data field.
setTurnStartHeading(HeadingItem turn_start_heading) The HeadingItem when sharp turn starts, optional data field.
setTurnEndHeading(HeadingItem turn_end_heading) The HeadingItem when sharp turn ends, optional data field.

Sample code

1
2
3
4
5
6
7
8
SendEventRequest.Builder builder = dataConnectorClient.sendEventRequest();
SendEventResponse response = builder
        .setEvent(SharpTurnEvent.builder()
              .setLevel(SharpTurnEvent.LevelType.MEDIUM)
              .setDuration(dt)
              .setTurnStartHeading(HeadingItem.builder().setHeadingAngle(7).setTimestamp(1597029160173L).build())
              .setTurnEndHeading(HeadingItem.builder().setHeadingAngle(7).setTimestamp(1597029160173L).build())
              .build().execute();
1
2
3
4
5
6
7
8
var builder = dataConnectorClient.sendEventRequest()
var response = builder
          .setEvent(SharpTurnEvent.builder()
              .setLevel(SharpTurnEvent.LevelType.MEDIUM)
              .setDuration(dt)
              .setTurnStartHeading(HeadingItem.builder().setHeadingAngle(7).setTimestamp(1597029160173L).build())
              .setTurnEndHeading(HeadingItem.builder().setHeadingAngle(7).setTimestamp(1597029160173L).build())
              .build().execute()

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}