00001 #ifndef EEdsm0_h
00002 #define EEdsm0_h
00003
00004
00005
00006 #include <stdlib.h>
00007 #include <stdio.h>
00008 #include <string.h>
00009
00010 typedef unsigned char uchar;
00011
00012 class EEdsm0 {
00013 enum {nw=16,nc=10,mxTh=3,mxOu=2};
00014 uchar data[nw];
00015 short value[nc];
00016 int type;
00017 int mYear;
00018 int HTthr[mxTh], TPthr[mxTh];
00019 int outHTTP2bit[mxOu];
00020 int outHT2bit[mxOu];
00021 int outTP2bit[mxOu];
00022 int outTPsum[mxOu];
00023 int out16bit[mxOu];
00024
00025 public:
00026
00027 EEdsm0();
00028 virtual ~EEdsm0();
00029 void setYear(int y, int*HTth, int*TPth);
00030 void setType(int t) {type=t;}
00031 void print(int k=0) const;
00032 void clear();
00033 void compute();
00034 void unpack();
00035
00036
00037 void setBite(int b, uchar val);
00038 void setInp12bit(int ch, short val);
00039 int getInp12bit(int ch) const;
00040 int getInpHT6bit(int ch) const { return getInp12bit(ch) & 0x3f;}
00041 int getInpTP6bit(int ch) const { return getInp12bit(ch)>>6; }
00042 int getNc() const {return nc;}
00043
00044
00045 int getOutTPsum(int k=0) const { return outTPsum[k];}
00046 int getOutHT2bit(int k=0) const { return outHT2bit[k];}
00047 int getOutTP2bit(int k=0) const { return outTP2bit[k];}
00048 int getOutHTTP2bit(int k=0) const { return outHTTP2bit[k];}
00049 int getOut16bit(int k=0) const { return out16bit[k];}
00050 };
00051 #endif
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084