{ "$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.
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"
]
}