nothing to say

Dependencies:   mbed

Committer:
withboobs
Date:
Wed Feb 21 18:13:45 2018 +0000
Revision:
0:ca29dd5bc1d8
nothing to say

Who changed what in which revision?

UserRevisionLine numberNew contents of line
withboobs 0:ca29dd5bc1d8 1 #ifndef _I2C_HEIMANN32X32_
withboobs 0:ca29dd5bc1d8 2 #define _I2C_HEIMANN32X32_
withboobs 0:ca29dd5bc1d8 3
withboobs 0:ca29dd5bc1d8 4 #define AdrPixCMin 0x00
withboobs 0:ca29dd5bc1d8 5 #define AdrPixCMax 0x04
withboobs 0:ca29dd5bc1d8 6 #define AdrGradScale 0x08
withboobs 0:ca29dd5bc1d8 7 #define AdrTableNumber 0x0B //changed to 0x0B with Rev 0.14 and adpated TN readout
withboobs 0:ca29dd5bc1d8 8 #define AdrEpsilon 0x0D
withboobs 0:ca29dd5bc1d8 9
withboobs 0:ca29dd5bc1d8 10 #define AdrMBITPixC 0x1A
withboobs 0:ca29dd5bc1d8 11 #define AdrBIASPixC 0x1B
withboobs 0:ca29dd5bc1d8 12 #define AdrCLKPixC 0x1C
withboobs 0:ca29dd5bc1d8 13 #define AdrBPAPixC 0x1D
withboobs 0:ca29dd5bc1d8 14 #define AdrPUPixC 0x1E
withboobs 0:ca29dd5bc1d8 15
withboobs 0:ca29dd5bc1d8 16 #define AdrVddMeasTh1 0x26
withboobs 0:ca29dd5bc1d8 17 #define AdrVddTh1 0x46
withboobs 0:ca29dd5bc1d8 18
withboobs 0:ca29dd5bc1d8 19 #define AdrPTATGrad 0x34
withboobs 0:ca29dd5bc1d8 20
withboobs 0:ca29dd5bc1d8 21 #define AdrVddScaling 0x4E
withboobs 0:ca29dd5bc1d8 22 #define AdrVddScalingOff 0x4F
withboobs 0:ca29dd5bc1d8 23
withboobs 0:ca29dd5bc1d8 24 #define AdrMBITUser 0x60
withboobs 0:ca29dd5bc1d8 25 #define AdrBIASUser 0x61
withboobs 0:ca29dd5bc1d8 26 #define AdrCLKUser 0x62
withboobs 0:ca29dd5bc1d8 27 #define AdrBPAUser 0x63
withboobs 0:ca29dd5bc1d8 28 #define AdrPUUser 0x64
withboobs 0:ca29dd5bc1d8 29
withboobs 0:ca29dd5bc1d8 30 #define AdrDevID 0x74
withboobs 0:ca29dd5bc1d8 31
withboobs 0:ca29dd5bc1d8 32 #define AdrGlobalOffset 0x54
withboobs 0:ca29dd5bc1d8 33 #define AdrGlobalGain 0x55
withboobs 0:ca29dd5bc1d8 34
withboobs 0:ca29dd5bc1d8 35 #define AdrVddCompValues2 0x340
withboobs 0:ca29dd5bc1d8 36 #define AdrVddCompValues 0x540
withboobs 0:ca29dd5bc1d8 37 #define AdrTh1 0x740
withboobs 0:ca29dd5bc1d8 38 #define AdrTh2 0xF40
withboobs 0:ca29dd5bc1d8 39 #define AdrPixC 0x1740
withboobs 0:ca29dd5bc1d8 40
withboobs 0:ca29dd5bc1d8 41 #define BIAScurrentDefault 0x05
withboobs 0:ca29dd5bc1d8 42 #define CLKTRIMDefault 0x15 //0x20 to let it run with 10 Hz
withboobs 0:ca29dd5bc1d8 43 #define BPATRIMDefault 0x0C
withboobs 0:ca29dd5bc1d8 44 //#define MBITTRIMDefault 0x0C
withboobs 0:ca29dd5bc1d8 45 #define PUTRIMDefault 0x88
withboobs 0:ca29dd5bc1d8 46
withboobs 0:ca29dd5bc1d8 47
withboobs 0:ca29dd5bc1d8 48 //pixelcount etc. for 32x32d
withboobs 0:ca29dd5bc1d8 49 #define Pixel 1024 //=32x32
withboobs 0:ca29dd5bc1d8 50 #define PixelEighth 128
withboobs 0:ca29dd5bc1d8 51 #define LINE 32
withboobs 0:ca29dd5bc1d8 52 #define COLUMN 32
withboobs 0:ca29dd5bc1d8 53 #define DATALength 1292//1098 //length of first packet
withboobs 0:ca29dd5bc1d8 54 #define DATALength2 1288//1096 //lenght of second/last packet
withboobs 0:ca29dd5bc1d8 55 #define DataLengthHalf 646
withboobs 0:ca29dd5bc1d8 56 #define PTATamount 8
withboobs 0:ca29dd5bc1d8 57 #define ELOFFSET 1024 //start address of el. Offset
withboobs 0:ca29dd5bc1d8 58 #define ELAMOUNT 256
withboobs 0:ca29dd5bc1d8 59 #define ELAMOUNTHALF 128
withboobs 0:ca29dd5bc1d8 60 #define StackSize 16 //must be choosen by the user!
withboobs 0:ca29dd5bc1d8 61 #define PTATSTARTADSRESS 1282
withboobs 0:ca29dd5bc1d8 62 #define VDDADDRESS 1280
withboobs 0:ca29dd5bc1d8 63
withboobs 0:ca29dd5bc1d8 64 #define GetElEveryFrameX 10 //amount of normal frames to capture after which the el. Offset is fetched
withboobs 0:ca29dd5bc1d8 65 #define STACKSIZEPTAT 30 //should be an even number
withboobs 0:ca29dd5bc1d8 66 #define STACKSIZEVDD 50 //should be an even number
withboobs 0:ca29dd5bc1d8 67 #define VddStackAmount 30
withboobs 0:ca29dd5bc1d8 68
withboobs 0:ca29dd5bc1d8 69
withboobs 0:ca29dd5bc1d8 70 #define ReadToFromTable
withboobs 0:ca29dd5bc1d8 71 #ifdef ReadToFromTable
withboobs 0:ca29dd5bc1d8 72 #define HTPA32x32dL2_1HiSiF5_0
withboobs 0:ca29dd5bc1d8 73 //#define HTPA32x32dL2_1HiSiF5_0
withboobs 0:ca29dd5bc1d8 74 //#define HTPA32x32dL2_1HiSiF5_0_withSiFilter
withboobs 0:ca29dd5bc1d8 75 //#define HTPA32x32dL3_6HiSi
withboobs 0:ca29dd5bc1d8 76 //#define HTPA32x32dL3_6HiSi_Rev1
withboobs 0:ca29dd5bc1d8 77 //#define HTPA32x32dL7_0HiSi
withboobs 0:ca29dd5bc1d8 78 //#define HTPA32x32dL5_0HiGeF7_7
withboobs 0:ca29dd5bc1d8 79 //#define HTPA32x32dL1_6HiGe
withboobs 0:ca29dd5bc1d8 80 //#define HTPA32x32dR1L1_6HiGe_Gain3k3
withboobs 0:ca29dd5bc1d8 81 //#define HTPA32x32dR1L2_1SiF5_0_N2
withboobs 0:ca29dd5bc1d8 82 //#define HTPA32x32dL2_1HiSiF5_0_Gain3k3 //is used for SensorRev. 1
withboobs 0:ca29dd5bc1d8 83 //#define HTPA32x32dR1L2_1HiSiF5_0_Precise
withboobs 0:ca29dd5bc1d8 84 //#define HTPA32x32dR1L2_85Hi_Gain3k3
withboobs 0:ca29dd5bc1d8 85 //#define HTPA32x32dR1L3_6HiSi_Rev1_Gain3k3
withboobs 0:ca29dd5bc1d8 86 //#define HTPA32x32dR1L5_0HiGeF7_7_Gain3k3
withboobs 0:ca29dd5bc1d8 87 //#define HTPA32x32dR1L7_0HiSi_Gain3k3
withboobs 0:ca29dd5bc1d8 88
withboobs 0:ca29dd5bc1d8 89 #ifdef HTPA32x32dL5_0HiGe
withboobs 0:ca29dd5bc1d8 90 #define TABLENUMBER 79
withboobs 0:ca29dd5bc1d8 91 #define PCSCALEVAL 100000000 //327000000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 92 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 93 #define NROFADELEMENTS 471 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 94 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 95 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 96 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 97 #define TABLEOFFSET 512
withboobs 0:ca29dd5bc1d8 98 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 99 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 100 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 101 #endif
withboobs 0:ca29dd5bc1d8 102 #endif
withboobs 0:ca29dd5bc1d8 103
withboobs 0:ca29dd5bc1d8 104 #ifdef HTPA32x32dL5_0HiGeF7_7
withboobs 0:ca29dd5bc1d8 105 #define TABLENUMBER 92
withboobs 0:ca29dd5bc1d8 106 #define PCSCALEVAL 100000000 //327000000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 107 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 108 #define NROFADELEMENTS 471 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 109 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 110 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 111 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 112 #define TABLEOFFSET 256
withboobs 0:ca29dd5bc1d8 113 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 114 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 115 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 116 #endif
withboobs 0:ca29dd5bc1d8 117 #endif
withboobs 0:ca29dd5bc1d8 118
withboobs 0:ca29dd5bc1d8 119 #ifdef HTPA32x32dR1L5_0HiGeF7_7_Gain3k3
withboobs 0:ca29dd5bc1d8 120 #define TABLENUMBER 113
withboobs 0:ca29dd5bc1d8 121 #define PCSCALEVAL 100000000 //327000000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 122 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 123 #define NROFADELEMENTS 1595 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 124 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 125 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 126 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 127 #define TABLEOFFSET 1024
withboobs 0:ca29dd5bc1d8 128 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 129 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 130 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 131 #endif
withboobs 0:ca29dd5bc1d8 132 #define MBITTRIMDefault 0x2C
withboobs 0:ca29dd5bc1d8 133 #define SensRv 1
withboobs 0:ca29dd5bc1d8 134 #endif
withboobs 0:ca29dd5bc1d8 135
withboobs 0:ca29dd5bc1d8 136 #ifdef HTPA32x32dL1_6HiGe
withboobs 0:ca29dd5bc1d8 137 #define TABLENUMBER 101
withboobs 0:ca29dd5bc1d8 138 #define PCSCALEVAL 100000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 139 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 140 #define NROFADELEMENTS 471 //possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 141 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 142 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 143 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 144 #define TABLEOFFSET 256
withboobs 0:ca29dd5bc1d8 145 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 146 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 147 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 148 #endif
withboobs 0:ca29dd5bc1d8 149 #endif
withboobs 0:ca29dd5bc1d8 150
withboobs 0:ca29dd5bc1d8 151 #ifdef HTPA32x32dR1L1_6HiGe_Gain3k3
withboobs 0:ca29dd5bc1d8 152 #define TABLENUMBER 119
withboobs 0:ca29dd5bc1d8 153 #define PCSCALEVAL 100000000 //327000000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 154 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 155 #define NROFADELEMENTS 1595 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 156 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 157 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 158 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 159 #define TABLEOFFSET 1024
withboobs 0:ca29dd5bc1d8 160 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 161 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 162 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 163 #endif
withboobs 0:ca29dd5bc1d8 164 #define MBITTRIMDefault 0x2C
withboobs 0:ca29dd5bc1d8 165 #define SensRv 1
withboobs 0:ca29dd5bc1d8 166 #endif
withboobs 0:ca29dd5bc1d8 167
withboobs 0:ca29dd5bc1d8 168 #ifdef HTPA32x32dL2_1HiSi
withboobs 0:ca29dd5bc1d8 169 #define TABLENUMBER 80
withboobs 0:ca29dd5bc1d8 170 #define PCSCALEVAL 100000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 171 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 172 #define NROFADELEMENTS 471 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 173 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 174 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 175 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 176 #define TABLEOFFSET 256
withboobs 0:ca29dd5bc1d8 177 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 178 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 179 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 180 #endif
withboobs 0:ca29dd5bc1d8 181 #endif
withboobs 0:ca29dd5bc1d8 182
withboobs 0:ca29dd5bc1d8 183 #ifdef HTPA32x32dL2_1HiSiF5_0
withboobs 0:ca29dd5bc1d8 184 #define TABLENUMBER 96
withboobs 0:ca29dd5bc1d8 185 #define PCSCALEVAL 100000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 186 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 187 #define NROFADELEMENTS 471 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 188 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 189 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 190 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 191 #define TABLEOFFSET 256
withboobs 0:ca29dd5bc1d8 192 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 193 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 194 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 195 #endif
withboobs 0:ca29dd5bc1d8 196 #endif
withboobs 0:ca29dd5bc1d8 197
withboobs 0:ca29dd5bc1d8 198 #ifdef HTPA32x32dR1L2_1SiF5_0_N2
withboobs 0:ca29dd5bc1d8 199 #define TABLENUMBER 130
withboobs 0:ca29dd5bc1d8 200 #define PCSCALEVAL 100000000 //327000000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 201 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 202 #define NROFADELEMENTS 1595 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 203 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 204 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 205 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 206 #define TABLEOFFSET 192
withboobs 0:ca29dd5bc1d8 207 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 208 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 209 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 210 #endif
withboobs 0:ca29dd5bc1d8 211 #define MBITTRIMDefault 0x2C
withboobs 0:ca29dd5bc1d8 212 #define SensRv 1
withboobs 0:ca29dd5bc1d8 213 #endif
withboobs 0:ca29dd5bc1d8 214
withboobs 0:ca29dd5bc1d8 215 #ifdef HTPA32x32dL2_1HiSiF5_0_Gain3k3
withboobs 0:ca29dd5bc1d8 216 #define TABLENUMBER 114
withboobs 0:ca29dd5bc1d8 217 #define PCSCALEVAL 100000000 //327000000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 218 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 219 #define NROFADELEMENTS 1595 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 220 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 221 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 222 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 223 #define TABLEOFFSET 1024
withboobs 0:ca29dd5bc1d8 224 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 225 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 226 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 227 #endif
withboobs 0:ca29dd5bc1d8 228 #define MBITTRIMDefault 0x2C //use REF_CAL=2 here. Table does not match, so GlobalGain ist set to 50 % to compensate this.
withboobs 0:ca29dd5bc1d8 229 #define SensRv 1 //Sensor Revision is set to 1 (Redesign)
withboobs 0:ca29dd5bc1d8 230 #endif
withboobs 0:ca29dd5bc1d8 231
withboobs 0:ca29dd5bc1d8 232 #ifdef HTPA32x32dR1L2_1HiSiF5_0_Precise
withboobs 0:ca29dd5bc1d8 233 #define TABLENUMBER 116
withboobs 0:ca29dd5bc1d8 234 #define PCSCALEVAL 100000000 //327000000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 235 #define NROFTAELEMENTS 22
withboobs 0:ca29dd5bc1d8 236 #define NROFADELEMENTS 1000 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 237 #define TAEQUIDISTANCE 50 //dK
withboobs 0:ca29dd5bc1d8 238 #define ADEQUIDISTANCE 32 //dig
withboobs 0:ca29dd5bc1d8 239 #define ADEXPBITS 5 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 240 #define TABLEOFFSET 1024
withboobs 0:ca29dd5bc1d8 241 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 242 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 243 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 244 #endif
withboobs 0:ca29dd5bc1d8 245 #define MBITTRIMDefault 0x2C
withboobs 0:ca29dd5bc1d8 246 #define SensRv 1
withboobs 0:ca29dd5bc1d8 247 #endif
withboobs 0:ca29dd5bc1d8 248
withboobs 0:ca29dd5bc1d8 249 #ifdef HTPA32x32dL2_1HiSiF5_0_withSiFilter
withboobs 0:ca29dd5bc1d8 250 #define TABLENUMBER 97
withboobs 0:ca29dd5bc1d8 251 #define PCSCALEVAL 100000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 252 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 253 #define NROFADELEMENTS 471 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 254 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 255 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 256 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 257 #define TABLEOFFSET 256
withboobs 0:ca29dd5bc1d8 258 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 259 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 260 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 261 #endif
withboobs 0:ca29dd5bc1d8 262 #endif
withboobs 0:ca29dd5bc1d8 263
withboobs 0:ca29dd5bc1d8 264 #ifdef HTPA32x32dR1L2_85Hi_Gain3k3
withboobs 0:ca29dd5bc1d8 265 #define TABLENUMBER 127
withboobs 0:ca29dd5bc1d8 266 #define PCSCALEVAL 100000000 //327000000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 267 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 268 #define NROFADELEMENTS 1595 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 269 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 270 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 271 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 272 #define TABLEOFFSET 1024
withboobs 0:ca29dd5bc1d8 273 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 274 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 275 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 276 #endif
withboobs 0:ca29dd5bc1d8 277 #define MBITTRIMDefault 0x2C
withboobs 0:ca29dd5bc1d8 278 #define SensRv 1
withboobs 0:ca29dd5bc1d8 279 #endif
withboobs 0:ca29dd5bc1d8 280
withboobs 0:ca29dd5bc1d8 281 #ifdef HTPA32x32dL3_6HiSi
withboobs 0:ca29dd5bc1d8 282 #define TABLENUMBER 81
withboobs 0:ca29dd5bc1d8 283 #define PCSCALEVAL 100000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 284 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 285 #define NROFADELEMENTS 471 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 286 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 287 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 288 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 289 #define TABLEOFFSET 256
withboobs 0:ca29dd5bc1d8 290 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 291 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 292 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 293 #endif
withboobs 0:ca29dd5bc1d8 294 #endif
withboobs 0:ca29dd5bc1d8 295
withboobs 0:ca29dd5bc1d8 296 #ifdef HTPA32x32dL3_6HiSi_Rev1
withboobs 0:ca29dd5bc1d8 297 #define TABLENUMBER 106
withboobs 0:ca29dd5bc1d8 298 #define PCSCALEVAL 100000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 299 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 300 #define NROFADELEMENTS 471 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 301 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 302 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 303 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 304 #define TABLEOFFSET 256
withboobs 0:ca29dd5bc1d8 305 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 306 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 307 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 308 #endif
withboobs 0:ca29dd5bc1d8 309 #endif
withboobs 0:ca29dd5bc1d8 310
withboobs 0:ca29dd5bc1d8 311 #ifdef HTPA32x32dR1L3_6HiSi_Rev1_Gain3k3
withboobs 0:ca29dd5bc1d8 312 #define TABLENUMBER 117
withboobs 0:ca29dd5bc1d8 313 #define PCSCALEVAL 100000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 314 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 315 #define NROFADELEMENTS 1595 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 316 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 317 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 318 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 319 #define TABLEOFFSET 1024
withboobs 0:ca29dd5bc1d8 320 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 321 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 322 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 323 #endif
withboobs 0:ca29dd5bc1d8 324 #define MBITTRIMDefault 0x2C
withboobs 0:ca29dd5bc1d8 325 #define SensRv 1
withboobs 0:ca29dd5bc1d8 326 #endif
withboobs 0:ca29dd5bc1d8 327
withboobs 0:ca29dd5bc1d8 328 #ifdef HTPA32x32dL7_0HiSi
withboobs 0:ca29dd5bc1d8 329 #define TABLENUMBER 107
withboobs 0:ca29dd5bc1d8 330 #define PCSCALEVAL 100000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 331 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 332 #define NROFADELEMENTS 471 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 333 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 334 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 335 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 336 #define TABLEOFFSET 256
withboobs 0:ca29dd5bc1d8 337 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 338 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 339 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 340 #endif
withboobs 0:ca29dd5bc1d8 341 #endif
withboobs 0:ca29dd5bc1d8 342
withboobs 0:ca29dd5bc1d8 343 #ifdef HTPA32x32dR1L7_0HiSi_Gain3k3
withboobs 0:ca29dd5bc1d8 344 #define TABLENUMBER 118
withboobs 0:ca29dd5bc1d8 345 #define PCSCALEVAL 100000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 346 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 347 #define NROFADELEMENTS 1595 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 348 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 349 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 350 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 351 #define TABLEOFFSET 640
withboobs 0:ca29dd5bc1d8 352 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 353 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 354 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 355 #endif
withboobs 0:ca29dd5bc1d8 356 #define MBITTRIMDefault 0x2C
withboobs 0:ca29dd5bc1d8 357 #define SensRv 1
withboobs 0:ca29dd5bc1d8 358 #endif
withboobs 0:ca29dd5bc1d8 359
withboobs 0:ca29dd5bc1d8 360 #ifdef HTPA32x32dL2_1HiSiDLC
withboobs 0:ca29dd5bc1d8 361 #define TABLENUMBER 83
withboobs 0:ca29dd5bc1d8 362 #define PCSCALEVAL 100000000 //PixelConst scale value for table
withboobs 0:ca29dd5bc1d8 363 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 364 #define NROFADELEMENTS 471
withboobs 0:ca29dd5bc1d8 365 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 366 #define ADEQUIDISTANCE 64 //dig
withboobs 0:ca29dd5bc1d8 367 #define ADEXPBITS 6 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 368 #define TABLEOFFSET 512
withboobs 0:ca29dd5bc1d8 369 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 370 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 371 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 372 #endif
withboobs 0:ca29dd5bc1d8 373 #endif
withboobs 0:ca29dd5bc1d8 374
withboobs 0:ca29dd5bc1d8 375 #ifdef HTPA32x32dL2_1Si_withSiFilter
withboobs 0:ca29dd5bc1d8 376 #define TABLENUMBER 88
withboobs 0:ca29dd5bc1d8 377 #define PCSCALEVAL 100000000 //PixelConst scale value for table
withboobs 0:ca29dd5bc1d8 378 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 379 #define NROFADELEMENTS 471
withboobs 0:ca29dd5bc1d8 380 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 381 #define ADEQUIDISTANCE 8 //dig
withboobs 0:ca29dd5bc1d8 382 #define ADEXPBITS 3 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 383 #define TABLEOFFSET 64
withboobs 0:ca29dd5bc1d8 384 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 385 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 386 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 387 #endif
withboobs 0:ca29dd5bc1d8 388 #endif
withboobs 0:ca29dd5bc1d8 389
withboobs 0:ca29dd5bc1d8 390 #ifdef HTPA32x32dL5_0HiGeMult
withboobs 0:ca29dd5bc1d8 391 #define TABLENUMBER0 79
withboobs 0:ca29dd5bc1d8 392 #define PCSCALEVAL 100000000 //327000000000 //PixelConst scale value for table... lower 'L' for (long)
withboobs 0:ca29dd5bc1d8 393 #define NROFTAELEMENTS 7
withboobs 0:ca29dd5bc1d8 394 #define NROFADELEMENTS 251 //130 possible due to Program memory, higher values possible if NROFTAELEMENTS is decreased
withboobs 0:ca29dd5bc1d8 395 #define TAEQUIDISTANCE 100 //dK
withboobs 0:ca29dd5bc1d8 396 #define ADEQUIDISTANCE 128 //dig
withboobs 0:ca29dd5bc1d8 397 #define ADEXPBITS 7 //2^ADEXPBITS=ADEQUIDISTANCE
withboobs 0:ca29dd5bc1d8 398 #define TABLEOFFSET 256
withboobs 0:ca29dd5bc1d8 399 #define EQUIADTABLE //if defined, ADELEMENTS have to be 2^N quantizied! else more CPU Power is needed
withboobs 0:ca29dd5bc1d8 400 #ifdef EQUIADTABLE
withboobs 0:ca29dd5bc1d8 401 #undef FLOATTABLE
withboobs 0:ca29dd5bc1d8 402 #endif
withboobs 0:ca29dd5bc1d8 403 #endif
withboobs 0:ca29dd5bc1d8 404 #endif
withboobs 0:ca29dd5bc1d8 405
withboobs 0:ca29dd5bc1d8 406 //
withboobs 0:ca29dd5bc1d8 407 // I2C stuff
withboobs 0:ca29dd5bc1d8 408 //
withboobs 0:ca29dd5bc1d8 409 #define HTP_ADDRESS (0x34)
withboobs 0:ca29dd5bc1d8 410 #define HTP_EEPROM_ADDRESS (0xa0)
withboobs 0:ca29dd5bc1d8 411
withboobs 0:ca29dd5bc1d8 412 //
withboobs 0:ca29dd5bc1d8 413 // REGISTERS: EEPROM
withboobs 0:ca29dd5bc1d8 414 //
withboobs 0:ca29dd5bc1d8 415 #define HTP_EEPROM_CALIB_HI 0x00
withboobs 0:ca29dd5bc1d8 416 #define HTP_EEPROM_CALIB_LO 0x1A
withboobs 0:ca29dd5bc1d8 417
withboobs 0:ca29dd5bc1d8 418 #define HTP_EEPROM_PTAT_HI 0x00
withboobs 0:ca29dd5bc1d8 419 #define HTP_EEPROM_PTAT_GRAD_LO 0x34
withboobs 0:ca29dd5bc1d8 420 #define HTP_EEPROM_PTAT_OFFS_LO 0x38
withboobs 0:ca29dd5bc1d8 421
withboobs 0:ca29dd5bc1d8 422 #define HTP_EEPROM_TN_EPS_HI 0x00
withboobs 0:ca29dd5bc1d8 423 #define HTP_EEPROM_TN_LO 0x0C
withboobs 0:ca29dd5bc1d8 424 #define HTP_EEPROM_EPS_LO 0x0D
withboobs 0:ca29dd5bc1d8 425
withboobs 0:ca29dd5bc1d8 426 #define HTP_EEPROM_GRADSCALE_HI 0x00
withboobs 0:ca29dd5bc1d8 427 #define HTP_EEPROM_GRADSCALE_LO 0x08
withboobs 0:ca29dd5bc1d8 428
withboobs 0:ca29dd5bc1d8 429 #define HTP_EEPROM_PIXC_HI 0x00
withboobs 0:ca29dd5bc1d8 430 #define HTP_EEPROM_PIXCMIN_LO 0x00
withboobs 0:ca29dd5bc1d8 431 #define HTP_EEPROM_PIXCMAX_LO 0x04
withboobs 0:ca29dd5bc1d8 432
withboobs 0:ca29dd5bc1d8 433 #define HTP_EEPROM_PIX_HI 0x17
withboobs 0:ca29dd5bc1d8 434 #define HTP_EEPROM_PIX_LO 0x40
withboobs 0:ca29dd5bc1d8 435
withboobs 0:ca29dd5bc1d8 436 #define HTP_EEPROM_THGRAD_HI 0x07
withboobs 0:ca29dd5bc1d8 437 #define HTP_EEPROM_THGRAD_LO 0x40
withboobs 0:ca29dd5bc1d8 438
withboobs 0:ca29dd5bc1d8 439 #define HTP_EEPROM_THOFFS_HI 0x0f
withboobs 0:ca29dd5bc1d8 440 #define HTP_EEPROM_THOFFS_LO 0x40
withboobs 0:ca29dd5bc1d8 441
withboobs 0:ca29dd5bc1d8 442 //
withboobs 0:ca29dd5bc1d8 443 // REGISTERS: HTP
withboobs 0:ca29dd5bc1d8 444 //
withboobs 0:ca29dd5bc1d8 445 #define HTP_CONFIG 0x01
withboobs 0:ca29dd5bc1d8 446 #define HTP_STATUS 0x02
withboobs 0:ca29dd5bc1d8 447 #define HTP_TRIM1_ADC 0x03
withboobs 0:ca29dd5bc1d8 448 #define HTP_TRIM2_BIAS1 0x04
withboobs 0:ca29dd5bc1d8 449 #define HTP_TRIM3_BIAS2 0x05
withboobs 0:ca29dd5bc1d8 450 #define HTP_TRIM4_FREQ 0x06
withboobs 0:ca29dd5bc1d8 451 #define HTP_TRIM5_BPA1 0x07
withboobs 0:ca29dd5bc1d8 452 #define HTP_TRIM6_BPA2 0x08
withboobs 0:ca29dd5bc1d8 453 #define HTP_TRIM7_PU 0x09
withboobs 0:ca29dd5bc1d8 454 #define HTP_DATA1 0x0a
withboobs 0:ca29dd5bc1d8 455 #define HTP_DATA2 0x0b
withboobs 0:ca29dd5bc1d8 456
withboobs 0:ca29dd5bc1d8 457
withboobs 0:ca29dd5bc1d8 458 //
withboobs 0:ca29dd5bc1d8 459 // CONFIG REGISTER CONFIGURATION BITS
withboobs 0:ca29dd5bc1d8 460 //
withboobs 0:ca29dd5bc1d8 461 #define CONFIG_WAKEUP 0B00000001
withboobs 0:ca29dd5bc1d8 462 #define CONFIG_BLIND 0B00000010
withboobs 0:ca29dd5bc1d8 463 #define CONFIG_START 0B00001000
withboobs 0:ca29dd5bc1d8 464 #define CONFIG_BLOCK_LSB 0B00010000
withboobs 0:ca29dd5bc1d8 465 #define CONFIG_BLOCK_MSB 0B00100000
withboobs 0:ca29dd5bc1d8 466
withboobs 0:ca29dd5bc1d8 467
withboobs 0:ca29dd5bc1d8 468 //
withboobs 0:ca29dd5bc1d8 469 // STATUS REGISTER CONFIGURATION BITS
withboobs 0:ca29dd5bc1d8 470 //
withboobs 0:ca29dd5bc1d8 471 #define STATUS_EOC 0B00000001
withboobs 0:ca29dd5bc1d8 472 #define STATUS_BLOCK_LSB 0B00000100
withboobs 0:ca29dd5bc1d8 473 #define STATUS_BLOCK_MSB 0B00001000
withboobs 0:ca29dd5bc1d8 474
withboobs 0:ca29dd5bc1d8 475 //
withboobs 0:ca29dd5bc1d8 476 // TRIM1/ADC REGISTER CONFIGURATION BITS
withboobs 0:ca29dd5bc1d8 477 //
withboobs 0:ca29dd5bc1d8 478 #define TRIM1_ADC_MASK 0B00001111
withboobs 0:ca29dd5bc1d8 479
withboobs 0:ca29dd5bc1d8 480 //
withboobs 0:ca29dd5bc1d8 481 // TRIM2/BIAS1 REGISTER CONFIGURATION BITS
withboobs 0:ca29dd5bc1d8 482 // TRIM3/BIAS2 REGISTER CONFIGURATION BITS
withboobs 0:ca29dd5bc1d8 483 //
withboobs 0:ca29dd5bc1d8 484 #define TRIM_BIAS_MASK 0B00011111
withboobs 0:ca29dd5bc1d8 485
withboobs 0:ca29dd5bc1d8 486 //
withboobs 0:ca29dd5bc1d8 487 // TRIM4/FREQ REGISTER CONFIGURATION BITS
withboobs 0:ca29dd5bc1d8 488 //
withboobs 0:ca29dd5bc1d8 489 #define TRIM_FREQ_MASK 0B00111111
withboobs 0:ca29dd5bc1d8 490
withboobs 0:ca29dd5bc1d8 491 //
withboobs 0:ca29dd5bc1d8 492 // TRIM5/BPA1 REGISTER CONFIGURATION BITS
withboobs 0:ca29dd5bc1d8 493 // TRIM6/BPA2 REGISTER CONFIGURATION BITS
withboobs 0:ca29dd5bc1d8 494 //
withboobs 0:ca29dd5bc1d8 495 #define TRIM_BPA_MASK 0B00011111
withboobs 0:ca29dd5bc1d8 496
withboobs 0:ca29dd5bc1d8 497 //
withboobs 0:ca29dd5bc1d8 498 // TRIM7/PU REGISTER CONFIGURATION BITS
withboobs 0:ca29dd5bc1d8 499 //
withboobs 0:ca29dd5bc1d8 500 #define PU_SDA_1K 0B00010000
withboobs 0:ca29dd5bc1d8 501 #define PU_SDA_10K 0B00100000
withboobs 0:ca29dd5bc1d8 502 #define PU_SDA_50K 0B01000000
withboobs 0:ca29dd5bc1d8 503 #define PU_SDA_100K 0b10000000
withboobs 0:ca29dd5bc1d8 504 #define PU_SCL_1K 0B00000001
withboobs 0:ca29dd5bc1d8 505 #define PU_SCL_10K 0B00000010
withboobs 0:ca29dd5bc1d8 506 #define PU_SCL_50K 0B00000100
withboobs 0:ca29dd5bc1d8 507 #define PU_SCL_100K 0B00001000
withboobs 0:ca29dd5bc1d8 508
withboobs 0:ca29dd5bc1d8 509 #define HTPA_PROC_RAW 0x00
withboobs 0:ca29dd5bc1d8 510 #define HTPA_PROC_ELOFFS 0x01
withboobs 0:ca29dd5bc1d8 511 #define HTPA_PROC_THOFFS 0x02
withboobs 0:ca29dd5bc1d8 512 #define HTPA_PROC_CONVERT 0x04
withboobs 0:ca29dd5bc1d8 513 //
withboobs 0:ca29dd5bc1d8 514 // CLASS
withboobs 0:ca29dd5bc1d8 515 //
withboobs 0:ca29dd5bc1d8 516 class HTPA32x32
withboobs 0:ca29dd5bc1d8 517 {
withboobs 0:ca29dd5bc1d8 518 public:
withboobs 0:ca29dd5bc1d8 519 HTPA32x32(I2C * _i2c, I2C * _i2ce, uint8_t a1 = HTP_ADDRESS, uint8_t a2 = HTP_EEPROM_ADDRESS);
withboobs 0:ca29dd5bc1d8 520 volatile uint8_t
withboobs 0:ca29dd5bc1d8 521 mbit, bias, clk, bpa, pu, epsilon, gradScale, tn, proc, available;
withboobs 0:ca29dd5bc1d8 522 volatile int
withboobs 0:ca29dd5bc1d8 523 i2c_addr_htpa, i2c_addr_eeprom;
withboobs 0:ca29dd5bc1d8 524 volatile float
withboobs 0:ca29dd5bc1d8 525 PixC[1024], PixCmin, PixCmax, PTATgrad, PTAToffs;
withboobs 0:ca29dd5bc1d8 526 volatile uint16_t
withboobs 0:ca29dd5bc1d8 527 Ta_dK, Ta_dK_prev, Ta_dK_prev_prev;
withboobs 0:ca29dd5bc1d8 528 volatile int16_t
withboobs 0:ca29dd5bc1d8 529 Data[1024], ThGrad[1024], ThOffs[1024], ElOffs[256];
withboobs 0:ca29dd5bc1d8 530 volatile uint16_t
withboobs 0:ca29dd5bc1d8 531 TempTable_TA[NROFADELEMENTS];
withboobs 0:ca29dd5bc1d8 532 uint8_t
withboobs 0:ca29dd5bc1d8 533 ADC ( void ), ADC(uint8_t);
withboobs 0:ca29dd5bc1d8 534 uint8_t
withboobs 0:ca29dd5bc1d8 535 PU ( void ), PU(uint8_t);
withboobs 0:ca29dd5bc1d8 536 uint8_t
withboobs 0:ca29dd5bc1d8 537 BIAS ( void ), BIAS (uint8_t);
withboobs 0:ca29dd5bc1d8 538 uint8_t
withboobs 0:ca29dd5bc1d8 539 CLOCK ( void ), CLOCK (uint8_t);
withboobs 0:ca29dd5bc1d8 540 uint8_t
withboobs 0:ca29dd5bc1d8 541 BPA ( void ), BPA (uint8_t);
withboobs 0:ca29dd5bc1d8 542 uint8_t
withboobs 0:ca29dd5bc1d8 543 end (void);
withboobs 0:ca29dd5bc1d8 544 void
withboobs 0:ca29dd5bc1d8 545 init( void );
withboobs 0:ca29dd5bc1d8 546 void
withboobs 0:ca29dd5bc1d8 547 readb();
withboobs 0:ca29dd5bc1d8 548 void
withboobs 0:ca29dd5bc1d8 549 start();
withboobs 0:ca29dd5bc1d8 550 void
withboobs 0:ca29dd5bc1d8 551 apply_offsets( void );
withboobs 0:ca29dd5bc1d8 552 uint16_t
withboobs 0:ca29dd5bc1d8 553 find_dk_from_v ( int16_t v );
withboobs 0:ca29dd5bc1d8 554
withboobs 0:ca29dd5bc1d8 555 private:
withboobs 0:ca29dd5bc1d8 556 I2C * i2c, *i2ce;
withboobs 0:ca29dd5bc1d8 557 uint8_t
withboobs 0:ca29dd5bc1d8 558 b;
withboobs 0:ca29dd5bc1d8 559 void
withboobs 0:ca29dd5bc1d8 560 read_eeprom(uint8_t HiReg, uint8_t LoReg, char *data_ptr, int DCnt);
withboobs 0:ca29dd5bc1d8 561 void
withboobs 0:ca29dd5bc1d8 562 download_PIJ( void );
withboobs 0:ca29dd5bc1d8 563 void
withboobs 0:ca29dd5bc1d8 564 find_temptable_from_ta ( void );
withboobs 0:ca29dd5bc1d8 565 };
withboobs 0:ca29dd5bc1d8 566
withboobs 0:ca29dd5bc1d8 567
withboobs 0:ca29dd5bc1d8 568
withboobs 0:ca29dd5bc1d8 569 #endif