diff --git a/log_tristar.py b/log_tristar.py index 33d6973..a28286a 100644 --- a/log_tristar.py +++ b/log_tristar.py @@ -79,6 +79,7 @@ if "tristar" in log_conf: if "sqlserver" in log_conf: channel_info[i]['meas_data'].set_sql(host=hostname,port=port) +div_scale=2**31 if btristar: while True: @@ -88,14 +89,16 @@ if btristar: print("could not get data from tristar") else: try: - channel_info["volt_scale"]['meas_data'].append(int(rr.registers[0]*65536+rr.registers[1])) + volt_scale=float(rr.registers[0]*65536+rr.registers[1])/div_scale except: print("could not read from tristar") else: - channel_info["amp_scale"]['meas_data'].append(int(rr.registers[2]*65536+rr.registers[3])) - channel_info["volt_bat_term"]['meas_data'].append(int(rr.registers[25])) - channel_info["volt_bat_sens"]['meas_data'].append(int(rr.registers[26])) - channel_info["volt_arr"]['meas_data'].append(int(rr.registers[27])) # Array voltage + amp_scale=float(rr.registers[2]*65536+rr.registers[3])/div_scale + channel_info["volt_scale"]['meas_data'].append(volt_scale) + channel_info["amp_scale"]['meas_data'].append(amp_scale) + channel_info["volt_bat_term"]['meas_data'].append(float(rr.registers[25])*volt_scale) + channel_info["volt_bat_sens"]['meas_data'].append(float(rr.registers[26])*volt_scale) + channel_info["volt_arr"]['meas_data'].append(float(rr.registers[27])*volt_scale) # Array voltage channel_info["amp_bat"]['meas_data'].append(int(rr.registers[28])) # Battery current channel_info["amp_arr"]['meas_data'].append(int(rr.registers[29])) # Array current channel_info["temp_heatsink"]['meas_data'].append(int(rr.registers[35])) # Temperature heatsink