Select your cookie preferences

We use cookies and similar tools to enhance your experience, provide our services, deliver relevant advertising, and make improvements. Approved third parties also use these tools to help us deliver advertising and provide certain site features.

create_decoder_manifest

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