Skip to content

Commit

Permalink
Merge pull request #1 from alchemyEngine/main
Browse files Browse the repository at this point in the history
  • Loading branch information
tanaes committed Aug 3, 2021
2 parents 781af77 + cf19d79 commit 11b048a
Showing 1 changed file with 33 additions and 10 deletions.
43 changes: 33 additions & 10 deletions measure_thermal_behavior.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,21 @@ def write_metadata(meta):
dataout.write('### METADATA END ###\n')


def query_xy_middle():
resp = get(BASE_URL + '/printer/objects/query?configfile').json()
config = resp['result']['status']['configfile']['settings']

x_min = config['stepper_x']['position_min']
x_max = config['stepper_x']['position_max']
y_min = config['stepper_y']['position_min']
y_max = config['stepper_y']['position_max']

x_mid = x_max - (x_max-x_min)/2
y_mid = y_max - (y_max-y_min)/2

return [x_mid, y_mid]


def send_gcode_nowait(cmd=''):
url = BASE_URL + "/printer/gcode/script?script=%s" % cmd
post(url)
Expand All @@ -137,6 +152,14 @@ def send_gcode(cmd='', retries=1):
return False


def park_head_center():
xy_coords = query_xy_middle()
send_gcode_nowait("G1 Z10 F300")

park_cmd = "G1 X%.1f Y%.1f F18000" % (xy_coords[0], xy_coords[1])
send_gcode_nowait(park_cmd)


def set_bedtemp(t=0):
temp_set = False
cmd = 'SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=%.1f' % t
Expand Down Expand Up @@ -223,7 +246,7 @@ def query_temp_sensors():
extra_t_str += '&%s' % CHAMBER_SENSOR
if FRAME_SENSOR:
extra_t_str += '&%s' % FRAME_SENSOR
if EXTRA_SENSORS != {}:
if EXTRA_SENSORS:
extra_t_str += '&%s' % '&'.join(EXTRA_SENSORS.values())

base_t_str = 'extruder&heater_bed'
Expand All @@ -238,12 +261,12 @@ def query_temp_sensors():
frame_current = -180.

extra_temps = {}
if EXTRA_SENSORS != {}:
try:
for sensor in EXTRA_SENSORS:
if EXTRA_SENSORS:
for sensor in EXTRA_SENSORS:
try:
extra_temps[sensor] = resp[EXTRA_SENSORS[sensor]]['temperature']
except KeyError:
extra_temps[sensor] = -180.
except KeyError:
extra_temps[sensor] = -180.

bed_current = resp['heater_bed']['temperature']
bed_target = resp['heater_bed']['target']
Expand Down Expand Up @@ -275,15 +298,13 @@ def query_mcu_z_pos():


def wait_for_bedtemp():
global start_time
at_temp = False
print('Heating started')
while(1):
temps = query_temp_sensors()
if temps['bed_temp'] >= BED_TEMPERATURE-0.5:
at_temp = True
break
start_time = datetime.now()
print('\nBed temp reached')


Expand Down Expand Up @@ -324,6 +345,7 @@ def measure():
temps.update(collect_datapoint(index))
index += 1
print('DONE', " "*20)
park_head_center()
else:
t_minus = ((last_measurement +
timedelta(minutes=MEASURE_INTERVAL))-now).seconds
Expand Down Expand Up @@ -361,7 +383,9 @@ def main():
set_bedtemp(BED_TEMPERATURE)
set_hetemp(HE_TEMPERATURE)

park_head_center()
wait_for_bedtemp()
start_time = datetime.now()

# Take cold mesh
take_bed_mesh()
Expand All @@ -374,9 +398,9 @@ def main():
'mesh': cold_mesh}

print('Cold mesh taken, waiting for %s minutes' % (HOT_DURATION * 60))
# wait for heat soak

temps = {}
# wait for heat soak
while(1):
now = datetime.now()
if (now - start_time) >= timedelta(hours=HOT_DURATION):
Expand All @@ -399,7 +423,6 @@ def main():
print('Hot measurements complete!')
set_bedtemp()

start_time = datetime.now()
while(1):
now = datetime.now()
if (now - start_time) >= timedelta(hours=HOT_DURATION+COOL_DURATION):
Expand Down

0 comments on commit 11b048a

Please sign in to comment.