kitt v0.3.0 Kitt.Message.TIM View Source

Defines the structure and instantiation function for creating a J2735-compliant Traveler Information message

A TIM defines a generic message type used to relay various advisory notifications to equipped devices, including but not limited to vehicles

Link to this section Summary

Functions

Produces a TIM message struct from an equivalent map or keyword input

Returns the TIM identifying atom recognized by the ASN1 spec

Returns the TIM identifying integer

Link to this section Types

Link to this type

area()

View Source
area() ::
  {:shapePointSet, shape_point_set()}
  | {:circle, circle()}
  | {:regionPointSet, region_point_set()}
Link to this type

circle()

View Source
circle() :: %{
  center: Kitt.Types.position_3d(),
  radius: non_neg_integer(),
  units:
    :centimeter
    | :"cm2-5"
    | :decimeter
    | :meter
    | :kilometer
    | :foot
    | :yard
    | :mile
}
Link to this type

content()

View Source
content() ::
  {:advisory, [itis_item()]}
  | {:workZone, itis_item()}
  | {:genericSign, itis_item()}
  | {:speedLimit, itis_item()}
  | {:exitService, itis_item()}
Link to this type

description()

View Source
description() ::
  {:path, Kitt.Types.offset_system()}
  | {:geometry, geometric_projection()}
  | {:oldRegion, valid_region()}
  | {:regional, [Kitt.Types.regional_extension()]}
Link to this type

direction_of_use()

View Source
direction_of_use() :: :unavailable | :forward | :reverse | :both
Link to this type

geographical_path()

View Source
geographical_path() :: %{
  name: String.t(),
  id: Kitt.Types.road_segment_reference_id(),
  anchor: Kitt.Types.position_3d(),
  laneWidth: non_neg_integer(),
  directionality: direction_of_use(),
  closedPath: boolean(),
  direction: Kitt.Types.angle(),
  description: description(),
  regional: [Kitt.Types.regional_extension()]
}
Link to this type

geometric_projection()

View Source
geometric_projection() :: %{
  direction: Kitt.Types.angle(),
  extent: Kitt.Types.extent(),
  laneWidth: non_neg_integer(),
  circle: circle(),
  regional: [Kitt.Types.regional_extension()]
}
Link to this type

itis_item()

View Source
itis_item() :: {:itis, non_neg_integer()} | {:text, String.t()}
Link to this type

msg_id()

View Source
msg_id() :: {:furtherInfoID, non_neg_integer()} | {:roadSignID, road_sign_id()}
Link to this type

region_offset()

View Source
region_offset() :: %{xOffset: integer(), yOffset: integer(), zOffset: integer()}
Link to this type

region_point_set()

View Source
region_point_set() :: %{
  anchor: Kitt.Types.position_3d(),
  scale: non_neg_integer(),
  nodeList: [region_offset()]
}
Link to this type

road_sign_id()

View Source
road_sign_id() :: %{
  position: Kitt.Types.position_3d(),
  viewAngle: Kitt.Types.angle(),
  mutcdCode:
    :none
    | :regulatory
    | :warning
    | :maintenance
    | :motoristService
    | :guide
    | :rec,
  crc: non_neg_integer()
}
Link to this type

shape_point_set()

View Source
shape_point_set() :: %{
  achor: Kitt.Types.position_3d(),
  laneWidth: non_neg_integer(),
  directionality: direction_of_use()
}
Link to this type

t()

View Source
t() :: %Kitt.Message.TIM{
  dataFrames: [traveler_data_frame()],
  msgCnt: non_neg_integer(),
  packetID: non_neg_integer(),
  regional: [Kitt.Types.regional_extension()],
  timeStamp: Kitt.Types.minute_of_year(),
  urlB: String.t()
}

Defines the structure of a TravelerInformation message and the data elements comprising its fields

Link to this type

traveler_data_frame()

View Source
traveler_data_frame() :: %{
  sspTimRights: non_neg_integer(),
  frameType: :unknown | :advisory | :roadSignage | :commercialSignage,
  msdId: msg_id(),
  startYear: non_neg_integer(),
  startTime: non_neg_integer(),
  durationTime: non_neg_integer(),
  priority: non_neg_integer(),
  sspLocationRights: non_neg_integer(),
  regions: [geographical_path()],
  sspMsgRights1: non_neg_integer(),
  sspMsgRights2: non_neg_integer(),
  content: content(),
  url: String.t()
}
Link to this type

valid_region()

View Source
valid_region() :: %{
  direction: Kitt.Types.angle(),
  extent: Kitt.Types.extent(),
  area: area()
}

Link to this section Functions

Produces a TIM message struct from an equivalent map or keyword input

Returns the TIM identifying atom recognized by the ASN1 spec

Returns the TIM identifying integer