private void timerWsprUpdate_Tick(object sender, EventArgs e) { string stampNow = $"{DateTime.UtcNow.Hour}{DateTime.UtcNow.Minute}{DateTime.UtcNow.Second}"; if (stampNow == stampLast) { return; } stampLast = stampNow; int second = (DateTime.UtcNow.Minute % 10) * 60 + DateTime.UtcNow.Second; lblTime.Text = $"{UtcTimeStamp} UTC"; lblStatusTime.Text = $"{UtcTimeStamp} UTC (second {second}/600)"; pbTimeFrac.Value = second; LoadWsprSpots(); bool isTenMinute = DateTime.UtcNow.Minute % 10 == 0; bool isWsprHadTime = DateTime.UtcNow.Second == 2; if (isTenMinute && isWsprHadTime) { spec.RollReset(); if (cbSave.Checked && cbSave.Enabled) { SaveGrab(uploadToo: cbFTP.Checked); } } }