0% found this document useful (0 votes)
334 views4 pages

VESC CAN Status Frames

This document describes the status message packet formats sent from a VESC (Vehicle Electric System Controller) to a receiver buffer. It outlines 5 message IDs with their associated status values, data bit indexing within bytes, and how to decode the signed and unsigned integer values from the buffer bytes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
334 views4 pages

VESC CAN Status Frames

This document describes the status message packet formats sent from a VESC (Vehicle Electric System Controller) to a receiver buffer. It outlines 5 message IDs with their associated status values, data bit indexing within bytes, and how to decode the signed and unsigned integer values from the buffer bytes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Status

Information Receiver Buffer


Message Packet Status Buffer
Value Format
ID
1 9 Byte 0 buf[0]<<24
Byte 1 RPM 4 bytes buf[1]<<16
Byte 2 [31:0] buf[2]<<8
Byte 3 buf[3]
Byte 4 Total current in buf[4]<<8
all units (times
Byte 5 10) buf[5]

Byte 6 Latest duty buf[6]<<8


Cycle (time
1000)
Byte 7 buf[7]
2 14 Byte 0 Total Amp buf[0]<<24
Byte 1 Hours buf[1]<<16
consumed by
Byte 2 unit (times buf[2]<<8
Byte 3 10,000) buf[3]
Byte 4 buf[4]<<24
Total
Byte 5 regenerative buf[5]<<16
amp hours put
Byte 6 back in battery buf[6]<<8
(times 10,000)
Byte 7 buf[7]
3 15 Byte 0 Total Watt buf[0]<<24
Byte 1 Hours buf[1]<<16
consumed by
Byte 2 unit (times buf[2]<<8
Byte 3 10,000) buf[3]
Byte 4 buf[4]<<24
Total
Byte 5 regenerative buf[5]<<16
Watt hours put
Byte 6 back in battery buf[6]<<8
(times 10,000)
Byte 7 buf[7]
MOSFET NOTE: Temps are
4 16 Byte 0 buf[0]<<8
Temperature SIGNED.
Byte 1 (times 10) buf[1]
Byte 2 Motor buf[2]<<8
Temperature
Byte 3 (times 10) buf[3]
Byte 4 Total input buf[4]<<8
current (times
Byte 5 10) in amps buf[5]
Byte 6 Current PID buf[6]<<8
Byte 7 position buf[7]
5 27 Byte 0 buf[0]<<24
Byte 1 Tachometer buf[1]<<16
readings
Byte 2 (probably rpm) buf[2]<<8
Tachometer
readings
(probably rpm)
Byte 3 buf[3]
Byte 4 Input voltage buf[4]<<8
(times 10) in
Byte 5 amps buf[5]
Byte 6
Reserved
Byte 7
Data bit index in [1] Buffer Read format
[7:0] [7:0]

Received CAN ID: Decoding:


status ID<<8 | VESC
status ID = canId>>8
ID

[1] https://www.vesc-project.com/sites/default/files/

Eg: signed short FETTemp = (buf[0]<<8+buf[1])/10


Decoding:
VESC ID = canId
& 0xFF

You might also like