Thermocouple mV conversion library
lut_script.py@1:5421fc992678, 2016-11-07 (annotated)
- Committer:
- adisuciu
- Date:
- Mon Nov 07 16:04:51 2016 +0000
- Revision:
- 1:5421fc992678
- Parent:
- 0:a878bf59a337
Updated include filename case
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| adisuciu | 0:a878bf59a337 | 1 | def isFloat(string): |
| adisuciu | 0:a878bf59a337 | 2 | try: |
| adisuciu | 0:a878bf59a337 | 3 | float(string) |
| adisuciu | 0:a878bf59a337 | 4 | return True |
| adisuciu | 0:a878bf59a337 | 5 | except ValueError: |
| adisuciu | 0:a878bf59a337 | 6 | return False |
| adisuciu | 0:a878bf59a337 | 7 | |
| adisuciu | 0:a878bf59a337 | 8 | with open("thermocouple.cpp","w") as out: |
| adisuciu | 0:a878bf59a337 | 9 | with open("Thermocouple_core_cpp.txt","r") as inp: |
| adisuciu | 0:a878bf59a337 | 10 | out.write(inp.read()) |
| adisuciu | 0:a878bf59a337 | 11 | out.write("\n\n\n") |
| adisuciu | 0:a878bf59a337 | 12 | pass |
| adisuciu | 0:a878bf59a337 | 13 | |
| adisuciu | 0:a878bf59a337 | 14 | with open("thermocouple.h","w") as out: |
| adisuciu | 0:a878bf59a337 | 15 | with open("Thermocouple_core_h.txt", "r") as inp: |
| adisuciu | 0:a878bf59a337 | 16 | out.write(inp.read()) |
| adisuciu | 0:a878bf59a337 | 17 | out.write("\n\n\n") |
| adisuciu | 0:a878bf59a337 | 18 | pass |
| adisuciu | 0:a878bf59a337 | 19 | |
| adisuciu | 0:a878bf59a337 | 20 | with open("thermocouple_lut.cpp","w") as out: |
| adisuciu | 0:a878bf59a337 | 21 | with open("Thermocouple_lut_core_cpp.txt","r") as inp: |
| adisuciu | 0:a878bf59a337 | 22 | out.write(inp.read()) |
| adisuciu | 0:a878bf59a337 | 23 | out.write("\n\n\n") |
| adisuciu | 0:a878bf59a337 | 24 | pass |
| adisuciu | 0:a878bf59a337 | 25 | |
| adisuciu | 0:a878bf59a337 | 26 | with open('tc.txt', 'r') as myfile: |
| adisuciu | 0:a878bf59a337 | 27 | initstr=myfile.read().replace('\n', ' ') |
| adisuciu | 0:a878bf59a337 | 28 | |
| adisuciu | 0:a878bf59a337 | 29 | |
| adisuciu | 0:a878bf59a337 | 30 | #print(initstr.split()); |
| adisuciu | 0:a878bf59a337 | 31 | splitted = initstr.split(); |
| adisuciu | 0:a878bf59a337 | 32 | |
| adisuciu | 0:a878bf59a337 | 33 | while splitted: |
| adisuciu | 0:a878bf59a337 | 34 | i=0 |
| adisuciu | 0:a878bf59a337 | 35 | |
| adisuciu | 0:a878bf59a337 | 36 | for word in splitted: |
| adisuciu | 0:a878bf59a337 | 37 | if(word == 'type'): |
| adisuciu | 0:a878bf59a337 | 38 | break |
| adisuciu | 0:a878bf59a337 | 39 | i=i+1 |
| adisuciu | 0:a878bf59a337 | 40 | del splitted[:i+1] |
| adisuciu | 0:a878bf59a337 | 41 | if not splitted: |
| adisuciu | 0:a878bf59a337 | 42 | break |
| adisuciu | 0:a878bf59a337 | 43 | tctype = splitted[0][0].lower() |
| adisuciu | 0:a878bf59a337 | 44 | |
| adisuciu | 0:a878bf59a337 | 45 | class_name = "Thermocouple_Type_" + tctype.capitalize() |
| adisuciu | 0:a878bf59a337 | 46 | lut_def_name = "TYPE_" + tctype.capitalize() + "_LUT" |
| adisuciu | 0:a878bf59a337 | 47 | print(lut_def_name) |
| adisuciu | 0:a878bf59a337 | 48 | |
| adisuciu | 0:a878bf59a337 | 49 | i=0 |
| adisuciu | 0:a878bf59a337 | 50 | state=0 |
| adisuciu | 0:a878bf59a337 | 51 | lut = [] |
| adisuciu | 0:a878bf59a337 | 52 | for word in splitted: |
| adisuciu | 0:a878bf59a337 | 53 | if(word=="************************************"): |
| adisuciu | 0:a878bf59a337 | 54 | break |
| adisuciu | 0:a878bf59a337 | 55 | if(word=="mV"): |
| adisuciu | 0:a878bf59a337 | 56 | state = 1 |
| adisuciu | 0:a878bf59a337 | 57 | continue |
| adisuciu | 0:a878bf59a337 | 58 | if(state == 1 and isFloat(word)): |
| adisuciu | 0:a878bf59a337 | 59 | lut.append(word) |
| adisuciu | 0:a878bf59a337 | 60 | else: |
| adisuciu | 0:a878bf59a337 | 61 | state=0 |
| adisuciu | 0:a878bf59a337 | 62 | i=i+1 |
| adisuciu | 0:a878bf59a337 | 63 | print(lut) |
| adisuciu | 0:a878bf59a337 | 64 | del splitted[:i] |
| adisuciu | 0:a878bf59a337 | 65 | i=0 |
| adisuciu | 0:a878bf59a337 | 66 | |
| adisuciu | 0:a878bf59a337 | 67 | globaloffset = lut[0] |
| adisuciu | 0:a878bf59a337 | 68 | |
| adisuciu | 0:a878bf59a337 | 69 | if(float(lut[0]) == float(lut[2])-10): |
| adisuciu | 0:a878bf59a337 | 70 | del lut[:3] |
| adisuciu | 0:a878bf59a337 | 71 | else: |
| adisuciu | 0:a878bf59a337 | 72 | del lut[0] |
| adisuciu | 0:a878bf59a337 | 73 | |
| adisuciu | 0:a878bf59a337 | 74 | j=0 |
| adisuciu | 0:a878bf59a337 | 75 | print lut |
| adisuciu | 0:a878bf59a337 | 76 | lutfloat=[] |
| adisuciu | 0:a878bf59a337 | 77 | for val in lut: |
| adisuciu | 0:a878bf59a337 | 78 | b=1 |
| adisuciu | 0:a878bf59a337 | 79 | if(i%11==0): |
| adisuciu | 0:a878bf59a337 | 80 | #print "11 " + val |
| adisuciu | 0:a878bf59a337 | 81 | b=0 |
| adisuciu | 0:a878bf59a337 | 82 | if(i%12==0): |
| adisuciu | 0:a878bf59a337 | 83 | #print "12 "+ val |
| adisuciu | 0:a878bf59a337 | 84 | i=0 |
| adisuciu | 0:a878bf59a337 | 85 | b=0 |
| adisuciu | 0:a878bf59a337 | 86 | i=i+1 |
| adisuciu | 0:a878bf59a337 | 87 | j=j+1 |
| adisuciu | 0:a878bf59a337 | 88 | if(b): |
| adisuciu | 0:a878bf59a337 | 89 | lutfloat.append(float(val)) |
| adisuciu | 0:a878bf59a337 | 90 | |
| adisuciu | 0:a878bf59a337 | 91 | |
| adisuciu | 0:a878bf59a337 | 92 | #print "unsorted" |
| adisuciu | 0:a878bf59a337 | 93 | #print lutfloat |
| adisuciu | 0:a878bf59a337 | 94 | lutfloat.sort() |
| adisuciu | 0:a878bf59a337 | 95 | #print "sorted" |
| adisuciu | 0:a878bf59a337 | 96 | #print lutfloat |
| adisuciu | 0:a878bf59a337 | 97 | i=0 |
| adisuciu | 0:a878bf59a337 | 98 | with open("thermocouple_lut.cpp", "a") as out: |
| adisuciu | 0:a878bf59a337 | 99 | out.write("#ifdef "+lut_def_name+"\n") |
| adisuciu | 0:a878bf59a337 | 100 | out.write("const int16_t " + class_name + "::lut_offset = " + str(globaloffset)+";\n") |
| adisuciu | 0:a878bf59a337 | 101 | out.write("const uint16_t " + class_name + "::lut_size = " + str(len(lutfloat))+";\n") |
| adisuciu | 0:a878bf59a337 | 102 | out.write("const int32_t "+class_name+"::lut["+str(len(lutfloat))+"] = {\n") |
| adisuciu | 0:a878bf59a337 | 103 | for val in lutfloat: |
| adisuciu | 0:a878bf59a337 | 104 | out.write(str(int(val*1000)).rjust(8)+ ", ") |
| adisuciu | 0:a878bf59a337 | 105 | i=i+1 |
| adisuciu | 0:a878bf59a337 | 106 | if(i==10): |
| adisuciu | 0:a878bf59a337 | 107 | out.write("\n") |
| adisuciu | 0:a878bf59a337 | 108 | i=0 |
| adisuciu | 0:a878bf59a337 | 109 | out.write("};\n") |
| adisuciu | 0:a878bf59a337 | 110 | out.write("#endif\n\n") |
| adisuciu | 0:a878bf59a337 | 111 | i=0 |
| adisuciu | 0:a878bf59a337 | 112 | |
| adisuciu | 0:a878bf59a337 | 113 | ranger = [] |
| adisuciu | 0:a878bf59a337 | 114 | values = [] |
| adisuciu | 0:a878bf59a337 | 115 | exp=[] |
| adisuciu | 0:a878bf59a337 | 116 | ranger_index = -1 #HACK HACK HACK |
| adisuciu | 0:a878bf59a337 | 117 | |
| adisuciu | 0:a878bf59a337 | 118 | while(splitted[0] != '************************************'): |
| adisuciu | 0:a878bf59a337 | 119 | for word in splitted: |
| adisuciu | 0:a878bf59a337 | 120 | if(word=='range:'): |
| adisuciu | 0:a878bf59a337 | 121 | ranger.append([]) |
| adisuciu | 0:a878bf59a337 | 122 | values.append([]) |
| adisuciu | 0:a878bf59a337 | 123 | ranger_index=ranger_index+1 |
| adisuciu | 0:a878bf59a337 | 124 | break |
| adisuciu | 0:a878bf59a337 | 125 | if(word=='exponential:'): |
| adisuciu | 0:a878bf59a337 | 126 | exp.append(splitted[i+3]) |
| adisuciu | 0:a878bf59a337 | 127 | exp.append(splitted[i+6]) |
| adisuciu | 0:a878bf59a337 | 128 | exp.append(splitted[i+9]) |
| adisuciu | 0:a878bf59a337 | 129 | i=i+10 |
| adisuciu | 0:a878bf59a337 | 130 | print exp |
| adisuciu | 0:a878bf59a337 | 131 | break |
| adisuciu | 0:a878bf59a337 | 132 | i=i+1 |
| adisuciu | 0:a878bf59a337 | 133 | if(word=='exponential:'): |
| adisuciu | 0:a878bf59a337 | 134 | print("exponential") |
| adisuciu | 0:a878bf59a337 | 135 | del splitted[:i + 1] |
| adisuciu | 0:a878bf59a337 | 136 | i=0 |
| adisuciu | 0:a878bf59a337 | 137 | break |
| adisuciu | 0:a878bf59a337 | 138 | del splitted[:i+1] |
| adisuciu | 0:a878bf59a337 | 139 | print splitted |
| adisuciu | 0:a878bf59a337 | 140 | i=0 |
| adisuciu | 0:a878bf59a337 | 141 | |
| adisuciu | 0:a878bf59a337 | 142 | ranger[ranger_index].append(splitted[0]) |
| adisuciu | 0:a878bf59a337 | 143 | ranger[ranger_index].append(splitted[1]) |
| adisuciu | 0:a878bf59a337 | 144 | nr_of_coef = int(splitted[2])+1 |
| adisuciu | 0:a878bf59a337 | 145 | del splitted[:3] |
| adisuciu | 0:a878bf59a337 | 146 | for i in range(nr_of_coef): |
| adisuciu | 0:a878bf59a337 | 147 | values[ranger_index].append(splitted[i]) |
| adisuciu | 0:a878bf59a337 | 148 | del splitted[:nr_of_coef] |
| adisuciu | 0:a878bf59a337 | 149 | print ranger |
| adisuciu | 0:a878bf59a337 | 150 | print values |
| adisuciu | 0:a878bf59a337 | 151 | i=0 |
| adisuciu | 0:a878bf59a337 | 152 | |
| adisuciu | 0:a878bf59a337 | 153 | with open("Thermocouple.h", "a") as out: |
| adisuciu | 0:a878bf59a337 | 154 | poly_size = str(len(ranger)) |
| adisuciu | 0:a878bf59a337 | 155 | |
| adisuciu | 0:a878bf59a337 | 156 | out.write("class " + class_name + " : public Thermocouple\n{") |
| adisuciu | 0:a878bf59a337 | 157 | out.write("\npublic:\n\t~" + class_name +"();") |
| adisuciu | 0:a878bf59a337 | 158 | out.write("\n\tstatic const thermocouple_poly_subrange inv_poly[" + poly_size + "];\n") |
| adisuciu | 0:a878bf59a337 | 159 | out.write("\tstatic const int inv_poly_size;\n\tfloat convert_inv(float temp);\n\n") |
| adisuciu | 0:a878bf59a337 | 160 | |
| adisuciu | 0:a878bf59a337 | 161 | with open("Thermocouple.cpp", "a") as out: |
| adisuciu | 0:a878bf59a337 | 162 | |
| adisuciu | 0:a878bf59a337 | 163 | out.write("const int " + class_name + "::inv_poly_size = " + str(len(ranger)) + ";\n") |
| adisuciu | 0:a878bf59a337 | 164 | out.write("const Thermocouple::thermocouple_poly_subrange " + class_name + "::inv_poly[" + poly_size + "] =\n{\n") |
| adisuciu | 0:a878bf59a337 | 165 | for ran in ranger: |
| adisuciu | 0:a878bf59a337 | 166 | poly = [] |
| adisuciu | 0:a878bf59a337 | 167 | power = [] |
| adisuciu | 0:a878bf59a337 | 168 | for val in values[i]: |
| adisuciu | 0:a878bf59a337 | 169 | a = val.split("E") |
| adisuciu | 0:a878bf59a337 | 170 | poly.append(a[0]) |
| adisuciu | 0:a878bf59a337 | 171 | power.append(int(a[1])) |
| adisuciu | 0:a878bf59a337 | 172 | print(poly) |
| adisuciu | 0:a878bf59a337 | 173 | print(power) |
| adisuciu | 0:a878bf59a337 | 174 | out.write("\t{") |
| adisuciu | 0:a878bf59a337 | 175 | for r in ran: |
| adisuciu | 0:a878bf59a337 | 176 | out.write(r.rjust(11)) |
| adisuciu | 0:a878bf59a337 | 177 | out.write("// characteristic curve for temp range between " + ran[0] + " and " + ran[1] + "\n\t{") |
| adisuciu | 0:a878bf59a337 | 178 | for p in poly: |
| adisuciu | 0:a878bf59a337 | 179 | out.write(str(p).rjust(11) + ",") |
| adisuciu | 0:a878bf59a337 | 180 | out.write("},\n") |
| adisuciu | 0:a878bf59a337 | 181 | out.write("\t{") |
| adisuciu | 0:a878bf59a337 | 182 | for p in power: |
| adisuciu | 0:a878bf59a337 | 183 | # print(p) |
| adisuciu | 0:a878bf59a337 | 184 | out.write(str(p).rjust(11) + ",") |
| adisuciu | 0:a878bf59a337 | 185 | out.write("},\n\t") |
| adisuciu | 0:a878bf59a337 | 186 | out.write(str(len(poly))) |
| adisuciu | 0:a878bf59a337 | 187 | out.write(" }") |
| adisuciu | 0:a878bf59a337 | 188 | |
| adisuciu | 0:a878bf59a337 | 189 | poly = [] |
| adisuciu | 0:a878bf59a337 | 190 | power = [] |
| adisuciu | 0:a878bf59a337 | 191 | i = i + 1 |
| adisuciu | 0:a878bf59a337 | 192 | if i != len(ranger): |
| adisuciu | 0:a878bf59a337 | 193 | out.write(",") |
| adisuciu | 0:a878bf59a337 | 194 | out.write("\n") |
| adisuciu | 0:a878bf59a337 | 195 | out.write("};\n") |
| adisuciu | 0:a878bf59a337 | 196 | |
| adisuciu | 0:a878bf59a337 | 197 | out.write( |
| adisuciu | 0:a878bf59a337 | 198 | "\nfloat " + class_name + "::convert_inv(float temp)\n{\n\treturn Thermocouple::convert(temp, inv_poly, inv_poly_size);\n}\n") |
| adisuciu | 0:a878bf59a337 | 199 | out.write( |
| adisuciu | 0:a878bf59a337 | 200 | "\nfloat " + class_name + "::lookup_inv(float temp)\n{""\n#ifdef " + lut_def_name + "\n\tif((temp+lut_offset)>lut_size)\n\t\treturn lut[lut_size-1];\n\telse\n\t\treturn lut[(uint16_t)temp+lut_offset];\n#else\n\t/* NOT IMPLEMENTED */\n\treturn 0;\n#endif\n}\n") |
| adisuciu | 0:a878bf59a337 | 201 | |
| adisuciu | 0:a878bf59a337 | 202 | i=0 |
| adisuciu | 0:a878bf59a337 | 203 | |
| adisuciu | 0:a878bf59a337 | 204 | for word in splitted: |
| adisuciu | 0:a878bf59a337 | 205 | if(word == 'Voltage' and splitted[i-1] != "Temperature"): |
| adisuciu | 0:a878bf59a337 | 206 | break |
| adisuciu | 0:a878bf59a337 | 207 | i=i+1 |
| adisuciu | 0:a878bf59a337 | 208 | |
| adisuciu | 0:a878bf59a337 | 209 | del splitted[:i+1] |
| adisuciu | 0:a878bf59a337 | 210 | i=0 |
| adisuciu | 0:a878bf59a337 | 211 | #print(splitted) |
| adisuciu | 0:a878bf59a337 | 212 | ranger = [] |
| adisuciu | 0:a878bf59a337 | 213 | values = [] |
| adisuciu | 0:a878bf59a337 | 214 | for word in splitted: |
| adisuciu | 0:a878bf59a337 | 215 | |
| adisuciu | 0:a878bf59a337 | 216 | if(word == 'Range:'): |
| adisuciu | 0:a878bf59a337 | 217 | break |
| adisuciu | 0:a878bf59a337 | 218 | ranger.append([word]) |
| adisuciu | 0:a878bf59a337 | 219 | #print(i) |
| adisuciu | 0:a878bf59a337 | 220 | i = i + 1 |
| adisuciu | 0:a878bf59a337 | 221 | |
| adisuciu | 0:a878bf59a337 | 222 | del splitted[:i+1] |
| adisuciu | 0:a878bf59a337 | 223 | for j in range(i): |
| adisuciu | 0:a878bf59a337 | 224 | ranger[j].append(splitted[j]) |
| adisuciu | 0:a878bf59a337 | 225 | values.append([]) |
| adisuciu | 0:a878bf59a337 | 226 | del splitted[:i] |
| adisuciu | 0:a878bf59a337 | 227 | #print(values) |
| adisuciu | 0:a878bf59a337 | 228 | |
| adisuciu | 0:a878bf59a337 | 229 | i=0 |
| adisuciu | 0:a878bf59a337 | 230 | for word in splitted: |
| adisuciu | 0:a878bf59a337 | 231 | if(word == "Error"): |
| adisuciu | 0:a878bf59a337 | 232 | break |
| adisuciu | 0:a878bf59a337 | 233 | values[i%len(ranger)].append(word) |
| adisuciu | 0:a878bf59a337 | 234 | i=i+1 |
| adisuciu | 0:a878bf59a337 | 235 | |
| adisuciu | 0:a878bf59a337 | 236 | |
| adisuciu | 0:a878bf59a337 | 237 | poly=[] |
| adisuciu | 0:a878bf59a337 | 238 | power = [] |
| adisuciu | 0:a878bf59a337 | 239 | i=0 |
| adisuciu | 0:a878bf59a337 | 240 | |
| adisuciu | 0:a878bf59a337 | 241 | with open("Thermocouple.h","a") as out: |
| adisuciu | 0:a878bf59a337 | 242 | poly_size = str(len(ranger)) |
| adisuciu | 0:a878bf59a337 | 243 | |
| adisuciu | 0:a878bf59a337 | 244 | out.write("\tstatic const thermocouple_poly_subrange poly["+poly_size+"];\n") |
| adisuciu | 0:a878bf59a337 | 245 | out.write("\tstatic const int poly_size;\n\tfloat convert(float voltage);\n") |
| adisuciu | 0:a878bf59a337 | 246 | out.write("#ifdef "+lut_def_name+"\n") |
| adisuciu | 0:a878bf59a337 | 247 | out.write("\tstatic const int32_t lut[];\n\tstatic const int16_t lut_offset;\n\tstatic const uint16_t lut_size;\n\tfloat lookup(float voltage);\n\tfloat lookup_inv(float temp);\n#endif\n};\n\n\n") |
| adisuciu | 0:a878bf59a337 | 248 | |
| adisuciu | 0:a878bf59a337 | 249 | |
| adisuciu | 0:a878bf59a337 | 250 | with open("Thermocouple.cpp","a") as out: |
| adisuciu | 0:a878bf59a337 | 251 | |
| adisuciu | 0:a878bf59a337 | 252 | out.write("const int "+ class_name + "::poly_size = "+str(len(ranger))+";\n") |
| adisuciu | 0:a878bf59a337 | 253 | out.write("const Thermocouple::thermocouple_poly_subrange "+ class_name+ "::poly["+poly_size+"] =\n{\n") |
| adisuciu | 0:a878bf59a337 | 254 | for ran in ranger: |
| adisuciu | 0:a878bf59a337 | 255 | for val in values[i]: |
| adisuciu | 0:a878bf59a337 | 256 | a=val.split("E") |
| adisuciu | 0:a878bf59a337 | 257 | poly.append(a[0]) |
| adisuciu | 0:a878bf59a337 | 258 | power.append(int(a[1])) |
| adisuciu | 0:a878bf59a337 | 259 | print(poly) |
| adisuciu | 0:a878bf59a337 | 260 | print(power) |
| adisuciu | 0:a878bf59a337 | 261 | out.write("\t{") |
| adisuciu | 0:a878bf59a337 | 262 | for r in ran: |
| adisuciu | 0:a878bf59a337 | 263 | out.write(r.rjust(11) +", ") |
| adisuciu | 0:a878bf59a337 | 264 | out.write("// characteristic curve for mV range between " + ran[0] +" and "+ ran[1]+ "\n\t{") |
| adisuciu | 0:a878bf59a337 | 265 | for p in poly: |
| adisuciu | 0:a878bf59a337 | 266 | out.write(str(p).rjust(11) + ",") |
| adisuciu | 0:a878bf59a337 | 267 | out.write("},\n") |
| adisuciu | 0:a878bf59a337 | 268 | out.write("\t{") |
| adisuciu | 0:a878bf59a337 | 269 | for p in power: |
| adisuciu | 0:a878bf59a337 | 270 | # print(p) |
| adisuciu | 0:a878bf59a337 | 271 | out.write(str(p).rjust(11) + ",") |
| adisuciu | 0:a878bf59a337 | 272 | out.write("},\n\t") |
| adisuciu | 0:a878bf59a337 | 273 | out.write(str(len(poly))) |
| adisuciu | 0:a878bf59a337 | 274 | out.write(" }") |
| adisuciu | 0:a878bf59a337 | 275 | |
| adisuciu | 0:a878bf59a337 | 276 | poly = [] |
| adisuciu | 0:a878bf59a337 | 277 | power = [] |
| adisuciu | 0:a878bf59a337 | 278 | i=i+1 |
| adisuciu | 0:a878bf59a337 | 279 | if i!=len(ranger): |
| adisuciu | 0:a878bf59a337 | 280 | out.write(",") |
| adisuciu | 0:a878bf59a337 | 281 | out.write("\n") |
| adisuciu | 0:a878bf59a337 | 282 | out.write("};\n") |
| adisuciu | 0:a878bf59a337 | 283 | out.write("\n" + class_name + "::~"+class_name+"()\n{\n\n}\n") |
| adisuciu | 0:a878bf59a337 | 284 | out.write("\nfloat "+ class_name +"::convert(float voltage)\n{\n\treturn Thermocouple::convert(voltage, poly, poly_size);\n}\n") |
| adisuciu | 0:a878bf59a337 | 285 | out.write("\nfloat "+class_name+"::lookup(float voltage)\n{""\n#ifdef "+lut_def_name+"\n\treturn Thermocouple::lookup(lut, voltage, lut_size, lut_offset);\n#else\n\t/* NOT IMPLEMENTED */\n\treturn 0;\n#endif\n}\n") |
| adisuciu | 0:a878bf59a337 | 286 | |
| adisuciu | 0:a878bf59a337 | 287 | with open("Thermocouple.h", "a") as out: |
| adisuciu | 0:a878bf59a337 | 288 | out.write("\n#endif\n") |
| adisuciu | 0:a878bf59a337 | 289 | |
| adisuciu | 0:a878bf59a337 | 290 | |
| adisuciu | 0:a878bf59a337 | 291 | |
| adisuciu | 0:a878bf59a337 | 292 | |
| adisuciu | 0:a878bf59a337 | 293 | |
| adisuciu | 0:a878bf59a337 | 294 | #print(ranger) |
| adisuciu | 0:a878bf59a337 | 295 | #print(values) |
| adisuciu | 0:a878bf59a337 | 296 | |
| adisuciu | 0:a878bf59a337 | 297 | |
| adisuciu | 0:a878bf59a337 | 298 | |
| adisuciu | 0:a878bf59a337 | 299 | |
| adisuciu | 0:a878bf59a337 | 300 |