def send_diagnostic_data(session_id, black_box_id, diagnostic_vars): end_query_time = int(time.time()) start_query_time = end_query_time - 10 query_msg = DataUtils.get_bb_query_msg(session_id, black_box_id, diagnostic_vars, start_query_time, end_query_time) query_result = zyre_communicator.get_query_data(query_msg) try: variables, data = DataUtils.parse_bb_data_msg(query_result) vel_vars, vel_data = get_variable_data('velocity', variables, data) socketio.emit('vel_data', json.dumps({ 'variables': vel_vars, 'data': vel_data }), namespace='/experiments') accel_vars, accel_data = get_variable_data('accel', variables, data) socketio.emit('accel_data', json.dumps({ 'variables': accel_vars, 'data': accel_data }), namespace='/experiments') gyro_vars, gyro_data = get_variable_data('gyro', variables, data) socketio.emit('gyro_data', json.dumps({ 'variables': gyro_vars, 'data': gyro_data }), namespace='/experiments') except Exception as exc: print('[send_diagnostic_data] {0} does not seem to be responding'. format(black_box_id)) print(str(exc)) global data_thread data_thread = None
def get_robot_data(): robot_id = request.args.get('robot_id', '', type=str) black_box_id = BBUtils.get_bb_id(robot_id) variable_list = request.args.get('variables').split(',') start_query_time = request.args.get('start_timestamp') end_query_time = request.args.get('end_timestamp') query_msg = DataUtils.get_bb_query_msg(session['uid'].hex, black_box_id, variable_list, start_query_time, end_query_time) query_result = zyre_communicator.get_query_data(query_msg) variables = list() data = list() message = '' try: variables, data = DataUtils.parse_bb_data_msg(query_result) except Exception as exc: print('[get_robot_data] %s' % str(exc)) message = 'Data could not be retrieved' return jsonify(variables=variables, data=data, message=message)