callgraph: ACU_Motor_Logic/3 (ACU_Motor_Logic) @06b38c40 Type: function definition analyzed Visibility: externally_visible public References: GV_VCU_Drive_Mode/18 (read)GV_VCU_ACU_long_Ctl_mode/23 (read)GV_ACU_Drive_ACC_Cmd/24 (read)GV_VCU_TrqCmd/21 (write)GV_ACU_Vx_Command/25 (read)GV_VCU_TrqCmd/21 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: RC_Motor_Logic/2 (RC_Motor_Logic) @06b389a0 Type: function definition analyzed Visibility: externally_visible public References: GV_VCU_Drive_Mode/18 (read)GV_VCU_RC_long_Ctl_mode/19 (read)GV_RC_Drive_ACC_Cmd/20 (read)GV_VCU_TrqCmd/21 (write)GV_RC_Vx_Command/22 (read)Motor_Tunning/1 (read)GV_VCU_TrqCmd/21 (write) Referring: Availability: available Function flags: count:1073741823 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Motor_init/0 (Motor_init) @06b38620 Type: function definition analyzed Visibility: externally_visible public References: GV_VCU_GearSelStat/4 (read)GV_VCU_GearCmd/5 (write)GV_VCU_MtrDir/6 (write)GV_VCU_EPAM_Park_Request_to_EPC/7 (write)GV_VCU_GearCmd/5 (write)GV_VCU_MtrDir/6 (write)GV_VCU_EPAM_Park_Request_to_EPC/7 (write)GV_VCU_GearCmd/5 (write)GV_VCU_MtrDir/6 (write)GV_VCU_EPAM_Park_Request_to_EPC/7 (write)GV_VCU_GearCmd/5 (write)GV_VCU_MtrDir/6 (write)GV_VCU_EPAM_Park_Request_to_EPC/7 (write)GV_VCU_BmsFlt/8 (read)GV_VCU_BmsHvSt/9 (read)GV_VCU_PwrEnable/10 (write)GV_VCU_ControlMode/11 (write)GV_VCU_Ready/12 (write)GV_VCU_TorqueContol/13 (write)GV_ACU_BMS_FltSta/14 (read)GV_VCU_BmsFlt/8 (write)GV_BMS_HVOn_STA/15 (read)GV_VCU_BmsHvSt/9 (write)GV_VCU_PosTrqLimit/16 (write)GV_VCU_NegTrqLimit/17 (write) Referring: Availability: available Function flags: count:1073741821 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Clearing variable flags: Function name:ACU_Motor_Logic/3: locals read: locals written: Function name:RC_Motor_Logic/2: locals read: locals written: Function name:Motor_init/0: locals read: locals written: ordered call graph: reduced ACU_Motor_Logic/3 (ACU_Motor_Logic) @06b38c40 Type: function definition analyzed Visibility: externally_visible public Aux: @06646128 References: GV_VCU_Drive_Mode/18 (read)GV_VCU_ACU_long_Ctl_mode/23 (read)GV_ACU_Drive_ACC_Cmd/24 (read)GV_VCU_TrqCmd/21 (write)GV_ACU_Vx_Command/25 (read)GV_VCU_TrqCmd/21 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: RC_Motor_Logic/2 (RC_Motor_Logic) @06b389a0 Type: function definition analyzed Visibility: externally_visible public Aux: @06646268 References: GV_VCU_Drive_Mode/18 (read)GV_VCU_RC_long_Ctl_mode/19 (read)GV_RC_Drive_ACC_Cmd/20 (read)GV_VCU_TrqCmd/21 (write)GV_RC_Vx_Command/22 (read)Motor_Tunning/1 (read)GV_VCU_TrqCmd/21 (write) Referring: Availability: available Function flags: count:1073741823 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Motor_init/0 (Motor_init) @06b38620 Type: function definition analyzed Visibility: externally_visible public Aux: @06645ee8 References: GV_VCU_GearSelStat/4 (read)GV_VCU_GearCmd/5 (write)GV_VCU_MtrDir/6 (write)GV_VCU_EPAM_Park_Request_to_EPC/7 (write)GV_VCU_GearCmd/5 (write)GV_VCU_MtrDir/6 (write)GV_VCU_EPAM_Park_Request_to_EPC/7 (write)GV_VCU_GearCmd/5 (write)GV_VCU_MtrDir/6 (write)GV_VCU_EPAM_Park_Request_to_EPC/7 (write)GV_VCU_GearCmd/5 (write)GV_VCU_MtrDir/6 (write)GV_VCU_EPAM_Park_Request_to_EPC/7 (write)GV_VCU_BmsFlt/8 (read)GV_VCU_BmsHvSt/9 (read)GV_VCU_PwrEnable/10 (write)GV_VCU_ControlMode/11 (write)GV_VCU_Ready/12 (write)GV_VCU_TorqueContol/13 (write)GV_ACU_BMS_FltSta/14 (read)GV_VCU_BmsFlt/8 (write)GV_BMS_HVOn_STA/15 (read)GV_VCU_BmsHvSt/9 (write)GV_VCU_PosTrqLimit/16 (write)GV_VCU_NegTrqLimit/17 (write) Referring: Availability: available Function flags: count:1073741821 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Function name:Motor_init/0: locals read: locals written: globals read: globals written: Function name:RC_Motor_Logic/2: locals read: locals written: globals read: globals written: Function name:ACU_Motor_Logic/3: locals read: locals written: globals read: globals written: ACU_Motor_Logic () { long unsigned int GV_VCU_Drive_Mode.14_1; long unsigned int GV_VCU_ACU_long_Ctl_mode.15_2; float GV_ACU_Drive_ACC_Cmd.16_3; float _4; long unsigned int GV_ACU_Vx_Command.18_5; long unsigned int _6; float _7; [local count: 1073741824]: # DEBUG BEGIN_STMT GV_VCU_Drive_Mode.14_1 = GV_VCU_Drive_Mode; if (GV_VCU_Drive_Mode.14_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT GV_VCU_ACU_long_Ctl_mode.15_2 = GV_VCU_ACU_long_Ctl_mode; if (GV_VCU_ACU_long_Ctl_mode.15_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: # DEBUG BEGIN_STMT GV_ACU_Drive_ACC_Cmd.16_3 = GV_ACU_Drive_ACC_Cmd; _4 = GV_ACU_Drive_ACC_Cmd.16_3 * 1.0e+1; GV_VCU_TrqCmd = _4; goto ; [100.00%] [local count: 354334802]: # DEBUG BEGIN_STMT if (GV_VCU_ACU_long_Ctl_mode.15_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 177167401]: # DEBUG BEGIN_STMT GV_ACU_Vx_Command.18_5 = GV_ACU_Vx_Command; _6 = GV_ACU_Vx_Command.18_5 / 5; _7 = (float) _6; GV_VCU_TrqCmd = _7; [local count: 1073741824]: return; } RC_Motor_Logic () { long unsigned int GV_VCU_Drive_Mode.8_1; long unsigned int GV_VCU_RC_long_Ctl_mode.9_2; long unsigned int GV_RC_Drive_ACC_Cmd.10_3; long unsigned int _4; float _5; long unsigned int GV_RC_Vx_Command.12_6; float _7; float Motor_Tunning.13_8; float _9; [local count: 1073741823]: # DEBUG BEGIN_STMT GV_VCU_Drive_Mode.8_1 = GV_VCU_Drive_Mode; if (GV_VCU_Drive_Mode.8_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT GV_VCU_RC_long_Ctl_mode.9_2 = GV_VCU_RC_long_Ctl_mode; if (GV_VCU_RC_long_Ctl_mode.9_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 124124555]: # DEBUG BEGIN_STMT GV_RC_Drive_ACC_Cmd.10_3 = GV_RC_Drive_ACC_Cmd; _4 = GV_RC_Drive_ACC_Cmd.10_3 * 10; _5 = (float) _4; GV_VCU_TrqCmd = _5; goto ; [100.00%] [local count: 240947665]: # DEBUG BEGIN_STMT if (GV_VCU_RC_long_Ctl_mode.9_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 120473832]: # DEBUG BEGIN_STMT GV_RC_Vx_Command.12_6 = GV_RC_Vx_Command; _7 = (float) GV_RC_Vx_Command.12_6; Motor_Tunning.13_8 = Motor_Tunning; _9 = _7 * Motor_Tunning.13_8; GV_VCU_TrqCmd = _9; [local count: 1073741824]: return; } Motor_init () { long unsigned int GV_VCU_GearSelStat.0_1; long unsigned int GV_VCU_BmsFlt.4_2; long unsigned int GV_VCU_BmsHvSt.5_3; long unsigned int GV_ACU_BMS_FltSta.6_4; unsigned char GV_BMS_HVOn_STA.7_5; long unsigned int _6; [local count: 1073741821]: # DEBUG BEGIN_STMT GV_VCU_GearSelStat.0_1 = GV_VCU_GearSelStat; if (GV_VCU_GearSelStat.0_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870910]: # DEBUG BEGIN_STMT GV_VCU_GearCmd = 7; # DEBUG BEGIN_STMT GV_VCU_MtrDir = 0; # DEBUG BEGIN_STMT GV_VCU_EPAM_Park_Request_to_EPC = 1; goto ; [100.00%] [local count: 536870910]: # DEBUG BEGIN_STMT if (GV_VCU_GearSelStat.0_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 182536109]: # DEBUG BEGIN_STMT GV_VCU_GearCmd = 2; # DEBUG BEGIN_STMT GV_VCU_MtrDir = 2; # DEBUG BEGIN_STMT GV_VCU_EPAM_Park_Request_to_EPC = 2; goto ; [100.00%] [local count: 354334801]: # DEBUG BEGIN_STMT if (GV_VCU_GearSelStat.0_1 == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 120473832]: # DEBUG BEGIN_STMT GV_VCU_GearCmd = 3; # DEBUG BEGIN_STMT GV_VCU_MtrDir = 0; # DEBUG BEGIN_STMT GV_VCU_EPAM_Park_Request_to_EPC = 2; goto ; [100.00%] [local count: 233860969]: # DEBUG BEGIN_STMT if (GV_VCU_GearSelStat.0_1 == 3) goto ; [34.00%] else goto ; [66.00%] [local count: 79512729]: # DEBUG BEGIN_STMT GV_VCU_GearCmd = 4; # DEBUG BEGIN_STMT GV_VCU_MtrDir = 1; # DEBUG BEGIN_STMT GV_VCU_EPAM_Park_Request_to_EPC = 2; [local count: 1073741823]: # DEBUG BEGIN_STMT GV_VCU_BmsFlt.4_2 = GV_VCU_BmsFlt; if (GV_VCU_BmsFlt.4_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: GV_VCU_BmsHvSt.5_3 = GV_VCU_BmsHvSt; if (GV_VCU_BmsHvSt.5_3 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: # DEBUG BEGIN_STMT GV_VCU_PwrEnable = 1; # DEBUG BEGIN_STMT GV_VCU_ControlMode = 1; # DEBUG BEGIN_STMT GV_VCU_Ready = 1; # DEBUG BEGIN_STMT GV_VCU_TorqueContol = 1; [local count: 1073741824]: # DEBUG BEGIN_STMT GV_ACU_BMS_FltSta.6_4 = GV_ACU_BMS_FltSta; GV_VCU_BmsFlt = GV_ACU_BMS_FltSta.6_4; # DEBUG BEGIN_STMT GV_BMS_HVOn_STA.7_5 = GV_BMS_HVOn_STA; _6 = (long unsigned int) GV_BMS_HVOn_STA.7_5; GV_VCU_BmsHvSt = _6; # DEBUG BEGIN_STMT GV_VCU_PosTrqLimit = 80; # DEBUG BEGIN_STMT GV_VCU_NegTrqLimit = -5.0e+1; return; }