- Added WARNING handler - put voltage calculations to dedicated module fixed last errors. Updated menu repair screen without ERROR from PID This is version 0.9.0.3, which is used for the first duration test Will also be tagged git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@272 05563f52-14a8-4384-a975-3d1654cca0fa
119 lines
3.3 KiB
C
119 lines
3.3 KiB
C
// -----------------------------------------------------------------------------
|
|
/// @file SignalProfileGenerator.h
|
|
/// @brief File description
|
|
// -----------------------------------------------------------------------------
|
|
// Micro-Key bv
|
|
// Industrieweg 28, 9804 TG Noordhorn
|
|
// Postbus 92, 9800 AB Zuidhorn
|
|
// The Netherlands
|
|
// Tel: +31 594 503020
|
|
// Fax: +31 594 505825
|
|
// Email: support@microkey.nl
|
|
// Web: www.microkey.nl
|
|
// -----------------------------------------------------------------------------
|
|
/// $Revision$
|
|
/// $Author$
|
|
/// $Date$
|
|
// (c) 2015 Micro-Key bv
|
|
// -----------------------------------------------------------------------------
|
|
|
|
/// @defgroup {group_name} {group_description}
|
|
/// Description
|
|
|
|
/// @file SignalProfileGenerator.h
|
|
/// @ingroup {group_name}
|
|
|
|
#ifndef INC_SIGNALPROFILEGENERATOR_H_
|
|
#define INC_SIGNALPROFILEGENERATOR_H_
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Include files
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include "stm32f10x.h"
|
|
|
|
#include "RepairPreset.h"
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Constant and macro definitions
|
|
// -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Type definitions.
|
|
// -----------------------------------------------------------------------------
|
|
|
|
typedef enum
|
|
{
|
|
SPG_PREPARE = 0,
|
|
SPG_SOFTSTART,
|
|
SPG_VOLTAGE_HOLD,
|
|
SPG_PAUSE,
|
|
SPG_PAUSE_RESTORE,
|
|
SPG_PAUSE_RESTORE_SOFTSTART,
|
|
SPG_FINISH_VERIFY,
|
|
SPG_FINISHED
|
|
} RepairState;
|
|
|
|
struct SignalProfileGenerator
|
|
{
|
|
bool initialized;
|
|
int signal;
|
|
uint32_t secondsCounter;
|
|
RepairState currentState;
|
|
|
|
int startVoltage;
|
|
uint32_t startTime;
|
|
uint32_t softStartTimer;
|
|
uint32_t voltageHoldTimer;
|
|
uint32_t totalStartTime;
|
|
uint32_t totalRunTime;
|
|
|
|
int pauseStartVoltage;
|
|
uint32_t pauseStartTime;
|
|
uint32_t pauseSoftStartTimer;
|
|
RepairState statePriorToPause;
|
|
int voltagePriorToPause;
|
|
//
|
|
bool isProcessRunning;
|
|
|
|
int currentPresetIndex;
|
|
const struct RepairPreset* repairPreset;
|
|
};
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Function declarations
|
|
// -----------------------------------------------------------------------------
|
|
|
|
|
|
extern ErrorStatus SignalProfileGenerator_construct(struct SignalProfileGenerator* self, const struct RepairPreset* preset);
|
|
|
|
|
|
extern void SignalProfileGenerator_destruct(struct SignalProfileGenerator* self);
|
|
|
|
|
|
extern void SignalProfileGenerator_calculate(struct SignalProfileGenerator* self);
|
|
|
|
|
|
extern void SignalProfileGenerator_pause(struct SignalProfileGenerator* self);
|
|
|
|
|
|
extern bool SignalProfileGenerator_isPaused(struct SignalProfileGenerator* self);
|
|
|
|
|
|
extern bool SignalProfileGenerator_isFinished(struct SignalProfileGenerator* self);
|
|
|
|
|
|
extern void SignalProfileGenerator_continue(struct SignalProfileGenerator* self);
|
|
|
|
|
|
extern uint32_t SignalProfileGenerator_getRemainingTime(const struct SignalProfileGenerator* self);
|
|
|
|
|
|
extern uint32_t SignalProfileGenerator_getTotalRepairTime(const struct SignalProfileGenerator* self);
|
|
#endif /* INC_SIGNALPROFILEGENERATOR_H_ */
|