Files
hsb/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/inc/SignalProfileGenerator.h
dvl 41ebc02741 Doxygen update
git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@426 05563f52-14a8-4384-a975-3d1654cca0fa
2018-01-15 09:09:09 +00:00

122 lines
3.4 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
// -----------------------------------------------------------------------------
/**
* SignalProfileGenerator implementation
* \defgroup SignalProfileGenerator Package SignalProfileGenerator
* \ingroup hsb-mrts
* @{
*/
#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_ */
/** @} */