Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

This page is intended to outline all of the CAN messages defined in codegen including their purpose and format. It is also a list of which boards send and receive each message to allow developers to note what functionality they are responsible for on the CAN bus.

Note: The data in the codegen repository should be taken as the source of truth. This page is intended to be used for the convenience of others who don't want to parse the format used in the repository, but this may not be kept up to date.

To make codegen simpler we have decided on four possible formats for CAN dataframes

  • U8 - 8 uint8_t

  • U16 - 4 uint16_t

  • U32 - uint32_t

  • U64 - 1 uint64_t

  • E - An empty message (a uint64_t containing a 0 value always)

Also note that all definitions with the “EE” prefix are from exported_enums.h

Telemetry/Driver Display will handle all messages and will broadcast/log/display as deemed necessary.

IDs 0-13 are considered "CRITICAL" and require acknowledgement (ACK)

ID

Message Name

Sender

Intended Handler

Format

Fields

Description

0

BPS Heartbeat

BMS Carrier

Centre Console

U8

status - the fault bitset indicating the fault reason and where it appeared

bps_heartbeat.c will transmit a heartbeat periodically and ensure it is acknowledged by other parts of the vehicle.

The fault bitset is shown below as from exported_enums.h

1

Set relay states

Centre Console

BMS Carrier

Solar 5 MPPTs

Solar 6 MPPTs

Motor Controller

U16

relay mask - This is 1 << relay_id, where relay id

relay state - This is the relay_state << relay_id

See description for more details.

These control relays in our vehicle. Each relay is given an ID and state.

Below is a sample of the relay states being sent from relay_tx.c

Below are possible relay IDs

Below are possible relay states

2-5

RESERVED

CRITICAL MESSAGES

6

Power on main sequence

Centre Console

Motor Controller

Pedal

U16

sequence - One part of the step of turning on the vehicle

These are the series of steps (going from 0 to 5) to power on the vehicle from the main power source.

7

Power off sequence

Centre Console

Motor Controller

Pedal

U16

sequence - One part of the step of turning off the vehicle

These are the series of steps to power off the vehicle

8

Power on aux sequence

Centre Console

Motor Controller

Pedal

U16

sequence - One part of the step of turning on the vehicle

These are the series of steps to power on the vehicle from the aux battery

9

Drive Output

Centre Console

Motor Controller

U16

drive output - Shows the gear the car is in

Drive output shows gear the car is in

10

Set E-brake State

Centre Console

U8

ebrake state

This is used to set the E-brake state.

NOTE: Firmware does not have to worry about this, this message will be removed.

11

Regen Braking

Centre Console

Motor Controller

U8

state - A bool which shows whether regen braking is enabled or not

True - Regen braking on

False - Regen braking off

12

RESERVED

13

Ready to drive

Centre Console

Telemetry

U8

ready state - A bool which shows whether the car is ready to drive or not

True - Car is ready

False - Car is not ready

14

Relay open okay 5 MPPTs

Solar 5 MPPTs

Telemetry

E

This message shows up when solar relays opened correctly when there are 5 MPPTs

15

Relay open okay 6 MPPTs

Solar 6 MPPTs

Telemetry

E

This message shows up when solar relays opened correctly when there are 6 MPPTs

16-17

RESERVED

18

Pedal Output

Pedal

Motor Interface

U32

throttle output - The throttle angle

brake output - The brake angle

As defined in pedal_monitor.h, if the pedal angle is greater than 50, then the pedal is pressed. Otherwise it is released.

19-21

RESERVED





22

Drive State

Motor Controller

U16

drive_state - Shows the gear the car is in

This seems to be a duplicate of Drive Output and is only used for testing at the moment as shown in test_drive_rx.c

23

Lights Sync

Power Distribution Rear

Lights Front

E


???

24

Lights

Steering

Lights

U8

lights id - The light we want to turn on/off

state - Shows whether the light is on or off

Turns on certain lights on the vehicle

25

Horn

Steering

Lights

U8

state - Shows whether the horn is on or off

28

Begin Precharge

Centre Console

Motor Controller

E

Begins the precharge. Pre-Charge: MS 14

29

Precharge Completed

Motor Controller

Centre Console

E

Indicates precharge is completed.

30

Hazard

Centre Console

U8

state - Shows whether the hazard button is pressed or not

Indicates if the hazard button from the centre console is pressed

True - Turn hazard light on

False - Turn hazard light off

31

Discharge Precharge

Centre Console

Motor Controller

E

Discharges the capacitors that were precharged for the motor controller

32

Battery Voltage Temperature

BMS Carrier

Telemetry

U16

module ID - ID of the cell (from 0 to 17)

voltage - Voltage of each cell

temperature - highest temperature reading

Sends the voltage and temperature readings from each cell

33

Battery Aggregate Voltage and Current

BMS Carrier

Telemetry

U32

voltage - Average voltage based on all cells

current - Average current through each of the cells

Sends the average voltage and current from all 18 cells.

34

State Transition Fault

Centre Console

Telemetry

U16

state machine - The area which the fault occured

fault Reason - Why the fault occured

Indicates when a fault has occured during state transitions, the state machine’s are shown below

An example of a fault reason is shown below as from drive_fsm.c

35

Motor Controller Voltage/Current

Motor Controller

Telemetry

U16

mc voltage 1 - DC Bus voltage of the left motor controller (V)

mc current 1 - DC Bus current of the left motor controller (A)

mc voltage 2 - DC Bus voltage of the right motor controller (V)

mc current 2 - DC Bus current of the right motor controller (A)

Shows the DC bus voltage and current on both the left and right motor controller.

36

Motor Velocity

Motor Controller

Telemetry

U16

vehicle velocity left - Velocity of the left motor controller (cm/s)

vehicle velocity right - Velocity of the left motor controller (cm/s)

Shows the vehicle’s left and right motor velocity

37

Motor Status

Motor Controller

Telemetry

U32

motor status left

motor status right

???

38

Motor Temps

Motor Controller

Telemetry

U32

motor temp left - Temperature of left motor (°C)

sink temp left - Temperature of left heat sink (°C)

motor temp right - Temperature of right motor (°C)

sink temp right - Temperature of left heat sink (°C)

Shows the temperature of the motors and the heat sinks.

39-40

RESERVED

41

Cruise Control Command

Steering

Telemetry

U8

command - See description

Sends commands to configure cruise control. Some possible commands are shown below.

42

Aux measurement main voltage

Power Select

Centre Console

U16

aux voltage

aux current

aux temp

main voltage

43

DCDC Measurement Main Current

Power Select

Centre Console

U16

DCDC voltage

DCDC current

DCDC temp

main current

44

Power Select Status

Power Select

Centre Console

U16

fault bitset

warning bitset

valid bitset

cell voltage

45

UV Cutoff Notification

Power Distribution Front

Telemetry

E

This message is sent when undervoltage cutoff has occured in front PD

46

Regen Braking Toggle Request

Steering

Centre Console

E

Toggle’s regen braking

47

RESERVED

48

Request to Charge

Charger

Centre Console

E


Indicates when we try to start charging.

49

Allow Charging

Centre Console

Charger

E

Indicates when charging is allowed (note charging is only allowed when we’re parked).

50

Charger Connected State

Charger

U8

is connected - A bool represented whether the charger is connected or not

51

Solar Data 6 MPPTs

Solar 6 MPPTs

Telemetry

U32

data point type

data value

52

Solar fault 6 MPPTs

Solar 6 MPPTs

Telemetry

Centre Console

U8

fault

fault data

53

Charger Fault

Charger

Telemetry

U8

fault - The error that occured

The different faults from charger are shown below.

54

Front Current Measurement

Power Distribution Front

Centre Console

U16

current ID

current

55

Rear Current Measurement

Power Distribution Rear

Centre Console

U16

current ID

current

56

RESERVED

57

Battery Fan State

BMS Carrier

U8

fan[8] - The StatusCode of each fan

StatusCodes are shown below.

58

Battert Relay State

BMS Carrier

U8

high voltage - Indicates if the GPIO pin is pulled high (relay is closed)

ground - indicates if the GPIO pin is pulled low (relay is open)

59

Solar Data 5 MPPTs

Solar 5 MPPTs

Telemetry

U32

data point type

data value

60

Solar fault 5 MPPTs

Solar 5 MPPTs

Telemetry

Centre Console

U8

fault

fault data

61

Rear Power Distribution Fault

Power Distribution Rear

Centre Console

U16

fault data

enclosure temperature data

DCDC temperature data

faulting output

See https://uwmidsun.atlassian.net/l/c/normaJUS for how to interpret PD fault messages.

62

Front Power Distribution Fault

Power Distribution Front

Centre Console

U16

fault data

faulting output

63

Baby Driver

Baby Driver

Baby Driver

U8

ID

data[7]


  • No labels