{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-iot-fleetwise/refs/heads/main/json-schema/iot-fleetwise-can-signal-schema.json", "title": "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": "

Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).

This value might be different from the value in a DBC file. For little endian signals, startBit 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 startBit.

" } ] }, "offset": { "allOf": [ { "$ref": "#/components/schemas/double" }, { "description": "The offset used to calculate the signal value. Combined with factor, the calculation is value = raw_value * factor + offset." } ] }, "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" ] }