Procházet zdrojové kódy

根据需求调整为无传感器,为解决TURBO挡位正常保存数据,针对0x2802指令增加ACK应答。

Dail před 1 rokem
rodič
revize
5c583691fc

+ 1 - 1
Core/Src/main.c

@@ -240,7 +240,7 @@ int main(void)
 			MC_UartRxCheck_Process();
 			
 			//速度传感器采集及计算
-			if(MC_ConfigParam1.SpeedSignal == MC_SPEED_CADENCE_CAL) //0xAA, 根据踏频估算
+			if(1) //(MC_ConfigParam1.SpeedSignal == MC_SPEED_CADENCE_CAL) //0xAA, 根据踏频估算
 			{
 				if(MC_RunInfo.CadenceDir != MC_Cadence_Forward) //脚踏向后或停止时,采用电机转速
 				{

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 382 - 382
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


binární
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 1 - 0
User/Src/can_process.c

@@ -629,6 +629,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 					MC_RunInfo.GearSt = MC_ControlCode.GearSt;//当前助力档位更新
 					MC_RunInfo.LightSwitch = MC_ControlCode.LightSwitch;
 					SendData(ID_MC_BC, MODE_REPORT, 0x1020, (uint8_t*)&MC_RunInfo.BikeSpeed);
+					SendData(ID_MC_TO_CDL, MODE_REPORT, 0xA903, (uint8_t*)"ACK");
 					break;
 				}
 				case 0x2900://查询力矩传感器校正信息

+ 1 - 1
User/Src/tasks.c

@@ -195,7 +195,7 @@ void MC_RunInfo_Update(void)
 				MC_SpeedSensorData.WheelTurnCount = WheelTurnCount_Temp / 100;			
 			}
 		}
-		else if(MC_ConfigParam1.SpeedSignal == MC_SPEED_CADENCE_CAL) //根据踏频计算
+		else if(1) //(MC_ConfigParam1.SpeedSignal == MC_SPEED_CADENCE_CAL) //根据踏频计算
 		{
 		  //车轮转过的圈数 = 踏频信号个数 / 120 * 2.4 * 前飞齿数 / 后飞齿数
 			MC_SpeedSensorData.WheelTurnCount = MC_CadenceResult.TrigCount * MC_ConfigParam1.TeethNum_F / MC_ConfigParam1.TeethNum_B / 50;

+ 5 - 5
User/Src/var.c

@@ -66,12 +66,12 @@ const MC_ConfigParam1_Struct_t MC_ConfigParam1_Default =
 	(uint16_t)100,                                   //停机时间 ms	
 	(uint8_t)24,                                     //限速 km/h
 	(uint8_t)3,                                      //下降速度
-	(uint8_t)14,                                     //前齿数 T
-	(uint8_t)9,                                      //后齿数 T
+	(uint8_t)16,                                     //前齿数 T
+	(uint8_t)16,                                     //后齿数 T
 	(uint8_t)13,                                     //限流 A
 	(uint8_t)135,                                    //高温预警值 +40℃
 	(uint8_t)165,                                    //高温保护值 +40℃
-  (MC_SupportFlag_Struct_t)MC_SUPPORT_ENABLE,     //无码表支持,0x55-不支持,0x-AA支持	
+  (MC_SupportFlag_Struct_t)MC_SUPPORT_ENABLE,      //无码表支持,0x55-不支持,0x-AA支持	
   (uint8_t)202,                                    //轮胎周长 cm
   (uint8_t)1,                                      //系列号,
 	{100,100},                                       //ECO
@@ -506,13 +506,13 @@ void Var_Init(void)
 	#if BaudRate250K
   strncpy(MC_VerInfo.FW_Version, (char*)"V4r1r0_20240126C", 16);
 	#else 
-	strncpy(MC_VerInfo.FW_Version, (char*)"V4r1r0_20240126C", 16);
+	strncpy(MC_VerInfo.FW_Version, (char*)"V4r1r0_20240130C", 16);
 	#endif
 	
   #if NormalWork
 	MC_VerInfo.FW_Version[15] = '.';
   #endif
-	strncpy(Firmware_Special, (char*)"TC013041-BM2102-V0r2.           ", 32);
+	strncpy(Firmware_Special, (char*)"TC013041-BM2102-V0r3.           ", 32);
 	if(MCUManufacturer == NoName) MC_VerInfo.HW_Version[10] = '0';
 	else if(MCUManufacturer == STM32F103RBT6) MC_VerInfo.HW_Version[10] = '1';
 	else if(MCUManufacturer == APM32F103RBT6) MC_VerInfo.HW_Version[10] = '2';

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů