Amazon IoT FleetWise · JSON Structure

Iot Fleetwise Can Signal Structure

Information about a single controller area network (CAN) signal and the messages it receives and transmits.

Type: object Properties: 8 Required: 7
AutomotiveConnected VehiclesIoTTelematicsVehicle Data

CanSignal is a JSON Structure definition published by Amazon IoT FleetWise, describing 8 properties, of which 7 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

messageId isBigEndian isSigned startBit offset factor length name

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-iot-fleetwise/refs/heads/main/json-structure/iot-fleetwise-can-signal-structure.json",
  "name": "CanSignal",
  "description": "Information about a single controller area network (CAN) signal and the messages it receives and transmits.",
  "type": "object",
  "properties": {
    "messageId": {
      "allOf": [
        {
          "$ref": "#/components/schemas/nonNegativeInteger"
        },
        {
          "description": "The ID of the message."
        }
      ]
    },
    "isBigEndian": {
      "allOf": [
        {
          "$ref": "#/components/schemas/boolean"
        },
        {
          "description": "Whether the byte ordering of a CAN message is big-endian."
        }
      ]
    },
    "isSigned": {
      "allOf": [
        {
          "$ref": "#/components/schemas/boolean"
        },
        {
          "description": "Whether the message data is specified as a signed value."
        }
      ]
    },
    "startBit": {
      "allOf": [
        {
          "$ref": "#/components/schemas/nonNegativeInteger"
        },
        {
          "description": "<p>Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).</p> <p>This value might be different from the value in a DBC file. For little endian signals, <code>startBit</code> is the same value as in the DBC file. For big endian signals in a DBC file, the start bit is the most significant bit (MSB). You will have to calculate the LSB instead and pass it as the <code>startBit</code>.</p>"
        }
      ]
    },
    "offset": {
      "allOf": [
        {
          "$ref": "#/components/schemas/double"
        },
        {
          "description": "The offset used to calculate the signal value. Combined with factor, the calculation is <code>value = raw_value * factor + offset</code>."
        }
      ]
    },
    "factor": {
      "allOf": [
        {
          "$ref": "#/components/schemas/double"
        },
        {
          "description": "A multiplier used to decode the CAN message."
        }
      ]
    },
    "length": {
      "allOf": [
        {
          "$ref": "#/components/schemas/nonNegativeInteger"
        },
        {
          "description": "How many bytes of data are in the message."
        }
      ]
    },
    "name": {
      "allOf": [
        {
          "$ref": "#/components/schemas/CanSignalName"
        },
        {
          "description": "The name of the signal."
        }
      ]
    }
  },
  "required": [
    "messageId",
    "isBigEndian",
    "isSigned",
    "startBit",
    "offset",
    "factor",
    "length"
  ]
}