fix slowly vscan of IV mode

This commit is contained in:
YiChin
2020-08-14 09:22:21 +08:00
parent 55e8b37f13
commit 0407690197
4 changed files with 15 additions and 6 deletions
@@ -21,6 +21,7 @@ struct _GPT{
uint32_t LeadTimeCounter;
uint32_t BatteryADCCounter;
uint32_t BatteryCheckCounter;
uint32_t GptimerMultiple;
}GPT = {0};
static void InitCT(){
@@ -36,9 +36,9 @@ static void IV_Vscan(IVMode *IV){
}
if (IV->_current_direction_up){
Vset = Vset + IV->_Vstep;
Vset = Vset + IV->_Vstep * GPT.GptimerMultiple;
}else{
Vset = Vset - IV->_Vstep;
Vset = Vset - IV->_Vstep * GPT.GptimerMultiple;
}
}
}
@@ -4,9 +4,9 @@
#define VERSION_DATE_YEAR 20
#define VERSION_DATE_MONTH 8
#define VERSION_DATE_DAY 12
#define VERSION_DATE_HOUR 14
#define VERSION_DATE_MINUTE 52
#define VERSION_DATE_DAY 14
#define VERSION_DATE_HOUR 9
#define VERSION_DATE_MINUTE 22
// this is NOT the version hash !!
// it's the last version hash
@@ -145,7 +145,15 @@ static void SimpleBLEPeripheral_performPeriodicTask(WorkMode *WorkModeData) {
//vscan counter
GPT.VscanRateCounter = GPT.VscanRateCounter + GPT.DeltaGptimerCounter;
if(GPT.VscanRateCounter >= INSTRUCTION.VsetRate){
GPT.VscanRateCounter -= INSTRUCTION.VsetRate; //To get right time
if(GPT.VscanRateCounter >= INSTRUCTION.VsetRate * 2){
GPT.GptimerMultiple = GPT.VscanRateCounter / INSTRUCTION.VsetRate;
}else{
GPT.GptimerMultiple = 1;
}
// InputNotify(NOTIFY_CURRENT, GPT.GptimerMultiple);
// InputNotify(NOTIFY_IMPEDANCE, GPT.VscanRateCounter);
GPT.VscanRateCounter -= INSTRUCTION.VsetRate * GPT.GptimerMultiple; //To get right time
vscan_flag = true;
if(vscan_flag){
EliteVscanControl(WorkModeData);