Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
ICE-Application/src/ConfigurationHandler/ConfigurationHandler.h
- Committer:
- jmarkel44
- Date:
- 2017-01-24
- Revision:
- 0:61364762ee0e
File content as of revision 0:61364762ee0e:
/****************************************************************************** * * File: ConfigurationHandler.h * Desciption: interface file for the ICE Configuration Handler * *****************************************************************************/ #ifndef CONFIGURATIONHANDLER_H #define CONFIGURATIONHANDLER_H #include "./Controls/SetpointControl.h" #include "./Controls/TimerControl.h" #include "./Controls/ManualControl.h" #include "./Controls/CompositeControl.h" #include "./Controls/PIDControl.h" #include "./Controls/FailsafeControl.h" #include "./Controls/SensorErrorControl.h" #include "./Controls/SequenceControl.h" #include "./Algorithms/CompositeAlgorithm.h" #include <map> // file naming prefix conventions #define CONTROL_SP_STR "control_sp_" #define CONTROL_TM_STR "control_tm_" #define CONTROL_MN_STR "control_mn_" #define CONTROL_COMP_STR "control_comp_" #define CONTROL_CA_STR "control_ca_" #define CONTROL_FS_STR "control_fs_" #define CONTROL_SE_STR "control_se_" #define CONTROL_PID_STR "control_pid_" #define CONTROL_ADM_STR "control_adm_" #define CONTROL_SEQ_STR "control_seq_" #define VIRTUAL_OUTPUT_PREFIX "v_" typedef struct va_tag { std::string tag; std::string opr; std::string op; } VirtualAlgorithm; void ConfigurationHandler(void const *args); // Public APIs void ConfigurationHandler_showControls(void); void ConfigurationHandler_showAlgorithms(void); void ConfigurationHandler_showTimerControls(void); void ConfigurationHandler_showManualControls(void); void ConfigurationHandler_showSetpointControls(void); void ConfigurationHandler_showCompositeControls(void); void ConfigurationHandler_showFailsafeControls(void); void ConfigurationHandler_showSensorErrorControls(void); void ConfigurationHandler_showSequenceControls(void); // map["control_sp_1.json"] : setpointControl typedef std::map<std::string, SetpointControl*> StringSetpointMap; // map["control_tm_rly01.json"] : timerControl typedef std::map<std::string, TimerControl*> StringTimerMap; //map["control_mn_1.json"] : manualControl typedef std::map<std::string, ManualControl*> StringManualMap; // map["control_pid_1.json"] : PIDControl //typedef std::map<std::string, PIDControl *> StringPIDMap; // map["control_cmp_1.json"] : compositeControl typedef std::map<std::string, CompositeControl*> StringCompositeMap; // map["control_fs_rly1.json"] : failsafeControl typedef std::map<std::string, FailsafeControl*> StringFailsafeMap; // map["control_se_bdcond.json"] : sensorErrorControl typedef std::map<std::string, SensorErrorControl*> StringSensorErrorMap; // map["EQUAL_TO_1"].<operands stucture> typedef std::map<std::string, CompositeAlgorithm *> StringAlgorithmMap; // map["control_seq_slug.json"] : sequenceControl typedef std::map<std::string, SequenceControl *> StringSequenceMap; extern StringSetpointMap setpointTable; extern StringTimerMap timerTable; extern StringManualMap manualTable; //extern StringPIDMap PIDTable; extern StringCompositeMap compositeTable; extern StringAlgorithmMap algorithmTable; extern StringFailsafeMap failsafeTable; extern StringSensorErrorMap sensorErrorTable; extern StringSequenceMap sequenceTable; extern Mutex manual_mutex; extern Mutex setpoint_mutex; extern Mutex timer_mutex; extern Mutex failsafe_mutex; extern Mutex sensorError_mutex; extern Mutex composite_mutex; extern Mutex sequence_mutex; #endif