Files
ISTTOK/epics/css/sys-mng-opi/CSS/MARTe/GAMs/isttokbiblio/TimeWindowsGAM.h
2019-10-21 16:02:55 +01:00

129 lines
2.9 KiB
C++

/*
* File: LookupTable.h
* Author: ivoc, ipfn
*
* Created on August 26, 2010
* last modified on August 26, 2010
* version: 0.1
*/
#ifndef _TIMEWINDOWSGAM_H
#define _TIMEWINDOWSGAM_H
//#include <dirent.h>
#include "DDBInputInterface.h"
#include "DDBOutputInterface.h"
#include "HtmlStream.h"
#include "GAM.h"
#include "IntegerSequentialControl.h"
OBJECT_DLL(TimeWindowsGAM)
class TimeWindowsGAM : public GAM, public HttpInterface {
private:
DDBInputInterface *SignalsInputInterface;
DDBOutputInterface *SignalsOutputInterface;
struct InputInterfaceStruct {
float PlasmaCurrent;
int usecTime;
int InSaturation;
int SlowStopBool;
int HardStopBool;
};
struct OutputInterfaceStruct {
int PrimaryWaveformMode;
int HorizontalWaveformMode;
int VerticalWaveformMode;
int usecDischargeTime;
int PlasmaDirection;
int DischargeStatus;
int ToroidalMode;
int ToroidalStatus;
int PuffingMode;
int PuffingStatus;
};
IntegerSequentialControl *vertical_positive_timewindows;
IntegerSequentialControl *horizontal_positive_timewindows;
IntegerSequentialControl *primary_positive_timewindows;
IntegerSequentialControl *vertical_negative_timewindows;
IntegerSequentialControl *horizontal_negative_timewindows;
IntegerSequentialControl *primary_negative_timewindows;
int usec_pre_pulse_time;
int last_dischage_status;
int last_plasma_direction;
int maximum_inversion_usectime;
int usectime_to_wait_for_starting_operation;
int time_between_online_and_discharge;
int saved_usec_time;
int n_cycles_temp;
int initial_online_time;
int apagar_depois_time_between_pre_and_shot;
bool in_positive_breakdown_scenario;
bool in_negative_breakdown_scenario;
bool in_inversion_from_positive_to_negative_scenario;
bool in_inversion_from_negative_to_positive_scenario;
bool power_supplies_started;
bool end_discharge_after_unsuccess_bool;
bool auto_breakdown;
int usecthread_cycle_time;
// FString Directory;
float discharge_time;
int number_of_cycles;
bool first_cycle_positive_bool;
// positive_time_windows
int positive_number_of_time_windows;
float *positive_time_windows_values;
int *corrected_positive_time_windows_values;
int *positive_primary_mode;
int *positive_horizontal_mode;
int *positive_vertical_mode;
// negative_time_windows
int negative_number_of_time_windows;
float *negative_time_windows_values;
int *corrected_negative_time_windows_values;
int *negative_primary_mode;
int *negative_horizontal_mode;
int *negative_vertical_mode;
int puffing_mode;
bool puffing_in_timewindows_mode;
bool view_input_variables;
public:
// Default constructor
TimeWindowsGAM();
// Destructor
virtual ~TimeWindowsGAM();
// Initialise the module
virtual bool Initialise(ConfigurationDataBase& cdbData);
// Execute the module functionalities
virtual bool Execute(GAM_FunctionNumbers functionNumber);
virtual bool ProcessHttpMessage(HttpStream &hStream);
OBJECT_DLL_STUFF(TimeWindowsGAM)
};
#endif