source: Sophya/trunk/Poubelle/archTOI.old/toillreglageproducer.cc@ 671

Last change on this file since 671 was 534, checked in by ansari, 26 years ago

V2

File size: 5.0 KB
Line 
1// toillreglageproducer.cc
2// Eric Aubourg CEA/DAPNIA/SPP septembre 1999
3
4#include "toillreglageproducer.h"
5#include "archfileset.h"
6#include "toimanager.h"
7#include "requesthandler.h"
8
9// horloge
10#define horlPeriode "horlPeriode"
11#define horlNbMesures "horlNbMesures"
12#define horlTempMort "horlTempMort"
13#define horlFlag "horlFlag"
14
15// regul_bolo
16#define regMode "regMode" // index regul
17#define regNumBolo "regNumBolo"
18#define regVoieChauf "regVoieChauf"
19#define regProp "regProp"
20#define regInteg "regInteg"
21#define regDeriv "regDeriv"
22#define regChauffage "regChauffage"
23
24// auto_bolo
25#define autoBolMode "autoBolMode" // index voie
26#define autoBolGain "autoBolGain"
27#define autoBolCourant "autoBolCourant"
28#define autoBolDelai "autoBolDelai"
29
30// auto_dilu
31#define autoDilVanne "autoDilVanne"
32#define autoDilHelium "autoDilHelium"
33#define autoDilChauff "autoDilChauff"
34#define autoDilPiles "autoDilPiles"
35#define autoDilTrans "autoDilTrans"
36#define autoDilTMxVan "autoDilTMxVan"
37#define autoDilxx7 "autoDilxx7"
38#define autoDilxx8 "autoDilxx8"
39
40// reglage_un_bolo
41#define boloDACV "boloDACV" // index bolo
42#define boloDACI "boloDACI"
43
44
45TOILLReglageProducer::TOILLReglageProducer()
46{
47 possibleTOIs.insert(TOI(horlPeriode, TOI::unspec, "", "CHAR-CODED"));
48 possibleTOIs.insert(TOI(horlNbMesures, TOI::unspec, "", "CHAR-CODED"));
49 possibleTOIs.insert(TOI(horlTempMort, TOI::unspec, "", "CHAR-CODED"));
50 possibleTOIs.insert(TOI(horlFlag, TOI::unspec, "", "CHAR-CODED"));
51
52 possibleTOIs.insert(TOI(regMode, TOI::all, "", "CHAR-CODED"));
53 possibleTOIs.insert(TOI(regNumBolo, TOI::all, "", "CHAR-CODED"));
54 possibleTOIs.insert(TOI(regVoieChauf, TOI::all, "", "CHAR-CODED"));
55 possibleTOIs.insert(TOI(regProp, TOI::all, "", "CHAR-CODED"));
56 possibleTOIs.insert(TOI(regInteg, TOI::all, "", "CHAR-CODED"));
57 possibleTOIs.insert(TOI(regDeriv, TOI::all, "", "CHAR-CODED"));
58 possibleTOIs.insert(TOI(regChauffage, TOI::all, "", "CHAR-CODED"));
59
60 possibleTOIs.insert(TOI(autoBolMode, TOI::all, "", "CHAR-CODED"));
61 possibleTOIs.insert(TOI(autoBolGain, TOI::all, "", "CHAR-CODED"));
62 possibleTOIs.insert(TOI(autoBolCourant,TOI::all, "", "CHAR-CODED"));
63 possibleTOIs.insert(TOI(autoBolDelai, TOI::all, "", "CHAR-CODED"));
64
65 possibleTOIs.insert(TOI(autoDilVanne, TOI::unspec, "", "CHAR-CODED"));
66 possibleTOIs.insert(TOI(autoDilHelium, TOI::unspec, "", "CHAR-CODED"));
67 possibleTOIs.insert(TOI(autoDilChauff, TOI::unspec, "", "CHAR-CODED"));
68 possibleTOIs.insert(TOI(autoDilPiles, TOI::unspec, "", "CHAR-CODED"));
69 possibleTOIs.insert(TOI(autoDilTrans, TOI::unspec, "", "CHAR-CODED"));
70 possibleTOIs.insert(TOI(autoDilTMxVan, TOI::unspec, "", "CHAR-CODED"));
71 possibleTOIs.insert(TOI(autoDilxx7, TOI::unspec, "", "CHAR-CODED"));
72 possibleTOIs.insert(TOI(autoDilxx8, TOI::unspec, "", "CHAR-CODED"));
73
74 possibleTOIs.insert(TOI(boloDACV, TOI::all, "", "microVolts"));
75 possibleTOIs.insert(TOI(boloDACI, TOI::all, "", "microAmps"));
76}
77
78string TOILLReglageProducer::getName() {
79 return("TOILLReglageProducer 1.0");
80}
81
82
83
84#define COMPTOI(_toi_, _field_) \
85 if ((*i).name == _toi_) { \
86 computedValue((*i),sample0, blk->reglage._field_); \
87 }
88
89void TOILLReglageProducer::handleBlock(ArchFileSet* fs)
90{
91 block_type_reglage* blk = fs->lastReglage();
92 long sample0 = numero_block(blk)*72;
93 for (set<TOI>::iterator i = producedTOIs.begin(); i != producedTOIs.end(); i++) {
94 int k = (*i).index;
95 COMPTOI(horlPeriode, horloge.periode) else
96 COMPTOI(horlNbMesures, horloge.nb_mesures) else
97 COMPTOI(horlTempMort, horloge.temp_mort) else
98 COMPTOI(horlFlag, horloge.flag) else
99 COMPTOI(regMode, regul[k].mode) else
100 COMPTOI(regNumBolo, regul[k].num_bolo) else
101 COMPTOI(regVoieChauf, regul[k].voie_chauf) else
102 COMPTOI(regProp, regul[k].prop) else
103 COMPTOI(regInteg, regul[k].integ) else
104 COMPTOI(regDeriv, regul[k].deriv) else
105 COMPTOI(regChauffage, regul[k].chauffage) else
106 COMPTOI(autoBolMode, autom[k].mode) else
107 COMPTOI(autoBolGain, autom[k].gain) else
108 COMPTOI(autoBolCourant, autom[k].courant) else
109 COMPTOI(autoBolDelai, autom[k].delai) else
110 COMPTOI(autoDilVanne, dilu.vanne) else
111 COMPTOI(autoDilHelium, dilu.helium) else
112 COMPTOI(autoDilChauff, dilu.chauffage) else
113 COMPTOI(autoDilPiles, dilu.piles) else
114 COMPTOI(autoDilTrans, dilu.transmission) else
115 COMPTOI(autoDilTMxVan, dilu.temps_max_vanne) else
116 COMPTOI(autoDilxx7, dilu.xx7) else
117 COMPTOI(autoDilxx8, dilu.xx8) else
118 if ((*i).name == boloDACV) {
119 computedValue((*i), sample0, DAC_muV(&fs->lastParam()->param, &blk->reglage, k));
120 } else
121 if ((*i).name == boloDACI) {
122 computedValue((*i), sample0, DAC_muA(&fs->lastParam()->param, &blk->reglage, k));
123 }
124 }
125}
126
127
128
Note: See TracBrowser for help on using the repository browser.