parameters: (argv)
docstring: Default values
docstring_summary: Default values
docstring_tokens: Default values
function: def main(argv):
      "Default values"
      t1 = 25                                 # low temperature in Kelvin (25 degC)
      r1 = 100000                             # resistance at low temperature (10 kOhm)
      t2 = 150                                # middle temperature in Kelvin (150 degC)
      r2 = 1641.9                             # resistance at middle temperature (1.6 KOhm)
      t3 = 250                                # high temperature in Kelvin (250 degC)
      r3 = 226.15                             # resistance at high temperature (226.15 Ohm)
      rp = 4700;                              # pull-up resistor (4.7 kOhm)
      num_temps = 36;                         # number of entries for look-up table
  
      try:
          opts, args = getopt.getopt(argv, "h", ["help", "rp=", "t1=", "t2=", "t3=", "num-temps="])
      except getopt.GetoptError as err:
          print(str(err))
          usage()
          sys.exit(2)
  
      for opt, arg in opts:
          if opt in ("-h", "--help"):
              usage()
              sys.exit()
          elif opt == "--rp":
              rp = int(arg)
          elif opt == "--t1":
              arg =  arg.split(':')
              t1 = float(arg[0])
              r1 = float(arg[1])
          elif opt == "--t2":
              arg =  arg.split(':')
              t2 = float(arg[0])
              r2 = float(arg[1])
          elif opt == "--t3":
              arg =  arg.split(':')
              t3 = float(arg[0])
              r3 = float(arg[1])
          elif opt == "--num-temps":
              num_temps = int(arg)
  
      t = Thermistor(rp, t1, r1, t2, r2, t3, r3)
      increment = int((ARES-1)/(num_temps-1));
      step = (TMIN-TMAX) / (num_temps-1)
      low_bound = t.temp(ARES-1);
      up_bound = t.temp(1);
      min_temp = int(TMIN if TMIN > low_bound else low_bound)
      max_temp = int(TMAX if TMAX < up_bound else up_bound)
      temps = list(range(max_temp, TMIN+step, step));
  
      print("// Thermistor lookup table for Marlin")
      print("// ./createTemperatureLookupMarlin.py --rp=%s --t1=%s:%s --t2=%s:%s --t3=%s:%s --num-temps=%s" % (rp, t1, r1, t2, r2, t3, r3, num_temps))
      print("// Steinhart-Hart Coefficients: a=%.15g, b=%.15g, c=%.15g " % (t.c1, t.c2, t.c3))
      print("// Theoretical limits of thermistor: %.2f to %.2f degC" % (low_bound, up_bound))
      print()
      print("const short temptable[][2] PROGMEM = {")
  
      for temp in temps:
          adc = t.adc(temp)
          print("    { OV(%7.2f), %4s }%s // v=%.3f\tr=%.3f\tres=%.3f degC/count" % (adc , temp, \
                          ',' if temp != temps[-1] else ' ', \
                          t.voltage(adc), \
                          t.resist( adc), \
                          t.resol(  adc) \
                      ))
      print("};")
function_tokens: def main ( argv ) : t1 = 25 # low temperature in Kelvin (25 degC) r1 = 100000 # resistance at low temperature (10 kOhm) t2 = 150 # middle temperature in Kelvin (150 degC) r2 = 1641.9 # resistance at middle temperature (1.6 KOhm) t3 = 250 # high temperature in Kelvin (250 degC) r3 = 226.15 # resistance at high temperature (226.15 Ohm) rp = 4700 # pull-up resistor (4.7 kOhm) num_temps = 36 # number of entries for look-up table try : opts , args = getopt . getopt ( argv , "h" , [ "help" , "rp=" , "t1=" , "t2=" , "t3=" , "num-temps=" ] ) except getopt . GetoptError as err : print ( str ( err ) ) usage ( ) sys . exit ( 2 ) for opt , arg in opts : if opt in ( "-h" , "--help" ) : usage ( ) sys . exit ( ) elif opt == "--rp" : rp = int ( arg ) elif opt == "--t1" : arg = arg . split ( ':' ) t1 = float ( arg [ 0 ] ) r1 = float ( arg [ 1 ] ) elif opt == "--t2" : arg = arg . split ( ':' ) t2 = float ( arg [ 0 ] ) r2 = float ( arg [ 1 ] ) elif opt == "--t3" : arg = arg . split ( ':' ) t3 = float ( arg [ 0 ] ) r3 = float ( arg [ 1 ] ) elif opt == "--num-temps" : num_temps = int ( arg ) t = Thermistor ( rp , t1 , r1 , t2 , r2 , t3 , r3 ) increment = int ( ( ARES - 1 ) / ( num_temps - 1 ) ) step = ( TMIN - TMAX ) / ( num_temps - 1 ) low_bound = t . temp ( ARES - 1 ) up_bound = t . temp ( 1 ) min_temp = int ( TMIN if TMIN > low_bound else low_bound ) max_temp = int ( TMAX if TMAX < up_bound else up_bound ) temps = list ( range ( max_temp , TMIN + step , step ) ) print ( "// Thermistor lookup table for Marlin" ) print ( "// ./createTemperatureLookupMarlin.py --rp=%s --t1=%s:%s --t2=%s:%s --t3=%s:%s --num-temps=%s" % ( rp , t1 , r1 , t2 , r2 , t3 , r3 , num_temps ) ) print ( "// Steinhart-Hart Coefficients: a=%.15g, b=%.15g, c=%.15g " % ( t . c1 , t . c2 , t . c3 ) ) print ( "// Theoretical limits of thermistor: %.2f to %.2f degC" % ( low_bound , up_bound ) ) print ( ) print ( "const short temptable[][2] PROGMEM = {" ) for temp in temps : adc = t . adc ( temp ) print ( "    { OV(%7.2f), %4s }%s // v=%.3f\tr=%.3f\tres=%.3f degC/count" % ( adc , temp , ',' if temp != temps [ - 1 ] else ' ' , t . voltage ( adc ) , t . resist ( adc ) , t . resol ( adc ) ) ) print ( "};" )