create_decoder_manifest

IoTFleetWise.Client.create_decoder_manifest(**kwargs)

Creates the decoder manifest associated with a model manifest. To create a decoder manifest, the following must be true:

  • Every signal decoder has a unique name.
  • Each signal decoder is associated with a network interface.
  • Each network interface has a unique ID.
  • The signal decoders are specified in the model manifest.

See also: AWS API Documentation

Request Syntax

response = client.create_decoder_manifest(
    name='string',
    description='string',
    modelManifestArn='string',
    signalDecoders=[
        {
            'fullyQualifiedName': 'string',
            'type': 'CAN_SIGNAL'|'OBD_SIGNAL',
            'interfaceId': 'string',
            'canSignal': {
                'messageId': 123,
                'isBigEndian': True|False,
                'isSigned': True|False,
                'startBit': 123,
                'offset': 123.0,
                'factor': 123.0,
                'length': 123,
                'name': 'string'
            },
            'obdSignal': {
                'pidResponseLength': 123,
                'serviceMode': 123,
                'pid': 123,
                'scaling': 123.0,
                'offset': 123.0,
                'startByte': 123,
                'byteLength': 123,
                'bitRightShift': 123,
                'bitMaskLength': 123
            }
        },
    ],
    networkInterfaces=[
        {
            'interfaceId': 'string',
            'type': 'CAN_INTERFACE'|'OBD_INTERFACE',
            'canInterface': {
                'name': 'string',
                'protocolName': 'string',
                'protocolVersion': 'string'
            },
            'obdInterface': {
                'name': 'string',
                'requestMessageId': 123,
                'obdStandard': 'string',
                'pidRequestIntervalSeconds': 123,
                'dtcRequestIntervalSeconds': 123,
                'useExtendedIds': True|False,
                'hasTransmissionEcu': True|False
            }
        },
    ],
    tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
Parameters
  • name (string) --

    [REQUIRED]

    The unique name of the decoder manifest to create.

  • description (string) -- A brief description of the decoder manifest.
  • modelManifestArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) of the vehicle model (model manifest).

  • signalDecoders (list) --

    A list of information about signal decoders.

    • (dict) --

      Information about a signal decoder.

      • fullyQualifiedName (string) -- [REQUIRED]

        The fully qualified name of a signal decoder as defined in a vehicle model.

      • type (string) -- [REQUIRED]

        The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

      • interfaceId (string) -- [REQUIRED]

        The ID of a network interface that specifies what network protocol a vehicle follows.

      • canSignal (dict) --

        Information about signal decoder using the Controller Area Network (CAN) protocol.

        • messageId (integer) -- [REQUIRED]

          The ID of the message.

        • isBigEndian (boolean) -- [REQUIRED]

          Whether the byte ordering of a CAN message is big-endian.

        • isSigned (boolean) -- [REQUIRED]

          Whether the message data is specified as a signed value.

        • startBit (integer) -- [REQUIRED]

          Indicates the beginning of the CAN message.

        • offset (float) -- [REQUIRED]

          Indicates where data appears in the CAN message.

        • factor (float) -- [REQUIRED]

          A multiplier used to decode the CAN message.

        • length (integer) -- [REQUIRED]

          How many bytes of data are in the message.

        • name (string) --

          The name of the signal.

      • obdSignal (dict) --

        Information about signal decoder using the On-board diagnostic (OBD) II protocol.

        • pidResponseLength (integer) -- [REQUIRED]

          The length of the requested data.

        • serviceMode (integer) -- [REQUIRED]

          The mode of operation (diagnostic service) in a message.

        • pid (integer) -- [REQUIRED]

          The diagnostic code used to request data from a vehicle for this signal.

        • scaling (float) -- [REQUIRED]

          A multiplier used to decode the message.

        • offset (float) -- [REQUIRED]

          Indicates where data appears in the message.

        • startByte (integer) -- [REQUIRED]

          Indicates the beginning of the message.

        • byteLength (integer) -- [REQUIRED]

          The length of a message.

        • bitRightShift (integer) --

          The number of positions to shift bits in the message.

        • bitMaskLength (integer) --

          The number of bits to mask in a message.

  • networkInterfaces (list) --

    A list of information about available network interfaces.

    • (dict) --

      Represents a node and its specifications in an in-vehicle communication network. All signal decoders must be associated with a network node.

      To return this information about all the network interfaces specified in a decoder manifest, use the API operation.

      • interfaceId (string) -- [REQUIRED]

        The ID of the network interface.

      • type (string) -- [REQUIRED]

        The network protocol for the vehicle. For example, CAN_SIGNAL specifies a protocol that defines how data is communicated between electronic control units (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data is communicated between ECUs.

      • canInterface (dict) --

        Information about a network interface specified by the Controller Area Network (CAN) protocol.

        • name (string) -- [REQUIRED]

          The unique name of the interface.

        • protocolName (string) --

          The name of the communication protocol for the interface.

        • protocolVersion (string) --

          The version of the communication protocol for the interface.

      • obdInterface (dict) --

        Information about a network interface specified by the On-board diagnostic (OBD) II protocol.

        • name (string) -- [REQUIRED]

          The name of the interface.

        • requestMessageId (integer) -- [REQUIRED]

          The ID of the message requesting vehicle data.

        • obdStandard (string) --

          The standard OBD II PID.

        • pidRequestIntervalSeconds (integer) --

          The maximum number message requests per second.

        • dtcRequestIntervalSeconds (integer) --

          The maximum number message requests per diagnostic trouble code per second.

        • useExtendedIds (boolean) --

          Whether to use extended IDs in the message.

        • hasTransmissionEcu (boolean) --

          Whether the vehicle has a transmission control module (TCM).

  • tags (list) --

    Metadata that can be used to manage the decoder manifest.

    • (dict) --

      A set of key/value pairs that are used to manage the resource.

      • Key (string) -- [REQUIRED]

        The tag's key.

      • Value (string) -- [REQUIRED]

        The tag's value.

Return type

dict

Returns

Response Syntax

{
    'name': 'string',
    'arn': 'string'
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the created decoder manifest.

    • arn (string) --

      The ARN of the created decoder manifest.

Exceptions

  • IoTFleetWise.Client.exceptions.ResourceNotFoundException
  • IoTFleetWise.Client.exceptions.InternalServerException
  • IoTFleetWise.Client.exceptions.ConflictException
  • IoTFleetWise.Client.exceptions.LimitExceededException
  • IoTFleetWise.Client.exceptions.DecoderManifestValidationException
  • IoTFleetWise.Client.exceptions.ThrottlingException
  • IoTFleetWise.Client.exceptions.ValidationException
  • IoTFleetWise.Client.exceptions.AccessDeniedException