/[PAMELA software]/quicklook/dataToXML/Data/compilationInfo/src/INFN/PRH_ParamHandler_INFN.c
ViewVC logotype

Annotation of /quicklook/dataToXML/Data/compilationInfo/src/INFN/PRH_ParamHandler_INFN.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (hide annotations) (download) (vendor branch)
Tue Apr 25 09:00:20 2006 UTC (19 years, 2 months ago) by kusanagi
Branch: MAIN
CVS Tags: dataToXML1_02/01, dataToXML1_02/00, dataToXML1_03/00, dataToXML1_03/01, dataToXML1_00/00, firstRelease, dataToXML1_01/00, dataToXML1_03_02, HEAD
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
These program extract in an XML format the info contained into the ROOT files generated by YODA from the PAMELA data. To visualize the XML files in a more human readable format a collection of XSL files are given in the Data subfolder.

1 kusanagi 1.1 /****************************************************************************
2     * F i l e D a t a
3     * $Id: PRH_ParamHandler_INFN.c,v 1.34 2005/03/20 18:23:41 sebastiani Exp $
4     * $Revision: 1.34 $
5     * $Date: 2005/03/20 18:23:41 $
6     * $RCSfile: PRH_ParamHandler_INFN.c,v $
7     *
8     ****************************************************************************
9     * S W D e v e l o p m e n t E n v i r o n m e n t
10     *
11     * $Author: sebastiani $
12     * :
13     ****************************************************************************
14     * U p d a t i n g
15     *
16     * $Log: PRH_ParamHandler_INFN.c,v $
17     * Revision 1.34 2005/03/20 18:23:41 sebastiani
18     * WS_2_ReadWS2Tables introeduced in PRH_Init
19     *
20     * Revision 1.33 2005/03/06 14:54:46 sebastiani
21     * version running on 06 03 2005
22     *
23     * Revision 1.32 2005/02/21 08:58:29 sebastiani
24     * all log comments completed
25     *
26     * Revision 1.31 2005/02/19 10:19:38 sebastiani
27     * ALM_S4_CALIB_00_HARD,ALM_S4_CALIB_00_SOFT,ALM_S4_128TRIGGER_0 added
28     *
29     * Revision 1.30 2005/01/26 18:46:48 sebastiani
30     * new bug fixes for WS
31     *
32     * Revision 1.29 2004/09/28 15:36:25 sebastiani
33     * interrupt manager fix
34     *
35     * Revision 1.28 2004/09/17 15:01:00 faber
36     * LU_INFN_LOG flags fixing
37     *
38     * Revision 1.27 2004/09/14 15:07:08 faber
39     * New development for TimeSync, managed by interrupt. coding completed but never tested.
40     *
41     * Revision 1.26 2004/08/02 09:28:29 faber
42     * Stamp management into SMH_SetParam
43     * TS_PamManger TM_RMTest moved respectively into PM and RM as PM_MCMDTest and
44     * RM_MCMDTEst. TS_Test_INFN.c will be deleted soon.
45     *
46     * Revision 1.25 2004/07/20 08:58:00 faber
47     * simulator mode for EEPROM procedures
48     *
49     * Revision 1.24 2004/07/12 09:51:49 faber
50     * external_data dir added with all commands inside. tgz creation rules remove.
51     * AUTO mode introduced:
52     *
53     * Revision 1.23 2004/07/02 15:36:50 faber
54     * *** empty log message ***
55     *
56     * Revision 1.22 2004/06/30 07:26:52 sebastiani
57     * TOF fixing,WS fixing
58     *
59     * Revision 1.21 2004/06/22 09:34:52 faber
60     * *** empty log message ***
61     *
62     * Revision 1.20 2004/06/16 09:35:13 faber
63     * *** empty log message ***
64     *
65     * Revision 1.19 2004/06/15 08:20:11 sebastiani
66     * gen_params.pl
67     *
68     * Revision 1.18 2004/06/09 11:23:22 alfarano
69     * EEPROM Formatting/Checking/Reading/writing functions. not tested
70     *
71     * Revision 1.17 2004/06/08 14:02:43 alfarano
72     * eeprom functions
73     *
74     * Revision 1.16 2004/06/03 08:19:23 faber
75     * compilation check about PARAM_ID == 0
76     *
77     * Revision 1.15 2004/05/28 10:26:11 alfarano
78     * PARAM_ID introduced in order to check if param.pl has changed. Safe eeprom read assured.
79     *
80     * Revision 1.14 2004/05/13 10:47:17 faber
81     * hid the HB_Store funcion in favour of wrapped funcions
82     *
83     * Revision 1.13 2004/05/12 14:46:14 faber
84     * *** empty log message ***
85     *
86     * Revision 1.12 2004/03/03 11:25:59 tassa
87     * send idaqmcmd tested
88     *
89     * Revision 1.11 2004/02/26 11:27:30 faber
90     * PARAMGEN for array/tab/direct idaq command introduced. first implementation. never tested
91     *
92     * Revision 1.10 2004/02/17 12:34:51 faber
93     * USERDATA2BUF USERDATA2{ARR,TAB} introduced with CRC.
94     * Never tested.
95     * Some adjustment in Logging in SHM module
96     *
97     * Revision 1.9 2004/02/10 16:48:28 faber
98     * *** empty log message ***
99     *
100     * Revision 1.8 2004/01/22 10:10:25 faber
101     * *** empty log message ***
102     *
103     * Revision 1.7 2003/10/17 10:09:27 sebastiani
104     * PRH_ENABLE_EEPROM_SAVE introduced, scan of the select mode bugfix
105     *
106     * Revision 1.6 2003/09/24 14:20:28 carota
107     * fix: SMH_GETPTR_BODYAREA call
108     *
109     * Revision 1.5 2003/09/24 14:08:46 faber
110     * fix: CurPtr+=2 after SHM_GETPTR_BODYAREA in PRH_SetParam
111     *
112     * Revision 1.4 2003/09/22 09:59:35 faber
113     * new select mode definitions
114     *
115     * Revision 1.3 2003/09/19 15:57:35 faber
116     * Large development update INFN software
117     *
118     * Revision 1.2 2003/09/12 10:57:41 faber
119     * development in proress (Working schedule module)
120     *
121     * Revision 1.1.1.1 2003/08/04 09:40:22 sebastiani
122     * Imported sources laben rel. 19.06.2003 integrated with pam2
123     *
124     * Revision 1.1 2003/07/18 13:35:10 sebastiani
125     * PRH_ParamHandler_INFN_int.c sobstitues PRH_ParamHandler_INFN_*.*
126     * introduced DAQTEST directive
127     *
128     *
129     *****************************************************************************/
130    
131    
132     /*============================= Include File ================================*/
133    
134     #include <src/INFN/LU_SourceFileID_INFN.h>
135     #define __FILEID__ _PRH_ParamHandler_INFN__c
136     #include <src/INFN/LU_LogUtility_INFN.h>
137     #include <src/INFN/PRH_ParamHandler_INFN_auto.h>
138     LU_DECL_MASK();
139    
140    
141     #include <src/MCMDManager/MCMDArea/MA_MCMDArea_p.h>
142     #include <src/BasicSW/RTEMSInterface/OS_rtems_p.h>
143    
144     #include <src/INFN/SMH_SelectModeHandler_INFN.h>
145    
146     #include <src/INFN/PRH_ParamHandler_INFN.h>
147     #include <src/INFN/PRH_ParamHandler_INFN_auto.h>
148     #include <src/INFN/PRH_ParamHandler_INFN_autopri.h>
149     #include <src/INFN/MH_ModeHandler_INFN.h>
150     #include <src/INFN/PM_PamManager_INFN.h>
151     #include <src/INFN/HB_HKBuffer_INFN.h>
152     #include <src/INFN/PRH_Stamp.h>
153     #include <src/BasicSW/PatchDumpManager/PD_PatchDumpManager_int.h>
154     #include <src/INFN/WS_WorkingSchedule_INFN.h>
155    
156     #define PRH_IS_STAMP_OK (PRH_CurrentStamp == PRH_STAMP)
157     static UINT32 PRH_CurrentStamp;
158    
159     /*============================ Global define ================================*/
160    
161    
162    
163     /*============================== global types ==============================*/
164    
165    
166    
167     /*****************************************************************************/
168     /*=========================== Structure define ==============================*/
169    
170    
171     /*****************************************************************************/
172     /*============================ Enumerate define =============================*/
173    
174     /*****************************************************************************/
175    
176     /*****************************************************************************/
177    
178     /*=== Param Handler I N T E R N A L ==*/
179    
180     // special check for the Array param size of LOG_MASK
181    
182     #if PRH_ARR_N_LOG_MASK < LU_FILEID_N
183     #error "PRH_ARR_N_LOG_MASK > LU_FILEID_N !!! - check the size of LOG_MASK in param.pl"
184     #endif
185    
186    
187     /*****************************************************************************/
188    
189    
190     status_code PRH_Init() {
191     status_code status=SUCCESSFUL;
192     #ifndef SIMULATOR
193     PRH_CurrentStamp = *(UINT32*)PRH_EEPROM_STAMP;
194     #endif SIMULATOR
195     PRH_int_init_internal_structure();
196     #ifndef PRH_DEFAULT_MODE
197     status = PRH_ReadCurrentParam();
198     if(status != CM_RC_SUCCESSFUL){
199     /*@LOG PRH_Init: error reading CurrentParam */
200     LU_INFN_LOG(LU_WARNING|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,status);
201     status = PRH_ReadDefaultParam();
202     if(status != CM_RC_SUCCESSFUL){
203     /*@LOG PRH_Init: error reading DefaultParam */
204     LU_INFN_LOG(LU_WARNING|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,status);
205     }
206    
207     }
208     #endif
209    
210     status=WS_2_ReadWS2Tables();
211     if(status != CM_RC_SUCCESSFUL){
212     /*@LOG PRH_Init: error reading WS2 Tables */
213     LU_INFN_LOG(LU_WARNING|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,status);
214     WS_ZeroTableWS2();
215     }
216    
217     return status;
218     }
219    
220     status_code PRH_WriteAll2EEPROM(PRH_EEPROM_REGION region) {
221     unsigned int i;
222     BOOL old;
223     status_code s=CM_RC_SUCCESSFUL;
224     #ifndef SIMULATOR
225     /* TBD: some check for wrong writing here */
226     if (!PRH_IS_STAMP_OK)
227     {
228     /*@LOG WriteAll2EEPROM: Stamp is not ok */
229     LU_INFN_LOG(LU_WARNING|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,0);
230     return(CM_RC_BAD_EEPROM);
231     }
232    
233     /* disable automatic log to avoid looging of params not stored in eeprom */
234     old = PRH_int_get_automatic_log();
235    
236     PRH_int_set_automatic_log(FALSE);
237     /* write variables into eeprom: */
238     s = CM_RC_SUCCESSFUL;
239     for(i=0;i<PRH_VAR_MAX && s == CM_RC_SUCCESSFUL; i++)
240     {
241     s= PRH_int_var_write2eeprom(region,i);
242     if(s==CM_RC_VAR_NOT_IN_EEPROM)
243     s=CM_RC_SUCCESSFUL;
244     }
245     /*@LOG var eeprom write result - status*/
246     LU_INFN_LOG(LU_NORMAL_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,s);
247     /* write arrays into eeprom: */
248     for(i=0;i<PRH_ARR_MAX && s == CM_RC_SUCCESSFUL;i++)
249     {
250     s=PRH_int_arr_write2eeprom(region,i);
251     if(s==CM_RC_ARR_NOT_IN_EEPROM)
252     s=CM_RC_SUCCESSFUL;
253     }
254     /*@LOG arr eeprom write result - status*/
255     LU_INFN_LOG(LU_NORMAL_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,s);
256     /* wrtie tables into eeprom: */
257     for(i=0;i<PRH_TAB_MAX && s == CM_RC_SUCCESSFUL;i++)
258     {
259     s=PRH_int_tab_write2eeprom(region,i);
260     if(s==CM_RC_TAB_NOT_IN_EEPROM)
261     s=CM_RC_SUCCESSFUL;
262     }
263     /*@LOG tab eeprom write result - status*/
264     LU_INFN_LOG(LU_NORMAL_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,s);
265     /* set the old log mode for the PRH module: */
266     PRH_int_set_automatic_log(old);
267     if(s)
268     /*@LOG eeprom write error - status*/
269     LU_INFN_LOG(LU_NORMAL_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,s);
270     #endif // SIMULATOR
271     return s;
272     }
273    
274     status_code PRH_WriteEEPROMStamp(UINT32 stamp) {
275     #ifdef SIMULATOR
276     return CM_RC_SUCCESSFUL;
277     #else
278     return PRH_int_write_eeprom_and_check((void*)PRH_EEPROM_STAMP,(void*)&stamp,1);
279     #endif
280     }
281    
282     status_code PRH_WriteEEPROMBootinfo(UINT32 bootinfo) {
283     #ifdef SIMULATOR
284     return CM_RC_SUCCESSFUL;
285     #else
286     UINT32 eeprom_value;
287     status_code s;
288     s=PRH_ReadEEPROMBootinfo(&eeprom_value);
289     if(s != CM_RC_SUCCESSFUL)
290     return s;
291     if(eeprom_value != bootinfo)
292     return(PRH_IS_STAMP_OK ?
293     PRH_int_write_eeprom_and_check((void*)PRH_EEPROM_BOOTINFO,(void*)&bootinfo,1)
294     : CM_RC_BAD_EEPROM);
295     else
296     return CM_RC_SUCCESSFUL;
297     #endif
298     }
299    
300     status_code PRH_ReadEEPROMBootinfo(UINT32 *bootinfo) {
301     #ifndef SIMULATOR
302     if(PRH_IS_STAMP_OK)
303     *bootinfo = *(UINT32*)PRH_EEPROM_BOOTINFO;
304     else
305     return CM_RC_BAD_EEPROM;
306     #endif
307     return CM_RC_SUCCESSFUL;
308     }
309    
310    
311     status_code PRH_FormatEEPROM()
312     {
313     #ifndef SIMULATOR
314     #ifdef PRH_DEFAULT_MODE
315     status_code s;
316     if( (s = PRH_WriteEEPROMStamp(0)) != CM_RC_SUCCESSFUL )
317     return s;
318    
319     PRH_CurrentStamp = PRH_STAMP; // Force check to be OK
320    
321     if( (s = PRH_WriteEEPROMBootinfo(PRH_BOOTINFO_FORMAT)) != CM_RC_SUCCESSFUL)
322     return s;
323    
324     if( (s = PRH_WriteAll2EEPROM(PRH_EEPROM_CURRENT)) != CM_RC_SUCCESSFUL)
325     return s;
326    
327     if( (s = PRH_WriteAll2EEPROM(PRH_EEPROM_DEFAULT)) != CM_RC_SUCCESSFUL)
328     return s;
329    
330     //WS_ZeroTableWS2();
331     if( (s = WS_2_WriteWS2Tables()) != CM_RC_SUCCESSFUL)
332     return s;
333    
334     if( (s = PRH_WriteEEPROMStamp(PRH_STAMP)) != CM_RC_SUCCESSFUL)
335     return s;
336    
337     #endif
338     #endif
339     return CM_RC_SUCCESSFUL;
340     }
341    
342     status_code PRH_ReadCurrentParam()
343     {
344     #ifdef SIMULATOR
345     return CM_RC_SUCCESSFUL;
346     #else
347     return(PRH_ReadAllFromEEPROM(PRH_EEPROM_CURRENT));
348     #endif
349     }
350    
351     status_code PRH_WriteCurrentParam()
352     {
353     #ifdef SIMULATOR
354     return CM_RC_SUCCESSFUL;
355     #else
356     return(PRH_WriteAll2EEPROM(PRH_EEPROM_CURRENT));
357     #endif
358     }
359    
360     status_code PRH_ReadDefaultParam()
361     {
362     #ifdef SIMULATOR
363     return CM_RC_SUCCESSFUL;
364     #else
365     return(PRH_ReadAllFromEEPROM(PRH_EEPROM_DEFAULT));
366     #endif
367     }
368    
369    
370     status_code PRH_ReadWS2Tables(void *ws2table) {
371     if(PRH_IS_STAMP_OK)
372     #ifndef SIMULATOR
373     memcpy(ws2table,(void*)PRH_EEPROM_WS2TABLE,WS_2_TABLES_SIZE);
374     #endif
375     else
376     return CM_RC_BAD_EEPROM;
377     return CM_RC_SUCCESSFUL;
378     }
379    
380     status_code PRH_WriteWS2Tables(void *ws2table) {
381     #ifdef SIMULATOR
382     return CM_RC_SUCCESSFUL;
383     #else
384     return PRH_int_write_eeprom_and_check((void*)PRH_EEPROM_WS2TABLE,ws2table,WS_2_TABLES_DWORDS);
385     #endif
386     }
387    
388    
389     status_code PRH_ReadAllFromEEPROM(PRH_EEPROM_REGION region) {
390     #ifdef SIMULATOR
391     return CM_RC_SUCCESSFUL;
392     #else
393     unsigned int i;
394     status_code s;
395     BOOL old;
396    
397     if (!PRH_IS_STAMP_OK)
398     {
399     /*@LOG Stamp is not ok */
400     LU_INFN_LOG(LU_WARNING|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,0);
401     return(CM_RC_BAD_EEPROM);
402     }
403    
404     /* disable automatic log to avoid looging of params not stored in eeprom */
405     old = PRH_int_get_automatic_log();
406     PRH_int_set_automatic_log(FALSE);
407    
408    
409     /* read variables from eeprom: */
410     s = CM_RC_SUCCESSFUL;
411    
412     for(i=0;i<PRH_VAR_MAX &&(s == CM_RC_SUCCESSFUL || s == CM_RC_VAR_NOT_IN_EEPROM);i++)
413     s = PRH_int_var_read_eeprom(region,i);
414    
415     /* read arrays from eeprom: */
416     for(i=0;i<PRH_ARR_MAX && (s == CM_RC_SUCCESSFUL || s == CM_RC_ARR_NOT_IN_EEPROM);i++)
417     s = PRH_int_arr_read_eeprom(region,i);
418    
419     /* read tables from eeprom: */
420     for(i=0;i<PRH_TAB_MAX && (s == CM_RC_SUCCESSFUL || s == CM_RC_TAB_NOT_IN_EEPROM);i++)
421     s = PRH_int_tab_read_eeprom(region,i);
422    
423     /* set the old log mode for the PRH module: */
424     PRH_int_set_automatic_log(old);
425     return s;
426     #endif // SIMULATOR
427    
428     }
429    
430     status_code PRH_SetParam(BYTE mode, MA_HEADER_MCMD *headerMcmd) {
431     BYTE *CurPtr;
432     BYTE id,nvar,narr,ntab,i,idx,buf_no,type,tmp;
433     UINT16 h,l,c,r;
434     UINT16 woffset,wlen,len,crc;
435     UINT32 size,stamp;
436     PRH_VAR_TYPE varvalue;
437     HB_BUF bufid;
438     status_code s;
439     unsigned char offset;
440     BOOL old;
441     status_code err=SUCCESSFUL;
442     static unsigned int changed_var[256];
443     static unsigned int changed_arr[256];
444     static unsigned int changed_tab[256];
445     err = SUCCESSFUL;
446    
447     CurPtr = (BYTE*) SMH_GETPTR_SELECTMODEBODY(headerMcmd->PtrMCMD);
448    
449     CM_READ_BE_UINT32(CurPtr,stamp,tmp);
450    
451     if(stamp != PRH_STAMP) {
452     /*@LOG SetParam: Stamp is not ok - expected stamp */
453     LU_INFN_LOG(LU_DEBUG_TRACE,LU_MASK(__FILEID__),__FILEID__,__LINE__,PRH_STAMP);
454     /*@LOG SetParam: Stamp is not ok - macrocommand stamp */
455     LU_INFN_LOG(LU_WARNING|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,stamp);
456     return CM_RC_STAMP_ERROR;
457     }
458    
459     old=PRH_int_get_automatic_log();
460     PRH_int_set_automatic_log(FALSE);
461     type=SMH_INFN_SELECTMODE_GET_TYPE(mode);
462     switch (type) {
463     case SMH_SETPARAM_GEN:
464     {
465    
466     CM_READ_BE_UINT8(CurPtr,nvar);
467    
468     // handler var
469     for(i=0;i<nvar && err==SUCCESSFUL;i++) {
470     CM_READ_BE_UINT8(CurPtr,id);
471     CM_READ_BE_UINT32(CurPtr,varvalue,tmp);
472     err=PRH_int_set_var(id,varvalue);
473     /*@LOG SMH_SETPARAM_GEN: id */
474     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,id);
475     /*@LOG SMH_SETPARAM_GEN: varvalue */
476     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,varvalue);
477     changed_var[i]=id;
478     }
479    
480     //handler array
481     if(err==SUCCESSFUL)
482     CM_READ_BE_UINT8(CurPtr,narr);
483     for(i=0;i<narr && err==SUCCESSFUL;i++){
484     CM_READ_BE_UINT8(CurPtr,id);
485     #warning this have to be changed: idx should be 16 bit,but also gen_mcmds.pl must be changed!
486     CM_READ_BE_UINT8(CurPtr,idx);
487     CM_READ_BE_UINT32(CurPtr,varvalue,tmp);
488     err=PRH_int_set_arr(id,idx,varvalue);
489     /*@LOG SMH_SETPARAM_GEN: id */
490     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,id);
491     /*@LOG SMH_SETPARAM_GEN: idx */
492     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,idx);
493     /*@LOG SMH_SETPARAM_GEN: varvalue */
494     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,varvalue);
495     changed_arr[i]=id;
496     }
497    
498     //handler table
499     if(err==SUCCESSFUL)
500     CM_READ_BE_UINT8(CurPtr,ntab);
501     for(i=0;i<ntab && err==SUCCESSFUL;i++){
502     CM_READ_BE_UINT8(CurPtr,id);
503     CM_READ_BE_UINT8(CurPtr,r);
504     CM_READ_BE_UINT8(CurPtr,c);
505     CM_READ_BE_UINT32(CurPtr,varvalue,tmp);
506     err=PRH_int_set_tab(id,r,c,varvalue);
507     /*@LOG SMH_SETPARAM_GEN: id */
508     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,id);
509     /*@LOG SMH_SETPARAM_GEN: r */
510     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,r);
511     /*@LOG SMH_SETPARAM_GEN: c */
512     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,c);
513     /*@LOG SMH_SETPARAM_GEN: varvalue */
514     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,varvalue);
515     changed_tab[i]=id;
516     }
517     }
518     break;
519     case SMH_SETPARAM_ARRAY_RAW:
520     break;
521     case SMH_SETPARAM_TABLE_RAW:
522     break;
523     case SMH_SETPARAM_LOADUSERDATA:
524     case SMH_SETPARAM_APPENDUSERDATA:
525     CM_READ_BE_UINT8(CurPtr,buf_no);
526     CM_READ_BE_UINT16(CurPtr,len,tmp);
527     /*@LOG SMH_SETPARAM_LOADUSERDATA/SMH_SETPARAM_APPENDUSERDATA: buf_no */
528     LU_INFN_LOG(LU_DEBUG_TRACE,LU_MASK(__FILEID__),__FILEID__,__LINE__,buf_no);
529     /*@LOG SMH_SETPARAM_LOADUSERDATA/SMH_SETPARAM_APPENDUSERDATA: len */
530     LU_INFN_LOG(LU_DEBUG_TRACE,LU_MASK(__FILEID__),__FILEID__,__LINE__,len);
531     if(len > headerMcmd->Length*2 - 9*2 - 1) {
532     /*@LOG SMH_SETPARAM_LOADUSERDATA/SMH_SETPARAM_APPENDUSERDATA: length error ! */
533     LU_INFN_LOG(LU_CRITICAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,0);
534     s=CM_RC_MCMD_FORMAT_ERROR;
535     }else{
536     if(buf_no >= HB_USERDATA_NO)
537     /*@LOG SMH_SETPARAM_LOADUSERDATA/SMH_SETPARAM_APPENDUSERDATA: buf_no error - buf_no */
538     LU_INFN_LOG(LU_CRITICAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,buf_no);
539     else {
540     bufid=HB_USERDATA0+buf_no;
541     if(type == SMH_SETPARAM_LOADUSERDATA) {
542     s=HB_InitBuf(bufid);
543     if(s!=CM_RC_SUCCESSFUL)
544     /*@LOG SMH_SETPARAM_LOADUSERDATA: error init buffer - status */
545     LU_INFN_LOG(LU_CRITICAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,s);
546     }
547    
548     // s=HB_Store(bufid,len,CurPtr,0);
549     s=HB_StoreUserData(buf_no,len,CurPtr);
550     if(s!=CM_RC_SUCCESSFUL)
551     /*@LOG SMH_SETPARAM_LOADUSERDATA/SMH_SETPARAM_APPENDUSERDATA: StoreUserData error - status */
552     LU_INFN_LOG(LU_CRITICAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,s);
553     }
554     }
555     break;
556     case SMH_SETPARAM_USERDATA2ARR:
557     case SMH_SETPARAM_USERDATA2TAB:
558     CM_READ_BE_UINT8(CurPtr,buf_no);
559     if(buf_no >= HB_USERDATA_NO)
560     /*@LOG SMH_SETPARAM_USERDATA2ARR/SMH_SETPARAM_USERDATA2TAB: buf_no error - buf_no */
561     LU_INFN_LOG(LU_CRITICAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,buf_no);
562     else {
563     CM_READ_BE_UINT16(CurPtr,crc,tmp);
564     CM_READ_BE_UINT8(CurPtr,id);
565     /*@LOG SMH_SETPARAM_USERDATA2ARR/SMH_SETPARAM_USERDATA2TAB - buf_no */
566     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,buf_no);
567     /*@LOG SMH_SETPARAM_USERDATA2ARR/SMH_SETPARAM_USERDATA2TAB - id */
568     LU_INFN_LOG(LU_DEBUG_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,id);
569    
570     bufid=HB_USERDATA0+buf_no;
571     switch(type) {
572     case SMH_SETPARAM_USERDATA2ARR:
573     s=HB_Userdata2Arr(bufid,id,crc);
574     if(s == CM_RC_SUCCESSFUL)
575     /*@LOG SMH_SETPARAM_USERDATA2ARR: - status */
576     LU_INFN_LOG(LU_CRITICAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,s);
577     break;
578     case SMH_SETPARAM_USERDATA2TAB:
579     s=HB_Userdata2Tab(bufid,id,crc);
580     if(s == CM_RC_SUCCESSFUL)
581     /*@LOG SMH_SETPARAM_USERDATA2TAB: - status */
582     LU_INFN_LOG(LU_CRITICAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,buf_no);
583     break;
584     default:
585     /*@LOG SMH_SETPARAM_USERDATA2ARR/SMH_SETPARAM_USERDATA2TAB type error - type */
586     LU_INFN_LOG(LU_INTERNAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,type);
587     s=CM_RC_INTERNAL_ERR;
588     }
589     }
590     break;
591     case SMH_SETPARAM_READ_DEFAULT_PARAM :
592     err=PRH_ReadDefaultParam();
593     /*@LOG SMH_SETPARAM_READ_DEFAULT_PARAM - status */
594     LU_INFN_LOG(LU_NORMAL_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,err);
595     break;
596     case SMH_SETPARAM_SAVE2EEPROM:
597     err=PRH_WriteCurrentParam();
598     /*@LOG SMH_SETPARAM_SAVE2EEPROM - status */
599     LU_INFN_LOG(LU_NORMAL_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,err);
600     break;
601     case SMH_SETPARAM_LOADWS2TABLE:
602     err=WS_2_SetTable(headerMcmd);
603     /*@LOG SMH_SETPARAM_LOADWS2TABLE - status */
604     LU_INFN_LOG(LU_NORMAL_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,err);
605     break;
606     case SMH_SETPARAM_SAVEWS2TABLES:
607     /* Write On EEPROM */
608     err=WS_2_WriteWS2Tables();
609     /*@LOG SMH_SETPARAM_LOADWS2TABLE - status */
610     LU_INFN_LOG(LU_NORMAL_TRACE|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,err);
611     break;
612     case SMH_SETPARAM_SETLOGMASKALL:
613     /* set the log mask for all modules to a specified value */
614     CM_READ_BE_UINT16(CurPtr,c,tmp);
615     /*@LOG SMH_SETPARAM_SETLOGMASKALL - mask value */
616     LU_INFN_LOG(LU_DEBUG_TRACE,LU_MASK(__FILEID__),__FILEID__,__LINE__,c);
617     LU_SetLogMaskAll(c);
618     default:
619     break;
620     }
621     PRH_int_set_automatic_log(old);
622     if(err != SUCCESSFUL) {
623     /*@LOG tis SetParam family SUBMODE have been failed */
624     LU_INFN_LOG(LU_CRITICAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,type);
625     /*@LOG this error occurs during SetParam family SUBMODE */
626     LU_INFN_LOG(LU_CRITICAL|LU_HA,LU_MASK(__FILEID__),__FILEID__,__LINE__,err);
627     }
628     return err;
629     }
630    
631    
632     status_code PRH_var_write2eeprom(PRH_EEPROM_REGION region,unsigned int id) {
633     #ifdef SIMULATOR
634     return CM_RC_SUCCESSFUL;
635     #else
636     return (PRH_IS_STAMP_OK ? PRH_int_var_write2eeprom(region,id) : CM_RC_BAD_EEPROM);
637     #endif
638     }
639     status_code PRH_var_read_eeprom(PRH_EEPROM_REGION region,unsigned int id) {
640     #ifdef SIMULATOR
641     return CM_RC_SUCCESSFUL;
642     #else
643     return(PRH_IS_STAMP_OK ? PRH_int_var_read_eeprom(region,id): CM_RC_BAD_EEPROM);
644     #endif
645     }
646     status_code PRH_arr_write2eeprom(PRH_EEPROM_REGION region,unsigned int id) {
647     #ifdef SIMULATOR
648     return CM_RC_SUCCESSFUL;
649     #else
650     return(PRH_IS_STAMP_OK ? PRH_int_arr_write2eeprom(region,id): CM_RC_BAD_EEPROM);
651     #endif
652     }
653     status_code PRH_arr_read_eeprom(PRH_EEPROM_REGION region,unsigned int id) {
654     #ifdef SIMULATOR
655     return CM_RC_SUCCESSFUL;
656     #else
657     return(PRH_IS_STAMP_OK ?PRH_int_arr_read_eeprom(region,id): CM_RC_BAD_EEPROM);
658     #endif
659     }
660     status_code PRH_tab_write2eeprom(PRH_EEPROM_REGION region,unsigned int id) {
661     #ifdef SIMULATOR
662     return CM_RC_SUCCESSFUL;
663     #else
664     return(PRH_IS_STAMP_OK ?PRH_int_tab_write2eeprom(region,id): CM_RC_BAD_EEPROM);
665     #endif
666     }
667     status_code PRH_tab_read_eeprom(PRH_EEPROM_REGION region,unsigned int id) {
668     #ifdef SIMULATOR
669     return CM_RC_SUCCESSFUL;
670     #else
671     return(PRH_IS_STAMP_OK ?PRH_tab_read_eeprom(region,id): CM_RC_BAD_EEPROM);
672     #endif
673     }
674    
675     extern UINT32 PRH_var_dump_len;
676     extern UINT32 PRH_arr_dump_len;
677     extern UINT32 PRH_tab_dump_len;
678    
679     UINT32 PRH_get_var_dump_len() {
680     return PRH_var_dump_len;
681     }
682     UINT32 PRH_get_arr_dump_len() {
683     return PRH_arr_dump_len;
684     }
685     UINT32 PRH_get_tab_dump_len() {
686     return PRH_tab_dump_len;
687     }
688    
689     /*
690     status_code PRH_var_dump_for_mm(DAQ_CMD_BUF *b) {
691     int i;
692     BOOL mm;
693     PRH_VAR_TYPE var;
694     for(i=0;i<PRH_VAR_MAX;i++) {
695     PRH_int_var_is_in_mm(i,&mm);
696     if(mm) {
697     PRH_int_get_var(i,&var);
698     if(DAQ_SPACE_LEFT(*b) < PRH_SIZEOF_VAR)
699     return CM_RC_NO_SPACE_LEFT;
700     DAQ_WRITE_BE_UINT32((*b),var);
701     }
702     }
703     return CM_RC_SUCCESSFUL;
704     }
705    
706     status_code PRH_arr_dump_for_mm(DAQ_CMD_BUF *b) {
707     int i;
708     BOOL mm;
709     PRH_VAR_TYPE *arr;
710     for(i=0;i<PRH_ARR_MAX;i++) {
711     PRH_int_arr_is_in_mm(i,&mm);
712     if(mm) {
713     PRH_int_get_arr_ptr(i,&arr);
714     if(DAQ_SPACE_LEFT(*b) <= PRH_SIZEOF_ARR(i))
715     return CM_RC_NO_SPACE_LEFT;
716     DAQ_WRITE_BE_UINT32((*b),var);
717     }
718     }
719     return CM_RC_SUCCESSFUL;
720     }
721    
722     status_code PRH_tab_dump_for_mm(DAQ_CMD_BUF *b) {
723     }
724     */

  ViewVC Help
Powered by ViewVC 1.1.23