diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2025-12-13 16:47:44 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2025-12-13 16:47:44 -0500 |
| commit | 5e6a57011bdaf23e012eac28c04de3ebcbe65f9e (patch) | |
| tree | 89c119bc37425208cbf62c081de6e784a2459b61 /doc/datafmt | |
| parent | bd39f6be8469e908950365ebb98725615bddf803 (diff) | |
| download | can-gauge-interface-5e6a57011bdaf23e012eac28c04de3ebcbe65f9e.zip | |
rename datafmt doc to calfmt
Diffstat (limited to 'doc/datafmt')
| -rw-r--r-- | doc/datafmt/Makefile | 2 | ||||
| -rw-r--r-- | doc/datafmt/datafmt.ms | 214 | ||||
| -rw-r--r-- | doc/datafmt/refs.refer | 5 |
3 files changed, 0 insertions, 221 deletions
diff --git a/doc/datafmt/Makefile b/doc/datafmt/Makefile deleted file mode 100644 index ee20c96..0000000 --- a/doc/datafmt/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -datafmt.pdf: datafmt.ms refs.refer - dformat $< | refer -P -p refs.refer | pic | tbl | groff -ms -Tpdf >$@ diff --git a/doc/datafmt/datafmt.ms b/doc/datafmt/datafmt.ms deleted file mode 100644 index 15780f7..0000000 --- a/doc/datafmt/datafmt.ms +++ /dev/null @@ -1,214 +0,0 @@ -.TL -Frame Format for the CAN Gauge Interface -.AU -Sam Anthony -.AI -.LP -The Gauge Interface receives -.I signals -.[ -dbc10 -.] -from other nodes via the vehicle's CAN bus. -It also accepts frames from a host PC for calibration. -The formats of these calibration, or -.I control , -frames are the subject of this document. -.NH 1 -Signals -.LP -The Interface listens for 6 signals on the bus: -.nr step -1 1 -.IP \n+[step]. -Tachometer -.IP \n+[step]. -Speedometer -.IP \n+[step]. -Analog 1 -.IP \n+[step]. -Analog 2 -.IP \n+[step]. -Analog 3 -.IP \n+[step]. -Analog 4 -.LP -Each of these signals has an associated CAN ID, encoding specification, and calibration table. -A signal's CAN ID specifies which message contains the signal. -It's encoding specification defines how the signal is encoded in the message's DATA FIELD. -And it's calibration field defines a mapping from the raw signal value extracted from the message to an output value that is used to generate a waveform to display the signal on a gauge. -.PP -Each table has 32 rows, each of which contains a key and a value. -The keys and values are 32-bit and 16-bit respectively. -Numbers are transmitted in big-endian order in frames' DATA FIELDs. -.NH 1 -Frames -.LP -In addition to the signal-carrying frames, there are also two types of -.I control -frame: -.B "Table Control" , -and -.B "Signal Control" . -.NH 2 -Table Control Frame -.LP -The Table Control Frame is used to read and write rows of the calibration tables. -It is an extended frame with DLC=6. -It may be either a DATA FRAME: to write to a table\(emor a REMOTE FRAME: to read from a table. -.PP -The Table Control Frame has extended ID -.B 12720XXh . -The LSB, -.I X , -inticates which table, and which row of the table, to read or modify. -The upper 3 bits of -.I X -indicate one of the 6 tables [0, 5]. -The lower 5 bits of -.I X -indicate one of the table's 32 rows [0, 31]. -.begin dformat -style bitwid 0.15 -Table Control ID - 28-8 12720h - 7-5 Table - 4-0 Row -.end -.LP -The DATA FIELD contains a row of the table. -The row is composed of a 32-bit integer and a 16-bit integer: a key and a value. -They are transmitted in big-endian order. -.begin dformat -style bitwid 0.07 -style recspread 0 -Table Control DATA FIELD - 7-0 D0 - 7-0 D1 - 7-0 D2 - 7-0 D3 - 7-0 D4 - 7-0 D5 -noname - 31-0 Key - 15-0 Val -.end -.LP -Upon receiving a Table Control DATA FRAME, the Interface will write the key and value to the row of the table specified in the ID. -.PP -In the case of a REMOTE FRAME, the Interface will read the row of the table specified in the ID, and respond with a DATA FRAME containing the key and value of the row. -.NH 2 -Signal Control Frame -.LP -The Signal Control Frame is used to read or modify the CAN ID associated with one of the signals, as well as to read or modify the signal's encoding format. -It is an extended frame with DLC=7. -It may be either a DATA FRAME: to modify\(emor a REMOTE FRAME: to read. -.PP -Upon receiving a Signal Control DATA FRAME, the Interface will write the signal's new ID and encoding to the EEPROM. -Upon receiving a Signal Control REMOTE FRAME, the Interface will respond with a DATA FRAME containing the signal's ID and encoding which were retrieved from the EEPROM. -.PP -The ID Control Frame has extended ID -.B 127210Xh . -The least significant nibble, -.I X , -indicates one of the 6 signals [0, 5]. -.begin dformat -style bitwid 0.15 -Signal Control ID - 28-4 127210h - 3-0 X -.end -.LP -The DATA FIELD contains the signal's CAN ID and encoding format. -.begin dformat -style bitwid 0.08 -style recspread 0 -Signal Control DATA FIELD - 7-0 D0 - 7-0 D1 - 7-0 D2 - 7-0 D3 - 7-0 D4 - 7-0 D5 - 7-0 D6 -noname - 31-0 SigId - 23-0 Encoding -noname - 31 EXIDE - 30-29 Empty - 28-0 ID - 7-0 Start - 7-0 Size - 7 Order - 6 Sign - 5-0 Empty -.end -.LP -The signal's CAN ID is sent as a big-endian 32-bit integer in the -.I SigId -field. -The MSb\(embit 31, called -.I EXIDE \(em -indicates whether the ID is standard or extended. -.TS -tab(&); -Ci -L L. -EXIDE -= 0 & Standard identifier -= 1 & Extended identifier -.TE -The lower 11 or 29 bits hold the ID itself, depending on whether it is standard or extended. -In the case of a standard ID, -.I EXIDE =0 -and the ID is sent in the lower 11 bits of -.I SigId . -In the case of an extended ID, -.I EXIDE =1 -and the ID is sent in the lower 29 bits of -.I SigId . -.PP -The signal encoding defines how the signal's raw value is encoded in the message that carries it. -The encoding is sent in the -.I Encoding -field of the Signal Control Frame's DATA FIELD. -.LP -.I Start -specifies the position of the signal within the DATA FIELD of the message. -It corresponds to -.CW start_bit -in DBC. -.PP -.I Size -specifies the size of the signal in bits. -It corresponds to -.CW signal_size -in DBC. -.PP -.I Order -specifies the signal's byte order. -It corresponds to -.CW byte_order -in DBC. -.TS -tab(&); -Ci -L L. -Order -= 0 & Big-endian -= 1 & Little-endian -.TE -.LP -.I Sign -specifies the signal as being of type unsigned or signed. -It corresponds to -.CW value_type -in DBC. -.TS -tab(&); -Ci -L L. -Sign -= 0 & Unsigned -= 1 & Signed -.TE diff --git a/doc/datafmt/refs.refer b/doc/datafmt/refs.refer deleted file mode 100644 index 7aec587..0000000 --- a/doc/datafmt/refs.refer +++ /dev/null @@ -1,5 +0,0 @@ -%K dbc10 -%T DBC File Format Documentation -%I Vector Informatik GmbH -%D 2010-04-12 -%O v1.0.5 |