Files
hsb/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/inc/SignalProfileGenerator.h
mmi 27755498e6 - Moved the menu texts to dedicated file to support future language switch option
- split the menu into core, elements as generic modules

git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@270 05563f52-14a8-4384-a975-3d1654cca0fa
2017-11-03 08:07:27 +00:00

111 lines
3.1 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;
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 void SignalProfileGenerator_continue(struct SignalProfileGenerator* self);
extern uint32_t SignalProfileGenerator_getRemainingTime(const struct SignalProfileGenerator* self);
#endif /* INC_SIGNALPROFILEGENERATOR_H_ */