Kitt.Message.BSM (kitt v0.4.0) View Source

Defines the structure and instantiation function for creating a J2735-compliant BasicSafetyMessage

A BSM defines the basic interchange of presence data between DSRC-capable vehicles and infrastructure

Link to this section Summary

Types

t()

Defines the BasicSafetyMessage type and the data elements comprising its component fields

Functions

Produces a BSM message struct from an equivalent map or keyword input. The coreData primary field is instantiated as a CoreData struct recursively

Returns the BSM identifying atom recognized by the ASN1 spec

Returns the BSM identifying integer

Link to this section Types

Specs

lights_state() ::
  :lowBeamHeadlightsOn
  | :highBeamHeadlightsOn
  | :leftTurnSignalOn
  | :rightTurnSignalOn
  | :hazardSignalOn
  | :automaticLightControlOn
  | :daytimeRunningLightsOn
  | :fogLightOn
  | :parkingLightsOn

Specs

partIIcontent() :: %{
  "partII-Id": non_neg_integer(),
  "partII-Value": partIIextension()
}

Specs

Link to this type

special_vehicle_extensions()

View Source

Specs

special_vehicle_extensions() :: %{
  vehicleAlerts: Kitt.Types.emergency_details(),
  description: Kitt.Types.event_description(),
  trailers: Kitt.Types.trailer_data()
}
Link to this type

supplemental_vehicle_extensions()

View Source

Specs

supplemental_vehicle_extensions() :: %{
  classification: non_neg_integer(),
  classDetails: Kitt.Types.vehicle_classification(),
  vehicleData: Kitt.Types.vehicle_data(),
  weatherReport: Kitt.Types.weather_report(),
  weatherProbe: Kitt.Types.weather_probe(),
  obstacle: Kitt.Types.obstacle_detection(),
  status: Kitt.Types.disabled_vehicle(),
  speedProfile: Kitt.Types.speed_profile(),
  theRTCM: Kitt.Types.rtcm_package(),
  regional: [map()]
}

Specs

t() :: %Kitt.Message.BSM{
  coreData: Kitt.Message.BSM.CoreData.t(),
  partII: [partIIcontent()],
  regional: [map()]
}

Defines the BasicSafetyMessage type and the data elements comprising its component fields

Link to this type

vehicle_safety_extensions()

View Source

Specs

vehicle_safety_extensions() :: %{
  events: Kitt.Types.event_flag(),
  pathHistory: Kitt.Types.path_history(),
  pathPrediction: Kitt.Types.path_prediction(),
  lights: lights_state()
}

Link to this section Functions

Specs

new(map() | keyword()) :: t()

Produces a BSM message struct from an equivalent map or keyword input. The coreData primary field is instantiated as a CoreData struct recursively

Specs

type() :: atom()

Returns the BSM identifying atom recognized by the ASN1 spec

Specs

type_id() :: non_neg_integer()

Returns the BSM identifying integer