Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 Interface, Driver Display

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 Controller 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


Send periodically from rear PD to front PD to synchronize front turn lights with rear turn lights. (MSXII had a problem with the front and rear turn lights getting out of sync.)

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 Interface

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 Interface

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

Currently broadcasts the lower 32 bits of each WaveSculptor’s status message. Will be updated to be more clear U8

limit flags left - Bitset holding the limit flags broadcasted from the left WS

limit flags right - Bitset holding the limit flags broadcasted from the right WS

error flags left - Bitset holding the error flags broadcasted from the left WS

error flags right - Bitset holding the error flags broadcasted from the right WS

board fan faults - Bitset holding the overtemp indices (from mci_fan_control.h) of the MCI board

overtemp - Bitset holding the readings from the WS that represent overtemperatures (currently always 0, TODO in https://uwmidsun.atlassian.net/browse/SOFT-514534)

Error/limit flag definitions can be found in mci_broadcast.h. Board fan fault definitions can be found in mci_fan_control.h.

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

Readings from the auxiliary input to the power select board, as well as the voltage reading from the main input.

43

DCDC Measurement Main Current

Power Select

Centre Console

U16

DCDC voltage

DCDC current

DCDC temp

main current

Readings from the DCDC input to the power select board, as well as the current reading from the main input.

44

Power Select Status

Power Select

Centre Console

U16

fault bitset

warning bitset

valid bitset

cell voltage

Status info from power select including faults, warnings, and which readings are currently valid. See Power Select Error Codes for more information.

45

UV Cutoff Notification

Power Distribution Front

Telemetry

E

This message is sent when undervoltage cutoff has occured in UV cutoff and reported by front PD.

46

Regen Braking Toggle Request

Steering

Centre Console

E

Send from steering to centre console when the regen braking toggle button is pressed to request centre console to toggle regen braking. The Regen Braking CAN message (11) actually toggles 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

Indicates the values of various data points on the 6 MPPT solar board. (There are two: one with 5 MPPTs and one with 6 MPPTs).

Data point type is decoded as in Data point mapping. The data value for the current through the whole array (ID 8) is a signed 2’s-complement 32-bit int, the rest are unsigned ints.

52

Solar Fault 6 MPPTs

Solar 6 MPPTs

Telemetry

Centre Console

U8

fault

fault data

Indicates that various faults from the 6 MPPT solar board occurred. Faults and data are described below (exported_enums.h).

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 - The module where the current is going to

current - The value for the current (mA)

The different output IDs whose currents are TX’d are listed in publish_data_config.c

The output ID values themselves are determined in output.h

55

Rear Current Measurement

Power Distribution Rear

Centre Console

U16

current ID - The module where the current is going to

current - The value for the current (mA)

The different output IDs whose currents are TX’d are listed in publish_data_config.c

The output ID values themselves are determined in output.h

56

RESERVED

57

Battery Fan State

BMS Carrier

U8

fan[8] - The StatusCode of each fan

StatusCodes are shown below.

58

Battery 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

Same as Solar Data 6 MPPTs (ID 51) but for the 5 MPPT solar board.

60

Solar Fault 5 MPPTs

Solar 5 MPPTs

Telemetry

Centre Console

U8

fault

fault data

Same as Solar Fault 6 MPPTs (ID 52) but for the 5 MPPT solar board.

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

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

63

Baby Driver

Baby Driver

Baby Driver

U8

ID - The babydriver message ID

data[7] - The data

Sends Baby Driver CAN messages as defined in babydriver_msg_defs.h

See Babydriver for more details about BabyDriver

...