...
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 | ??? | 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 overtemp - Bitset holding the readings from the WS that represent overtemperatures (currently always 0, TODO in https://uwmidsun.atlassian.net/browse/SOFT-534) | Error/limit flag definitions can be found in |
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 | This message will toggle 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 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 | Battert 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 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 |