mirror of
https://github.com/CopterExpress/clever-show.git
synced 2026-05-26 23:19:33 +00:00
Added checks to server routes
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from flask import Blueprint, request, jsonify
|
||||
from web_server_models import set_delay_manually, get_delay_manually, copters
|
||||
from server import Client
|
||||
from time import time
|
||||
|
||||
misc_api = Blueprint('misc_api', __name__, template_folder='templates')
|
||||
|
||||
@@ -39,7 +40,8 @@ def flip_selected():
|
||||
ip = request.args.get("ip")
|
||||
for copter in copters:
|
||||
if copter.ip == ip:
|
||||
copter.client.send_message("flip")
|
||||
if takeoff_checks(copter):
|
||||
copter.client.send_message("flip")
|
||||
return jsonify({'m': 'ok'})
|
||||
|
||||
|
||||
@@ -48,7 +50,8 @@ def takeoff_selected():
|
||||
ip = request.args.get("ip")
|
||||
for copter in copters:
|
||||
if copter.ip == ip:
|
||||
copter.client.send_message("takeoff")
|
||||
if takeoff_checks(copter):
|
||||
copter.client.send_message("takeoff")
|
||||
return jsonify({'m': 'ok'})
|
||||
|
||||
|
||||
@@ -68,3 +71,67 @@ def resume_selected():
|
||||
if copter.ip == ip:
|
||||
copter.client.send_message("resume")
|
||||
return jsonify({'m': 'ok'})
|
||||
|
||||
|
||||
def all_checks(copter):
|
||||
copter.refresh()
|
||||
checks = [check_anim(copter.anim_id),
|
||||
check_bat_p(((float(copter.batt_voltage) - 3.2) / (4.2 - 3.2)) * 100),
|
||||
check_bat_v(copter.cell_voltage),
|
||||
check_selfcheck(copter.selfcheck),
|
||||
check_time_delta(round(float(copter.time) - time(), 3))]
|
||||
return not (False in checks)
|
||||
|
||||
|
||||
def takeoff_checks(copter):
|
||||
copter.refresh()
|
||||
checks = [check_bat_p(((float(copter.batt_voltage) - 3.2) / (4.2 - 3.2)) * 100),
|
||||
check_bat_v(copter.cell_voltage),
|
||||
check_selfcheck(copter.selfcheck)]
|
||||
return not (False in checks)
|
||||
|
||||
|
||||
def check_anim(item):
|
||||
if not item:
|
||||
return None
|
||||
if str(item) == 'No animation':
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
|
||||
def check_bat_v(item):
|
||||
if not item:
|
||||
return None
|
||||
if float(item) > 3.2: # todo config
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def check_bat_p(item):
|
||||
if not item:
|
||||
return None
|
||||
if float(item) > 30: # todo config
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
# return True #For testing
|
||||
|
||||
|
||||
def check_selfcheck(item):
|
||||
if not item:
|
||||
return None
|
||||
if item == "OK":
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def check_time_delta(item):
|
||||
if not item:
|
||||
return None
|
||||
if abs(float(item)) < 1:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
from flask import Blueprint, request, jsonify
|
||||
from web_server_models import copters, WebCopter
|
||||
from server import Client
|
||||
from time import time
|
||||
|
||||
selfcheck_api = Blueprint('selfcheck_api', __name__, template_folder='templates')
|
||||
|
||||
@@ -97,67 +96,3 @@ def calibrate_level_selected():
|
||||
if copter.ip == ip:
|
||||
copter.client.send_message("calibrate_level")
|
||||
return jsonify({'m': 'ok'})
|
||||
|
||||
|
||||
def all_checks(copter):
|
||||
copter.refresh()
|
||||
checks = [check_anim(copter.anim_id),
|
||||
check_bat_p(((float(copter.batt_voltage) - 3.2) / (4.2 - 3.2)) * 100),
|
||||
check_bat_v(copter.cell_voltage),
|
||||
check_selfcheck(copter.selfcheck),
|
||||
check_time_delta(round(float(copter.time) - time(), 3))]
|
||||
return not (False in checks)
|
||||
|
||||
|
||||
def takeoff_checks(copter):
|
||||
copter.refresh()
|
||||
checks = [check_bat_p(((float(copter.batt_voltage) - 3.2) / (4.2 - 3.2)) * 100),
|
||||
check_bat_v(copter.cell_voltage),
|
||||
check_selfcheck(copter.selfcheck)]
|
||||
return not (False in checks)
|
||||
|
||||
|
||||
def check_anim(item):
|
||||
if not item:
|
||||
return None
|
||||
if str(item) == 'No animation':
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
|
||||
def check_bat_v(item):
|
||||
if not item:
|
||||
return None
|
||||
if float(item) > 3.2: # todo config
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def check_bat_p(item):
|
||||
if not item:
|
||||
return None
|
||||
if float(item) > 30: # todo config
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
# return True #For testing
|
||||
|
||||
|
||||
def check_selfcheck(item):
|
||||
if not item:
|
||||
return None
|
||||
if item == "OK":
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def check_time_delta(item):
|
||||
if not item:
|
||||
return None
|
||||
if abs(float(item)) < 1:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
from server import Server
|
||||
from web_server_models import copters, get_delay_manually
|
||||
from flask import Flask, render_template, jsonify, request
|
||||
from flask import Flask, render_template, jsonify
|
||||
from app_routes.selfcheck import selfcheck_api, refresh_copters
|
||||
from app_routes.file_sender import file_sender_api
|
||||
from app_routes.misc import misc_api
|
||||
from app_routes.misc import misc_api, all_checks
|
||||
|
||||
app = Flask(__name__, static_url_path='/static')
|
||||
app.register_blueprint(selfcheck_api)
|
||||
@@ -21,7 +21,8 @@ def home():
|
||||
@app.route('/start_animation', methods=['GET', 'POST'])
|
||||
def resume_selected():
|
||||
for copter in copters:
|
||||
server.send_starttime(copter.client, get_delay_manually())
|
||||
if all_checks(copter):
|
||||
server.send_starttime(copter.client, get_delay_manually())
|
||||
return jsonify({'m': 'ok'})
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
from server import Client
|
||||
from time import time
|
||||
|
||||
copters = []
|
||||
delay = 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user