Răsfoiți Sursa

调试模式

Ye Jin 7 luni în urmă
părinte
comite
5b0b0ed0bd
2 a modificat fișierele cu 30 adăugiri și 36 ștergeri
  1. 12 14
      3.BasicFunction/Include/canAppl.h
  2. 18 22
      3.BasicFunction/Source/canAppl.c

+ 12 - 14
3.BasicFunction/Include/canAppl.h

@@ -289,20 +289,18 @@ typedef struct
  */
 typedef struct
 {
-    uint8_t                Torque;     ///>踩踏力矩 1Nm,地址偏移0
-    MC_CadenceDir_Struct_t CadenceDir; ///>踩踏方向 0-正,1-反,2-停止,地址偏移1
-    uint8_t                Cadence;    ///>踏频 1rpm,地址偏移2
-    uint8_t                GearSt;     ///>助力档位,地址偏移3
-    uint8_t                T_PCB;      ///>PCB温度 +40℃,地址偏移4
-    uint8_t                T_Coil;     ///>绕组温度 +40℃,地址偏移5
-    uint16_t               BusVoltage; ///>母线电压 1mV,地址偏移6
-    uint16_t               BusCurrent; ///>母线电流 1mA,地址偏移8
-    int16_t                MotorSpeed; ///>输出转速 1rpm,地址偏移10
-    uint16_t               BikeSpeed;  ///>车速 0.1km/h,地址偏移12
-    int16_t                IqCurrent;  ///> Iq电流反馈 1mA 地址偏移14
-    uint8_t                AlarmCode;  ///> 故障码最多8个故障 地址偏移16
-    uint8_t                RS2;        ///> 预留 地址偏移17
-
+    UBYTE SysStatus;
+    UBYTE SubStatus;
+    UBYTE MotorStatus;
+    UBYTE AssitStatus;
+    SWORD Id;
+    SWORD Iq;
+    SWORD Ud;
+    SWORD Uq;
+    SWORD InstantTorq;
+    SWORD FilteTorq;
+    SWORD FreqTorq;
+    SWORD RS[7];
 } MC_RunInfoToCDL_Struct_t;
 
 /***************************************

+ 18 - 22
3.BasicFunction/Source/canAppl.c

@@ -58,7 +58,7 @@ ULONG                      ulOBC_ComTimeOutCount = 0;
 ULONG                      ulBMS_ComTimeOutCount = 0;
 uint8_t                    MC_MotorSPD_rpm_Percent = 0;
 uint8_t                    MC_WorkMode;
-uint8_t                    MC_BC_COM = 1;
+uint8_t                    MC_BC_COM = 0;
 LPF_OUT                    BMS_swCurIdcLpf;
   BOOL  blBMSCommFault = FALSE;
 static UWORD uwRemainDistanceCal;
@@ -754,28 +754,24 @@ void Can_voMC_Run_200ms(void)
     Can_MaxMinTempHistory();
     Can_GearSt_switch();
     SizeMCUP = sizeof(MC_UpcInfo.stAssistInfo);
-    if (MC_BC_COM == 0)
+    if (MC_BC_COM == 1)
     {
-        MC_RunInfoToCDL.Torque = ((ULONG)maf_torque.value * TORQUEBASE / 10) >> 14;           // 0.1 Nm
-        MC_RunInfoToCDL.CadenceDir = (MC_CadenceDir_Struct_t)cadence_stFreGetOut.cadence_dir; // 踩踏方向 0-正,1-反,2-停止,
-        MC_RunInfoToCDL.Cadence = (cadence_stFreGetOut.uwLPFFrequencyPu * cof_uwVbRpm) >> 20; // rpm
-        MC_RunInfoToCDL.GearSt = MC_ControlCode.GearSt;
-        MC_RunInfoToCDL.T_PCB = adc_stUpOut.PCBTemp + 40;
-        MC_RunInfoToCDL.T_Coil = adc_stUpOut.PCBTemp + 40;
-        MC_RunInfoToCDL.BusVoltage = ((ULONG)adc_stUpOut.uwVdcLpfPu * cof_uwUbVt * 100) >> 14;                                        // 1mV
-        //        MC_RunInfoToCDL.BusCurrent = (((ULONG)scm_stMotoPwrInLpf.slY.sw.hi << 13) / adc_stUpOut.uwVdcLpfPu * cof_uwIbAp * 100) >> 14; // 1mA
-        MC_RunInfoToCDL.BusCurrent = ((ULONG)adc_stUpOut.uwIbusAvgLpfPu) * cof_uwIbAp * 10 >> 14; ///>母线电流 1mA,地址偏移8
-        MC_RunInfoToCDL.MotorSpeed = (SLONG)scm_stSpdFbkLpf.slY.sw.hi * cof_uwVbRpm >> 15;
-        //        MC_RunInfoToCDL.BikeSpeed =
-        //            (((SQWORD)bikespeed_stFreGetOut.uwLPFFrequencyPu * cof_uwFbHz * ass_ParaCong.uwWheelPerimeter * 3216 * 36 >> 15) * 1050) >>
-        //            35; // 600 0.1cm  3216 = Q10(3.1415926)  105 = Q20(1/10000)    0.1 km/h;
-        //
-        MC_RunInfoToCDL.BikeSpeed =
-            (((SQWORD)bikespeed_stFreGetOut.uwLPFFrequencyPu * FBASE * ass_ParaCong.uwWheelPerimeter * 36 >> 20) * 1048 * 10) >> 20;
-//        MC_RunInfoToCDL.BikeSpeed =  MC_RunInfoToCDL.MotorSpeed /10;
-        MC_RunInfoToCDL.IqCurrent = ((SLONG)scm_swIqRefPu * cof_uwIbAp * 100) >> 14;
-        MC_RunInfoToCDL.AlarmCode = MC_ErrorCode.Code && 0x00FF;
-        //SendData(ID_MC_TO_CDL, MODE_REPORT, 0xF112, (uint8_t *)&MC_RunInfoToCDL.Torque);
+        MC_RunInfoToCDL.SysStatus = FSM1st_Sys_state.state;
+        MC_RunInfoToCDL.SubStatus = FSM2nd_Run_state.state;
+        MC_RunInfoToCDL.MotorStatus = curSpeed_state.state;
+        MC_RunInfoToCDL.AssitStatus = Ass_FSM;
+        MC_RunInfoToCDL.Id = scm_swIdRefPu;
+        MC_RunInfoToCDL.Iq = scm_swIqRefPu;
+        MC_RunInfoToCDL.Ud = scm_swUdRefPu;
+        MC_RunInfoToCDL.Uq = scm_swUqRefPu;
+        MC_RunInfoToCDL.InstantTorq = torsensor_stTorSensorOut.uwTorqueReg;
+        MC_RunInfoToCDL.FilteTorq = torsensor_stTorSensorOut.uwTorqueLPFPu;
+        MC_RunInfoToCDL.FreqTorq = maf_torque.AverValue;
+        MC_RunInfoToCDL.RS[0] = scm_swIdFdbLpfPu;
+        MC_RunInfoToCDL.RS[1] = scm_swIqFdbLpfPu;
+        MC_RunInfoToCDL.RS[2] = Assist_torqueper;
+        MC_RunInfoToCDL.RS[3] = bikethrottle_stBikeThrottleOut.uwThrottlePercent;
+        SendData(&UART_TxBuff_Struct_OBC, ID_MC_TO_CDL, MODE_REPORT, 0xBA20, (UBYTE *)&MC_RunInfoToCDL.SysStatus);
     }
 
     MC_RunInfo.BikeSpeed = cp_stBikeRunInfoPara.BikeSpeedKmH;                         ///>车速 0.1km/h,地址偏移0