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.
Dependencies: NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed
Fork of ICE by
src/ConfigurationHandler/ConfigurationHandler.h@221:2a5e9902003c, 2016-10-14 (annotated)
- Committer:
- jmarkel44
- Date:
- Fri Oct 14 21:30:21 2016 +0000
- Revision:
- 221:2a5e9902003c
- Parent:
- 220:dbe21411f962
- Child:
- 250:1cd8ec63e9e9
composite control and composite algorithm implementation
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jmarkel44 | 0:65cfa4873284 | 1 | /****************************************************************************** |
jmarkel44 | 0:65cfa4873284 | 2 | * |
jmarkel44 | 0:65cfa4873284 | 3 | * File: ConfigurationHandler.h |
jmarkel44 | 0:65cfa4873284 | 4 | * Desciption: interface file for the ICE Configuration Handler |
jmarkel44 | 0:65cfa4873284 | 5 | * |
jmarkel44 | 0:65cfa4873284 | 6 | *****************************************************************************/ |
jmarkel44 | 0:65cfa4873284 | 7 | #ifndef CONFIGURATION_HANDLER_H |
jmarkel44 | 0:65cfa4873284 | 8 | #define CONFIGURATION_HANDLER_H |
jmarkel44 | 0:65cfa4873284 | 9 | |
jmarkel44 | 46:4cb96ab2d1c8 | 10 | #include "SetpointControl.h" |
jmarkel44 | 46:4cb96ab2d1c8 | 11 | #include "TimerControl.h" |
jmarkel44 | 97:5cf6ab71dcd0 | 12 | #include "ManualControl.h" |
jmarkel44 | 220:dbe21411f962 | 13 | #include "CompositeControl.h" |
jmarkel44 | 221:2a5e9902003c | 14 | #include "CompositeAlgorithm.h" |
jmarkel44 | 46:4cb96ab2d1c8 | 15 | #include <map> |
jmarkel44 | 46:4cb96ab2d1c8 | 16 | |
jmarkel44 | 221:2a5e9902003c | 17 | typedef struct va_tag { |
jmarkel44 | 221:2a5e9902003c | 18 | std::string tag; |
jmarkel44 | 221:2a5e9902003c | 19 | std::string opr; |
jmarkel44 | 221:2a5e9902003c | 20 | std::string op; |
jmarkel44 | 221:2a5e9902003c | 21 | } VirtualAlgorithm; |
jmarkel44 | 221:2a5e9902003c | 22 | |
jmarkel44 | 221:2a5e9902003c | 23 | |
jmarkel44 | 0:65cfa4873284 | 24 | void ConfigurationHandler(void const *args); |
jmarkel44 | 221:2a5e9902003c | 25 | |
jmarkel44 | 221:2a5e9902003c | 26 | // APIs |
jmarkel44 | 12:ea87887ca7ad | 27 | void ConfigurationHandler_showControls(void); |
jmarkel44 | 221:2a5e9902003c | 28 | void ConfigurationHandler_showAlgorithms(void); |
jmarkel44 | 12:ea87887ca7ad | 29 | |
jmarkel44 | 156:44f87c5a83ae | 30 | // map["control_sp_1.json"] : setpointControl |
jmarkel44 | 46:4cb96ab2d1c8 | 31 | typedef map<string, SetpointControl*> StringSetpointMap; |
jmarkel44 | 156:44f87c5a83ae | 32 | |
jmarkel44 | 156:44f87c5a83ae | 33 | // map["o_rly1"] : vector<TimerControl>.first |
jmarkel44 | 156:44f87c5a83ae | 34 | // vector<TimerControl>.second |
jmarkel44 | 156:44f87c5a83ae | 35 | // map["o_rly2"] : vector<TimerControl>.first |
jmarkel44 | 156:44f87c5a83ae | 36 | typedef map<string, vector<TimerControl*> > StringVectorTimerMap; |
jmarkel44 | 156:44f87c5a83ae | 37 | |
jmarkel44 | 156:44f87c5a83ae | 38 | //map["control_mn_1.json"] : manualControl |
jmarkel44 | 97:5cf6ab71dcd0 | 39 | typedef map<string, ManualControl*> StringManualMap; |
jmarkel44 | 46:4cb96ab2d1c8 | 40 | |
jmarkel44 | 221:2a5e9902003c | 41 | // map["control_cmp_1.json"] : compositeControl |
jmarkel44 | 220:dbe21411f962 | 42 | typedef map<string, CompositeControl*> StringCompositeMap; |
jmarkel44 | 220:dbe21411f962 | 43 | |
jmarkel44 | 221:2a5e9902003c | 44 | // map["EQUAL_TO_1"].<operands stucture> |
jmarkel44 | 221:2a5e9902003c | 45 | typedef map<string, CompositeAlgorithm *> StringAlgorithmMap; |
jmarkel44 | 221:2a5e9902003c | 46 | |
jmarkel44 | 156:44f87c5a83ae | 47 | extern StringSetpointMap setpointTable; |
jmarkel44 | 220:dbe21411f962 | 48 | extern StringVectorTimerMap timerTable; |
jmarkel44 | 156:44f87c5a83ae | 49 | extern StringManualMap manualTable; |
jmarkel44 | 221:2a5e9902003c | 50 | extern StringCompositeMap compositeTable; |
jmarkel44 | 221:2a5e9902003c | 51 | extern StringAlgorithmMap algorithmTable; |
jmarkel44 | 0:65cfa4873284 | 52 | |
jmarkel44 | 0:65cfa4873284 | 53 | #endif |