Skip to content

Commit

Permalink
Bring up complete motor controller yamcan definition
Browse files Browse the repository at this point in the history
  • Loading branch information
freeman803 committed Feb 1, 2025
1 parent b7efd8e commit e53dd44
Show file tree
Hide file tree
Showing 9 changed files with 1,310 additions and 7 deletions.
3 changes: 3 additions & 0 deletions components/bms_boss/include/CANIO_componentSpecific.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,8 @@ CAN_prechargeContactorState_E CANIO_tx_getContactorState(void);
#define set_taskUsage10Hz(m,b,n,s) set(m,b,n,s, Module_getTotalRuntimePercentage(MODULE_10Hz_TASK));
#define set_taskUsage1Hz(m,b,n,s) set(m,b,n,s, Module_getTotalRuntimePercentage(MODULE_1Hz_TASK));
#define set_taskUsageIdle(m,b,n,s) set(m,b,n,s, Module_getTotalRuntimePercentage(MODULE_IDLE_TASK));
#define transmit_BMSB_currentLimit (SYS_SFT_checkMCTimeout() == false)
#define set_maxCharge(m,b,n,s) set(m,b,n,s, BMS.pack_charge_limit);
#define set_maxDischarge(m,b,n,s) set(m,b,n,s, BMS.pack_discharge_limit);

#include "TemporaryStubbing.h"
1 change: 0 additions & 1 deletion network/NetworkGen/classes/Can.py
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,6 @@ def validate_msg(self):
signal.start_bit + signal.native_representation.bit_width
)
except Exception as e:
breakpoint()
raise Exception(e)

# validate validationRoles of signals
Expand Down
5 changes: 5 additions & 0 deletions network/NetworkGen/classes/Types.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ class Units(Enum):
amps = "A"
rpm = "RPM"
pct = "%"
Nm = "Nm"
deg = "deg"
Hz = "Hz"
Wb = "Wb"



class ValidationRole(Enum):
Expand Down
10 changes: 10 additions & 0 deletions network/definition/data/components/bmsb/bmsb-message.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,13 @@ messages:
id: 0x550
sourceBuses: veh
template: rtosTaskInfo

currentLimit:
description: BMS Torque limit
id: 0x202
cycleTimeMs: 10
sourceBuses: veh
signals:
maxCharge:
maxDischarge:

21 changes: 21 additions & 0 deletions network/definition/data/components/bmsb/bmsb-signals.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,24 @@ signals:
packContactorState:
description: Pack Contactor Status
discreteValues: prechargeContactorState

maxDischarge:
unit: 'A'
description: Max Discharge Current (A)
nativeRepresentation:
bitWidth: 16
resolution: 0.1
range:
min: 0
max: 1000
continuous: true

maxCharge:
unit: 'A'
nativeRepresentation:
bitWidth: 16
resolution: 0.1
range:
min: 0
max: 75
continuous: true
251 changes: 248 additions & 3 deletions network/definition/data/components/pm100dx/pm100dx-message.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,254 @@
messages:

temps1:
cycleTimeMs: 100
description: PM100DXR Temperatures 1
id: 0xA1
lengthBytes: 8
signals:
tempModuleA:
tempModuleB:
tempModuleC:
tempGateDriver:

temps2:
cycleTimeMs: 100
description: PM100DXR Temperatures 2
id: 0xA2
lengthBytes: 8
signals:
controlBoardTemp:
rtdTemp1:
rtdTemp2:
rtdTemp3:

temps3AndTorqueShudder:
cycleTimeMs: 100
description: PM100DXR Temperatures 3 & Torque Shudder
id: 0xA3
lengthBytes: 8
signals:
rtdTemp4:
rtdTemp5:
motorTemp:
torqueShudder:

analogInputVoltages:
cycleTimeMs: 10
description: PM100DXR Analog Input Voltages
id: 0xA4
lengthBytes: 8
signals:
analogInputVoltage1:
analogInputVoltage2:
analogInputVoltage3:
analogInputVoltage4:
startBit: 32
analogInputVoltage5:
analogInputVoltage6:

digitalInputStatus:
cycleTimeMs: 10
description: PM100DXR Digital Input Status
id: 0xA5
lengthBytes: 8
signals:
forwardSwitchStatus:
reverseSwitchStatus:
brakeSwitchStatus:
regenDisableSwitchStatus:
ignitionSwitchStatus:
startSwitchStatus:
valetModeStatus:
digitalInput8Status:

motorPositionInfo:
cycleTimeMs: 10
description: PM100DXR Motor Position Information
id: 0xA6
lengthBytes: 8
signals:
electricalMotorAngle:
motorSpeed:
electricalOutputFreq:
deltaResolverFiltered:

currentInfo:
cycleTimeMs: 10
description: PM100DXR Current Info
id: 0xA7
lengthBytes: 8
signals:
currentPhaseA:
currentPhaseB:
currentPhaseC:
dcBusCurrent:

voltageInfo:
cycleTimeMs: 10
description: PM100DXR Voltage Info
id: 0xA8
lengthBytes: 8
signals:
dcBusVoltage:
outputVoltage:
voltageVAB:
voltageVBC:

fluxInfo:
cycleTimeMs: 10
description: PM100DXR Flux Info
id: 0xA9
lengthBytes: 8
signals:
fluxCommand:
fluxFeedback:
idFeedback:
iqFeedback:

internalVoltages:
cycleTimeMs: 100
description: PM100DXR Internal Voltages
id: 0xAA
lengthBytes: 8
signals:
refVoltage1.5V:
refVoltage2.5V:
refVoltage5V:
systemVoltage12V:

internalStates:
cycleTimeMs: 100
description: PM100DXR Internal States
id: 0xAB
lengthBytes: 8
signals:
vsmState:
pwmFrequency:
inverterState:
relayStatus1:
inverterRunMode:
selfSensingAssistEnable:
inverterActiveDischargeState:
inverterCommandMode:
rollingCounter:
inverterEnableState:
burstModelMode:
startModeActive:
inverterEnableLockout:
directionCommand:
bmsActive:
bmsLimitingTorque:
limitMaxSpeed:
limitHotSpot:
lowSpeedLimiting:
coolantTemperatureLimiting:
limitStallBurstModel:

faultCodes:
cycleTimeMs: 100
description: PM100DXR POST & Run Fault Codes
id: 0xAC
lengthBytes: 8
signals:
postHWGateFault:
postHWOverCurrentFault:
postAcceleratorShorted:
postAcceleratorOpen:
postCurrentSensorLo:
postCurrentSensorHi:
postModuleTempLo:
postModuleTempHi:
postControlPCBTempLo:
postControlPCBTempHi:
postGateDrivePCBTempLo:
postGateDrivePCBTempHi:
post5vSenseVoltageLo:
post5vSenseVoltageHi:
post12vSenseVoltageLo:
post12vSenseVoltageHi:
post2.5vSenseVoltageLo:
post2.5vSenseVoltageHi:
post1.5vSenseVoltageLo:
post1.5vSenseVoltageHi:
postDCBusVoltageHi:
postDCBusVoltageLo:
postPreChargeTimeOut:
postPreChargeVoltageFailure:
postEepromChecksumInvalid:
postEepromDataOutOfRange:
postEepromUpdateRequired:
postHWDCBusOverVoltageDuringInit:
postBrakeShorted:
startBit: 30
postBrakeOpen:
runMotorOverSpeedFault:
runOverCurrentFault:
runOverVoltageFault:
runInverterOverTempFault:
runAcceleratorInputShortedFault:
runAcceleratorInputOpenFault:
runDirectionCommandFault:
runInverterResponseTimeOutFault:
runHWGateFault:
runHWOverCurrentFault:
runUnderVoltageFault:
runCanCommandMessageLostFault:
runMotorOverTempFault:
runBrakeInputShortedFault:
startBit: 48
runBrakeInputOpenFault:
runModuleAOverTempFault:
runModuleBOverTempFault:
runModuleCOverTempFault:
runPcbOverTempFault:
runGateDriveBoard1OverTempFault:
runGateDriveBoard2OverTempFault:
runGateDriveBoard3OverTempFault:
runCurrentSensorFault:
runHwDCBusOverVoltageFault:
startBit: 59
runResolverNotConnected:
startBit: 62

torqueAndTimerInfo:
cycleTimeMs: 3
description: Torque and Timer Info
id: 0xAD
lengthBytes: 8
signals:
commandedTorque:
feedbackTorque:
powerOnTimer:

modulationIndexAndFluxWeakeningOutputInfo:
cycleTimeMs: 10
description: Modulation Index and Flux Weakening Output Info
id: 0xAE
lengthBytes: 8
signals:
modulationIndex:
fluxWeakeningOutput:
idCommand:
iqCommand:


criticalData:
cycleTimeMs: 10
description: PM100DXR Critical Data
cycleTimeMs: 10
id: 0x11
id: 0xB1
lengthBytes: 8
signals:
torqueCommand:
torqueFeedback:
motorSpeed:
tractiveSystemVoltage: #DC bus voltage

torqueCapability:
cycleTimeMs: 10
description: Motor Controller Torque Capability
id: 0xB2
lengthBytes: 8
signals:
tractiveSystemVoltage:
startBit: 48
torqueCapability:
1 change: 1 addition & 0 deletions network/definition/data/components/pm100dx/pm100dx-rx.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
messages:
BMSB_currentLimit:
signals:
Loading

0 comments on commit e53dd44

Please sign in to comment.