Эх сурвалжийг харах

Stop after checkpoint if the voltage is low

Youngbin Kim 3 сар өмнө
parent
commit
8dc449044b

+ 6 - 5
Middlewares/Third_Party/FreeRTOS/Source/tasks.c

@@ -5432,16 +5432,17 @@ void xTaskCheckpointImcTask(TCB_t *tcb)
 		imc_backup_latency_overhead();
 	#endif
 
-	// int volt = measure_voltage(ADC_HANDLER_SBC, EPS_CAP_ID_SBC);
+	int volt = measure_voltage(ADC_HANDLER_SBC, EPS_CAP_ID_SBC);
 	// #if(imcUSE_CHECKPOINT_PASS_COUNTER)
 	// 	int turnoff_volt = 3600;
 	// #else
-	// 	int turnoff_volt = 3600;
+		// int turnoff_volt = 3600;
 	// #endif
 
-	// if(volt < turnoff_volt) {
-	// 	while(1) { __ASM(" nop"); }
-	// }
+	int turnoff_volt = imcCHECKPOINT_VOLTAGE;
+	if(volt < turnoff_volt * 1.1) {
+		while(1) { __ASM(" nop"); }
+	}
 
 	// portENABLE_INTERRUPTS();