Fixed number of stages bug.

git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@282 05563f52-14a8-4384-a975-3d1654cca0fa
This commit is contained in:
mmi
2017-11-17 13:59:48 +00:00
parent 5e29b31c8c
commit 553ebd04c1
3 changed files with 51 additions and 34 deletions

View File

@@ -1,11 +1,11 @@
- Display backlight unstable
- Display cursor unstable
- HW validation menu outdated/unfunctional
- NumberOfStages Macro for presets not implemented well. It will be ignored when generating DEFAULT presets
- repairMenu has bad reference to getmainrepairmenu
FIXED
- PIN change verification not functional
- Multi-Language support added to menu. All strings/messages outsourced to dedicated file. MakeFile adapted
- Multi-Language support added to menu. All strings/messages outsourced to dedicated file. MakeFile adapted
- NumberOfStages Macro for presets not implemented well. It will be ignored when generating DEFAULT presets

View File

@@ -55,38 +55,49 @@ ErrorStatus RepairPreset_generateDefaultPreset(struct RepairPreset* self, unsign
{
ErrorStatus returnValue = SUCCESS;
int loopCounter;
if (presetNumber <= REPAIR_PRESET_MAX_ONE_STAGE_PRESETS)
{
self->numberOfStages = 1;
self->numberOfStages = 1;
}
else
{
// TELSA PCBA does not need multiple stages
if (PCBA_getInstance()->pcba == PCBA_Tesla)
{
self->numberOfStages = 1;
self->numberOfStages = 1;
}
else
{
self->numberOfStages = 2;
self->numberOfStages = REPAIR_PRESET_MAX_STAGES;
}
}
self->presetNumber = presetNumber;
self->preset[0].softstartDuration = 1800;
self->preset[0].duration = 28800;
self->presetNumber = presetNumber;
self->preset[0].softstartDuration = 1800;
self->preset[0].duration = 28800;
if (PCBA_getInstance()->pcba == PCBA_CathodeMCP)
{
self->preset[0].voltage = -1000;
self->preset[1].voltage = -1000;
for (loopCounter = 0; loopCounter < self->numberOfStages; loopCounter++)
{
self->preset[loopCounter].softstartDuration = 1800;
self->preset[loopCounter].duration = 28800;
self->preset[loopCounter].voltage = -1000;
}
}
else
{
self->preset[0].voltage = 1000;
self->preset[1].voltage = 1000;
for (loopCounter = 0; loopCounter < self->numberOfStages; loopCounter++)
{
self->preset[loopCounter].softstartDuration = 1800;
self->preset[loopCounter].duration = 28800;
self->preset[0].voltage = 1000;
}
}
// Generate dummy presets to fill the memory
self->preset[1].softstartDuration = 1800;
self->preset[1].duration = 28800;
return returnValue;
}

View File

@@ -70,27 +70,34 @@ ErrorStatus SignalProfileGenerator_construct(struct SignalProfileGenerator* self
if (!self->initialized)
{
self->secondsCounter = 0;
self->currentPresetIndex = 0;
self->currentState = SPG_PREPARE;
self->initialized = true;
self->isProcessRunning = false;
self->repairPreset = preset;
self->signal = 0;
self->statePriorToPause = SPG_PREPARE;
self->totalRunTime = 0;
self->totalStartTime = 0;
if (preset != NULL)
{
self->secondsCounter = 0;
self->currentPresetIndex = 0;
self->currentState = SPG_PREPARE;
self->initialized = true;
self->isProcessRunning = false;
self->repairPreset = preset;
self->signal = 0;
self->statePriorToPause = SPG_PREPARE;
self->totalRunTime = 0;
self->totalStartTime = 0;
self->pauseSoftStartTimer = 0;
self->pauseStartTime = 0;
self->pauseStartVoltage = 0;
self->pauseSoftStartTimer = 0;
self->pauseStartTime = 0;
self->pauseStartVoltage = 0;
self->softStartTimer = 0;
self->startTime = 0;
self->startVoltage = 0;
self->softStartTimer = 0;
self->startTime = 0;
self->startVoltage = 0;
self->voltageHoldTimer = 0;
self->voltagePriorToPause = 0;
self->voltageHoldTimer = 0;
self->voltagePriorToPause = 0;
}
else
{
returnValue = ERROR;
}
}
else
@@ -109,7 +116,6 @@ void SignalProfileGenerator_destruct(struct SignalProfileGenerator* self)
void SignalProfileGenerator_calculate(struct SignalProfileGenerator* self)
{
if (self->initialized)
{