def MOB_handle(): global process_nav_data global disp_time global disp_lat global disp_long global waypoints_names global waypoints_lats global waypoints_longs global next_waypoint_name global mob_lat global mob_long global scale_choice global scale_pos global lo_cation global lo_cation_scale global disp_scale global tripometer global log_name next_waypoint_name.set(waypoints_names[1]) waypoints_lats[1] = process_nav_data[16][1] waypoints_longs[1] = process_nav_data[17][1] scale_pos = 0 lo_cation_scale = scale_choice[scale_pos] mark_points = dmsmodule.plot_marker(waypoints_lats[1], waypoints_longs[1], .5, lo_cation_scale, 1, process_nav_data[0][1], 0) mob_lat = mark_points[0] mob_long = mark_points[1] mob_position.set_xdata(mob_long) mob_position.set_ydata(mob_lat) lo_cation_axis = dmsmodule.location_axis(process_nav_data[16][1], process_nav_data[17][1], 4, 3, lo_cation_scale) lo_cation.axis(lo_cation_axis) disp_scale.set('Chart ' + str(round((lo_cation_scale * 4 / 3), 2)) + ' x ' + str(lo_cation_scale) + ' Nm') loc_canvas.draw() visualframe.update() data_log(tripometer, log_name, process_nav_data, 1) print '***Man Overboard***' print 'Time', disp_time.get() print 'Lat DMS', disp_lat.get() print 'long DMS', disp_long.get() print 'lat decimal', process_nav_data[16][1] print 'long decimal', process_nav_data[17][1]
def zoom_draw(): global lo_cation global lo_cation_scale global scale_choice global scale_pos global disp_scale global visualframe if scale_pos < 0: scale_pos = 0 if scale_pos > len(scale_choice): scale_pos = len(scale_choice) lo_cation_scale = scale_choice[scale_pos] disp_scale.set('Chart ' + str(round((lo_cation_scale * 4 / 3), 2)) + ' x ' + str(lo_cation_scale) + ' Nm') lo_cation_axis = dmsmodule.location_axis(process_nav_data[16][1], process_nav_data[17][1], 4, 3, lo_cation_scale) lo_cation.axis(lo_cation_axis) loc_canvas.draw() visualframe.update()
if MOB_reset == 0: if GPIO.input(4) == 0: MOB_reset = 1 MOB_handle() #Update location chart if nowtime - gctime > 10: print 'cycles ', counter print 'Distance ' + str(tripometer) + ' Nm' gctime = round(time.time(), pr) location_data_history(his_lat, his_long, process_nav_data[16][1], process_nav_data[17][1], max_storage, process_nav_data[0][1], process_nav_data[8][1]) lo_cation_axis = dmsmodule.location_axis(process_nav_data[16][1], process_nav_data[17][1], 4, 3, lo_cation_scale) trip_calculate(process_nav_data[16][1], process_nav_data[17][1], lastlat, lastlong) data_log(tripometer, log_name, process_nav_data, 0) lo_cation.axis(lo_cation_axis) loc_canvas.draw() visualframe.update() lastlat = process_nav_data[16][1] lastlong = process_nav_data[17][1] counter = 0 O_p_n_d = process_nav_data