From c736387125f5ba9a4945b55d17b22293a94ca4b7 Mon Sep 17 00:00:00 2001 From: FrogAi <91348155+FrogAi@users.noreply.github.com> Date: Thu, 9 May 2024 22:21:36 -0700 Subject: [PATCH] FrogPilot community - Fleet Manager Credit goes to mike8643! https: //github.com/mike8643 Co-Authored-By: mike8643 <98910897+mike8643@users.noreply.github.com> --- release/files_common | 1 + selfdrive/frogpilot/fleetmanager/README.md | 5 + .../frogpilot/fleetmanager/fleet_manager.py | 349 +++++++++++++ selfdrive/frogpilot/fleetmanager/helpers.py | 465 ++++++++++++++++++ .../frogpilot/fleetmanager/static/favicon.ico | 1 + .../frogpilot/fleetmanager/static/frog.png | Bin 0 -> 108573 bytes .../fleetmanager/templates/about.html | 21 + .../fleetmanager/templates/addr.html | 11 + .../fleetmanager/templates/addr_input.html | 64 +++ .../templates/amap_addr_input.html | 215 ++++++++ .../templates/amap_key_input.html | 20 + .../templates/app_token_input.html | 19 + .../fleetmanager/templates/error.html | 11 + .../fleetmanager/templates/error_log.html | 16 + .../fleetmanager/templates/error_logs.html | 14 + .../fleetmanager/templates/footage.html | 28 ++ .../templates/gmap_key_input.html | 18 + .../fleetmanager/templates/index.html | 16 + .../fleetmanager/templates/layout.html | 103 ++++ .../templates/nav_confirmation.html | 28 ++ .../templates/nav_directions.html | 149 ++++++ .../fleetmanager/templates/nonprime.html | 13 + .../fleetmanager/templates/preserved.html | 30 ++ .../fleetmanager/templates/prime.html | 9 + .../templates/public_token_input.html | 19 + .../fleetmanager/templates/route.html | 68 +++ .../fleetmanager/templates/screenrecords.html | 31 ++ .../fleetmanager/templates/tools.html | 78 +++ selfdrive/manager/process_config.py | 1 + selfdrive/navd/navd.py | 43 ++ system/fleetmanager/static/frog.png | Bin 0 -> 108573 bytes system/fleetmanager/templates/index.html | 16 + 32 files changed, 1862 insertions(+) create mode 100644 selfdrive/frogpilot/fleetmanager/README.md create mode 100644 selfdrive/frogpilot/fleetmanager/fleet_manager.py create mode 100644 selfdrive/frogpilot/fleetmanager/helpers.py create mode 100644 selfdrive/frogpilot/fleetmanager/static/favicon.ico create mode 100644 selfdrive/frogpilot/fleetmanager/static/frog.png create mode 100644 selfdrive/frogpilot/fleetmanager/templates/about.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/addr.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/addr_input.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/amap_addr_input.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/amap_key_input.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/app_token_input.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/error.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/error_log.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/error_logs.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/footage.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/gmap_key_input.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/index.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/layout.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/nav_confirmation.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/nav_directions.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/nonprime.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/preserved.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/prime.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/public_token_input.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/route.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/screenrecords.html create mode 100644 selfdrive/frogpilot/fleetmanager/templates/tools.html create mode 100644 system/fleetmanager/static/frog.png create mode 100644 system/fleetmanager/templates/index.html diff --git a/release/files_common b/release/files_common index cc752ad..b3d0b76 100644 --- a/release/files_common +++ b/release/files_common @@ -569,3 +569,4 @@ selfdrive/frogpilot/frogpilot_process.py selfdrive/frogpilot/controls/frogpilot_planner.py selfdrive/frogpilot/controls/lib/frogpilot_functions.py selfdrive/frogpilot/controls/lib/frogpilot_variables.py +selfdrive/frogpilot/fleet_manager/fleet_manager.py diff --git a/selfdrive/frogpilot/fleetmanager/README.md b/selfdrive/frogpilot/fleetmanager/README.md new file mode 100644 index 0000000..ac554e0 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/README.md @@ -0,0 +1,5 @@ +# Fleet Manager + +Fleet Manger on openpilot allows viewing dashcam footage, screen recordings, error logs and on-device navigation by connecting to the comma device via the same network, with your mobile device or PC. Big thanks to [actuallylemoncurd](https://github.com/actuallylemoncurd), [AlexandreSato](https://github.com/alexandreSato), [ntegan1](https://github.com/ntegan1), [royjr](https://github.com/royjr), [sunnyhaibin] (https://github.com/sunnypilot), [dragonpilot](https://github.com/dragonpilot-community) and [chatgpt](https://chat.openai.com/). + +The network can be set up by Wi-Fi, mobile hotspot, or tethering on the comma device. Navigate to http://ipAddress:8082 to access. diff --git a/selfdrive/frogpilot/fleetmanager/fleet_manager.py b/selfdrive/frogpilot/fleetmanager/fleet_manager.py new file mode 100644 index 0000000..62a7426 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/fleet_manager.py @@ -0,0 +1,349 @@ +#!/usr/bin/env python3 +# otisserv - Copyright (c) 2019-, Rick Lan, dragonpilot community, and a number of other of contributors. +# Fleet Manager - [actuallylemoncurd](https://github.com/actuallylemoncurd), [AlexandreSato](https://github.com/alexandreSato), [ntegan1](https://github.com/ntegan1), [royjr](https://github.com/royjr), and [sunnyhaibin] (https://github.com/sunnypilot) +# Almost everything else - ChatGPT +# dirty PR pusher - mike8643 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +import os +import random +import secrets +import threading +import time + +from flask import Flask, jsonify, render_template, Response, request, send_from_directory, session, redirect, url_for +import requests +from requests.exceptions import ConnectionError +from openpilot.common.realtime import set_core_affinity +import openpilot.selfdrive.frogpilot.fleetmanager.helpers as fleet +from openpilot.system.hardware.hw import Paths +from openpilot.common.swaglog import cloudlog +import traceback + +app = Flask(__name__) + +@app.route("/") +def home_page(): + return render_template("index.html") + +@app.errorhandler(500) +def internal_error(exception): + print('500 error caught') + tberror = traceback.format_exc() + return render_template("error.html", error=tberror) + +@app.route("/footage/full//") +def full(cameratype, route): + chunk_size = 1024 * 512 # 5KiB + file_name = cameratype + (".ts" if cameratype == "qcamera" else ".hevc") + vidlist = "|".join(Paths.log_root() + "/" + segment + "/" + file_name for segment in fleet.segments_in_route(route)) + + def generate_buffered_stream(): + with fleet.ffmpeg_mp4_concat_wrap_process_builder(vidlist, cameratype, chunk_size) as process: + for chunk in iter(lambda: process.stdout.read(chunk_size), b""): + yield bytes(chunk) + return Response(generate_buffered_stream(), status=200, mimetype='video/mp4') + + +@app.route("/footage//") +def fcamera(cameratype, segment): + if not fleet.is_valid_segment(segment): + return render_template("error.html", error="invalid segment") + file_name = Paths.log_root() + "/" + segment + "/" + cameratype + (".ts" if cameratype == "qcamera" else ".hevc") + return Response(fleet.ffmpeg_mp4_wrap_process_builder(file_name).stdout.read(), status=200, mimetype='video/mp4') + + +@app.route("/footage/") +def route(route): + if len(route) != 20: + return render_template("error.html", error="route not found") + + if str(request.query_string) == "b''": + query_segment = str("0") + query_type = "qcamera" + else: + query_segment = (str(request.query_string).split(","))[0][2:] + query_type = (str(request.query_string).split(","))[1][:-1] + + links = "" + segments = "" + for segment in fleet.segments_in_route(route): + links += ""+segment+"
" + segments += "'"+segment+"'," + return render_template("route.html", route=route, query_type=query_type, links=links, segments=segments, query_segment=query_segment) + + +@app.route("/footage/") +@app.route("/footage") +def footage(): + route_paths = fleet.all_routes() + gifs = [] + for route_path in route_paths: + input_path = Paths.log_root() + route_path + "--0/qcamera.ts" + output_path = Paths.log_root() + route_path + "--0/preview.gif" + fleet.video_to_img(input_path, output_path) + gif_path = route_path + "--0/preview.gif" + gifs.append(gif_path) + zipped = zip(route_paths, gifs) + return render_template("footage.html", zipped=zipped) + +@app.route("/preserved/") +@app.route("/preserved") +def preserved(): + query_type = "qcamera" + route_paths = [] + gifs = [] + segments = fleet.preserved_routes() + for segment in segments: + input_path = Paths.log_root() + segment + "/qcamera.ts" + output_path = Paths.log_root() + segment + "/preview.gif" + fleet.video_to_img(input_path, output_path) + split_segment = segment.split("--") + route_paths.append(f"{split_segment[0]}--{split_segment[1]}?{split_segment[2]},{query_type}") + gif_path = segment + "/preview.gif" + gifs.append(gif_path) + + zipped = zip(route_paths, gifs, segments) + return render_template("preserved.html", zipped=zipped) + +@app.route("/screenrecords/") +@app.route("/screenrecords") +def screenrecords(): + rows = fleet.list_file(fleet.SCREENRECORD_PATH) + if not rows: + return render_template("error.html", error="no screenrecords found at:

" + fleet.SCREENRECORD_PATH) + return render_template("screenrecords.html", rows=rows, clip=rows[0]) + + +@app.route("/screenrecords/") +def screenrecord(clip): + return render_template("screenrecords.html", rows=fleet.list_files(fleet.SCREENRECORD_PATH), clip=clip) + + +@app.route("/screenrecords/play/pipe/") +def videoscreenrecord(file): + file_name = fleet.SCREENRECORD_PATH + file + return Response(fleet.ffplay_mp4_wrap_process_builder(file_name).stdout.read(), status=200, mimetype='video/mp4') + + +@app.route("/screenrecords/download/") +def download_file(clip): + return send_from_directory(fleet.SCREENRECORD_PATH, clip, as_attachment=True) + + +@app.route("/about") +def about(): + return render_template("about.html") + + +@app.route("/error_logs") +def error_logs(): + rows = fleet.list_file(fleet.ERROR_LOGS_PATH) + if not rows: + return render_template("error.html", error="no error logs found at:

" + fleet.ERROR_LOGS_PATH) + return render_template("error_logs.html", rows=rows) + + +@app.route("/error_logs/") +def open_error_log(file_name): + f = open(fleet.ERROR_LOGS_PATH + file_name) + error = f.read() + return render_template("error_log.html", file_name=file_name, file_content=error) + +@app.route("/addr_input", methods=['GET', 'POST']) +def addr_input(): + preload = fleet.preload_favs() + SearchInput = fleet.get_SearchInput() + token = fleet.get_public_token() + s_token = fleet.get_app_token() + gmap_key = fleet.get_gmap_key() + PrimeType = fleet.get_PrimeType() + lon = float(0.0) + lat = float(0.0) + if request.method == 'POST': + valid_addr = False + postvars = request.form.to_dict() + addr, lon, lat, valid_addr, token = fleet.parse_addr(postvars, lon, lat, valid_addr, token) + if not valid_addr: + # If address is not found, try searching + postvars = request.form.to_dict() + addr = request.form.get('addr_val') + addr, lon, lat, valid_addr, token = fleet.search_addr(postvars, lon, lat, valid_addr, token) + if valid_addr: + # If a valid address is found, redirect to nav_confirmation + return redirect(url_for('nav_confirmation', addr=addr, lon=lon, lat=lat)) + else: + return render_template("error.html") + elif PrimeType != 0: + return render_template("prime.html") + # amap stuff + elif SearchInput == 1: + amap_key, amap_key_2 = fleet.get_amap_key() + if amap_key == "" or amap_key is None or amap_key_2 == "" or amap_key_2 is None: + return redirect(url_for('amap_key_input')) + elif token == "" or token is None: + return redirect(url_for('public_token_input')) + elif s_token == "" or s_token is None: + return redirect(url_for('app_token_input')) + else: + return redirect(url_for('amap_addr_input')) + elif fleet.get_nav_active(): + if SearchInput == 2: + return render_template("nonprime.html", gmap_key=gmap_key, lon=lon, lat=lat, home=preload[0], work=preload[1], fav1=preload[2], fav2=preload[3], fav3=preload[4]) + else: + return render_template("nonprime.html", gmap_key=None, lon=None, lat=None, home=preload[0], work=preload[1], fav1=preload[2], fav2=preload[3], fav3=preload[4]) + elif token == "" or token is None: + return redirect(url_for('public_token_input')) + elif s_token == "" or s_token is None: + return redirect(url_for('app_token_input')) + elif SearchInput == 2: + lon, lat = fleet.get_last_lon_lat() + if gmap_key == "" or gmap_key is None: + return redirect(url_for('gmap_key_input')) + else: + return render_template("addr.html", gmap_key=gmap_key, lon=lon, lat=lat, home=preload[0], work=preload[1], fav1=preload[2], fav2=preload[3], fav3=preload[4]) + else: + return render_template("addr.html", gmap_key=None, lon=None, lat=None, home=preload[0], work=preload[1], fav1=preload[2], fav2=preload[3], fav3=preload[4]) + +@app.route("/nav_confirmation", methods=['GET', 'POST']) +def nav_confirmation(): + token = fleet.get_public_token() + lon = request.args.get('lon') + lat = request.args.get('lat') + addr = request.args.get('addr') + if request.method == 'POST': + postvars = request.form.to_dict() + fleet.nav_confirmed(postvars) + return redirect(url_for('addr_input')) + else: + return render_template("nav_confirmation.html", addr=addr, lon=lon, lat=lat, token=token) + +@app.route("/public_token_input", methods=['GET', 'POST']) +def public_token_input(): + if request.method == 'POST': + postvars = request.form.to_dict() + fleet.public_token_input(postvars) + return redirect(url_for('addr_input')) + else: + return render_template("public_token_input.html") + +@app.route("/app_token_input", methods=['GET', 'POST']) +def app_token_input(): + if request.method == 'POST': + postvars = request.form.to_dict() + fleet.app_token_input(postvars) + return redirect(url_for('addr_input')) + else: + return render_template("app_token_input.html") + +@app.route("/gmap_key_input", methods=['GET', 'POST']) +def gmap_key_input(): + if request.method == 'POST': + postvars = request.form.to_dict() + fleet.gmap_key_input(postvars) + return redirect(url_for('addr_input')) + else: + return render_template("gmap_key_input.html") + +@app.route("/amap_key_input", methods=['GET', 'POST']) +def amap_key_input(): + if request.method == 'POST': + postvars = request.form.to_dict() + fleet.amap_key_input(postvars) + return redirect(url_for('amap_addr_input')) + else: + return render_template("amap_key_input.html") + +@app.route("/amap_addr_input", methods=['GET', 'POST']) +def amap_addr_input(): + if request.method == 'POST': + postvars = request.form.to_dict() + fleet.nav_confirmed(postvars) + return redirect(url_for('amap_addr_input')) + else: + lon, lat = fleet.get_last_lon_lat() + amap_key, amap_key_2 = fleet.get_amap_key() + return render_template("amap_addr_input.html", lon=lon, lat=lat, amap_key=amap_key, amap_key_2=amap_key_2) + +@app.route("/CurrentStep.json", methods=['GET']) +def find_CurrentStep(): + directory = "/data/openpilot/selfdrive/manager/" + filename = "CurrentStep.json" + return send_from_directory(directory, filename, as_attachment=True) + +@app.route("/navdirections.json", methods=['GET']) +def find_nav_directions(): + directory = "/data/openpilot/selfdrive/manager/" + filename = "navdirections.json" + return send_from_directory(directory, filename, as_attachment=True) + +@app.route("/locations", methods=['GET']) +def get_locations(): + data = fleet.get_locations() + return Response(data, content_type="application/json") + +@app.route("/set_destination", methods=['POST']) +def set_destination(): + valid_addr = False + postvars = request.get_json() + data, valid_addr = fleet.set_destination(postvars, valid_addr) + if valid_addr: + return Response('{"success": true}', content_type='application/json') + else: + return Response('{"success": false}', content_type='application/json') + +@app.route("/navigation/", methods=['GET']) +def find_navicon(file_name): + directory = "/data/openpilot/selfdrive/assets/navigation/" + return send_from_directory(directory, file_name, as_attachment=True) + +@app.route("/previewgif/", methods=['GET']) +def find_previewgif(file_path): + directory = "/data/media/0/realdata/" + return send_from_directory(directory, file_path, as_attachment=True) + +@app.route("/tools", methods=['GET']) +def tools_route(): + return render_template("tools.html") + +@app.route("/get_toggle_values", methods=['GET']) +def get_toggle_values_route(): + toggle_values = fleet.get_all_toggle_values() + return jsonify(toggle_values) + +@app.route("/store_toggle_values", methods=['POST']) +def store_toggle_values_route(): + try: + updated_values = request.get_json() + fleet.store_toggle_values(updated_values) + return jsonify({"message": "Values updated successfully"}), 200 + except Exception as e: + return jsonify({"error": "Failed to update values", "details": str(e)}), 400 + +def main(): + try: + set_core_affinity([0, 1, 2, 3]) + except Exception: + cloudlog.exception("fleet_manager: failed to set core affinity") + app.secret_key = secrets.token_hex(32) + app.run(host="0.0.0.0", port=8082) + + +if __name__ == '__main__': + main() diff --git a/selfdrive/frogpilot/fleetmanager/helpers.py b/selfdrive/frogpilot/fleetmanager/helpers.py new file mode 100644 index 0000000..cfe6798 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/helpers.py @@ -0,0 +1,465 @@ +# otisserv - Copyright (c) 2019-, Rick Lan, dragonpilot community, and a number of other of contributors. +# Fleet Manager - [actuallylemoncurd](https://github.com/actuallylemoncurd), [AlexandreSato](https://github.com/alexandreSato), [ntegan1](https://github.com/ntegan1), [royjr](https://github.com/royjr), and [sunnyhaibin] (https://github.com/sunnypilot) +# Almost everything else - ChatGPT +# dirty PR pusher - mike8643 +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +import json +import math +import os +import requests +import subprocess +import time +# otisserv conversion +from common.params import Params, ParamKeyType +from flask import render_template, request, session +from functools import wraps +from pathlib import Path + +from openpilot.system.hardware import PC +from openpilot.system.hardware.hw import Paths +from openpilot.system.loggerd.uploader import listdir_by_creation +from tools.lib.route import SegmentName +from typing import List +from openpilot.system.loggerd.xattr_cache import getxattr + +# otisserv conversion +from urllib.parse import parse_qs, quote + +pi = 3.1415926535897932384626 +x_pi = 3.14159265358979324 * 3000.0 / 180.0 +a = 6378245.0 +ee = 0.00669342162296594323 + +params = Params() +params_memory = Params("/dev/shm/params") +params_storage = Params("/persist/params") + +PRESERVE_ATTR_NAME = 'user.preserve' +PRESERVE_ATTR_VALUE = b'1' +PRESERVE_COUNT = 5 + + +# path to openpilot screen recordings and error logs +if PC: + SCREENRECORD_PATH = os.path.join(str(Path.home()), ".comma", "media", "0", "videos", "") + ERROR_LOGS_PATH = os.path.join(str(Path.home()), ".comma", "community", "crashes", "") +else: + SCREENRECORD_PATH = "/data/media/0/videos/" + ERROR_LOGS_PATH = "/data/community/crashes/" + + +def list_files(path): # still used for footage + return sorted(listdir_by_creation(path), reverse=True) + + +def list_file(path): # new function for screenrecords/error-logs + if os.path.exists(path): + files = os.listdir(path) + sorted_files = sorted(files, reverse=True) + else: + return [] # Return an empty list if there are no files or directory + return sorted_files + + +def is_valid_segment(segment): + try: + segment_to_segment_name(Paths.log_root(), segment) + return True + except AssertionError: + return False + + +def segment_to_segment_name(data_dir, segment): + fake_dongle = "ffffffffffffffff" + return SegmentName(str(os.path.join(data_dir, fake_dongle + "|" + segment))) + + +def all_segment_names(): + segments = [] + for segment in listdir_by_creation(Paths.log_root()): + try: + segments.append(segment_to_segment_name(Paths.log_root(), segment)) + except AssertionError: + pass + return segments + + +def all_routes(): + segment_names = all_segment_names() + route_names = [segment_name.route_name for segment_name in segment_names] + route_times = [route_name.time_str for route_name in route_names] + unique_routes = list(dict.fromkeys(route_times)) + return sorted(unique_routes, reverse=True) + +def preserved_routes(): + dirs = listdir_by_creation(Paths.log_root()) + preserved_segments = get_preserved_segments(dirs) + return sorted(preserved_segments, reverse=True) + +def has_preserve_xattr(d: str) -> bool: + return getxattr(os.path.join(Paths.log_root(), d), PRESERVE_ATTR_NAME) == PRESERVE_ATTR_VALUE + +def get_preserved_segments(dirs_by_creation: List[str]) -> List[str]: + preserved = [] + for n, d in enumerate(filter(has_preserve_xattr, reversed(dirs_by_creation))): + if n == PRESERVE_COUNT: + break + date_str, _, seg_str = d.rpartition("--") + + # ignore non-segment directories + if not date_str: + continue + try: + seg_num = int(seg_str) + except ValueError: + continue + # preserve segment and its prior + preserved.append(d) + + return preserved + +def video_to_gif(input_path, output_path, fps=1, duration=6): # not used right now but can if want longer animated gif + if os.path.exists(output_path): + return + command = [ + 'ffmpeg', '-y', '-i', input_path, + '-filter_complex', + f'fps={fps},scale=240:-1:flags=lanczos,setpts=0.1*PTS,split[s0][s1];[s0]palettegen=max_colors=32[p];[s1][p]paletteuse=dither=bayer', + '-t', str(duration), output_path + ] + subprocess.run(command) + print(f"GIF file created: {output_path}") + +def video_to_img(input_path, output_path, fps=1, duration=6): + if os.path.exists(output_path): + return + subprocess.run(['ffmpeg', '-y', '-i', input_path, '-ss', '5', '-vframes', '1', output_path]) + print(f"GIF file created: {output_path}") + +def segments_in_route(route): + segment_names = [segment_name for segment_name in all_segment_names() if segment_name.time_str == route] + segments = [segment_name.time_str + "--" + str(segment_name.segment_num) for segment_name in segment_names] + return segments + + +def ffmpeg_mp4_concat_wrap_process_builder(file_list, cameratype, chunk_size=1024*512): + command_line = ["ffmpeg"] + if not cameratype == "qcamera": + command_line += ["-f", "hevc"] + command_line += ["-r", "20"] + command_line += ["-i", "concat:" + file_list] + command_line += ["-c", "copy"] + command_line += ["-map", "0"] + if not cameratype == "qcamera": + command_line += ["-vtag", "hvc1"] + command_line += ["-f", "mp4"] + command_line += ["-movflags", "empty_moov"] + command_line += ["-"] + return subprocess.Popen( + command_line, stdout=subprocess.PIPE, + bufsize=chunk_size + ) + + +def ffmpeg_mp4_wrap_process_builder(filename): + """Returns a process that will wrap the given filename + inside a mp4 container, for easier playback by browsers + and other devices. Primary use case is streaming segment videos + to the vidserver tool. + filename is expected to be a pathname to one of the following + /path/to/a/qcamera.ts + /path/to/a/dcamera.hevc + /path/to/a/ecamera.hevc + /path/to/a/fcamera.hevc + """ + basename = filename.rsplit("/")[-1] + extension = basename.rsplit(".")[-1] + command_line = ["ffmpeg"] + if extension == "hevc": + command_line += ["-f", "hevc"] + command_line += ["-r", "20"] + command_line += ["-i", filename] + command_line += ["-c", "copy"] + command_line += ["-map", "0"] + if extension == "hevc": + command_line += ["-vtag", "hvc1"] + command_line += ["-f", "mp4"] + command_line += ["-movflags", "empty_moov"] + command_line += ["-"] + return subprocess.Popen( + command_line, stdout=subprocess.PIPE + ) + + +def ffplay_mp4_wrap_process_builder(file_name): + command_line = ["ffmpeg"] + command_line += ["-i", file_name] + command_line += ["-c", "copy"] + command_line += ["-map", "0"] + command_line += ["-f", "mp4"] + command_line += ["-movflags", "empty_moov"] + command_line += ["-"] + return subprocess.Popen( + command_line, stdout=subprocess.PIPE + ) + +def get_nav_active(): + if params.get("NavDestination", encoding='utf8') is not None: + return True + else: + return False + +def get_public_token(): + token = params.get("MapboxPublicKey", encoding='utf8') + return token.strip() if token is not None else None + +def get_app_token(): + token = params.get("MapboxSecretKey", encoding='utf8') + return token.strip() if token is not None else None + +def get_gmap_key(): + token = params.get("GMapKey", encoding='utf8') + return token.strip() if token is not None else None + +def get_amap_key(): + token = params.get("AMapKey1", encoding='utf8') + token2 = params.get("AMapKey2", encoding='utf8') + return (token.strip() if token is not None else None, token2.strip() if token2 is not None else None) + +def get_SearchInput(): + SearchInput = params.get_int("SearchInput") + return SearchInput + +def get_PrimeType(): + PrimeType = params.get_int("PrimeType") + return PrimeType + +def get_last_lon_lat(): + last_pos = params.get("LastGPSPosition") + if last_pos: + l = json.loads(last_pos) + else: + return 0.0, 0.0 + return l["longitude"], l["latitude"] + +def get_locations(): + data = params.get("ApiCache_NavDestinations", encoding='utf-8') + return data + +def preload_favs(): + try: + nav_destinations = json.loads(params.get("ApiCache_NavDestinations", encoding='utf8')) + except TypeError: + return (None, None, None, None, None) + + locations = {"home": None, "work": None, "fav1": None, "fav2": None, "fav3": None} + + for item in nav_destinations: + label = item.get("label") + if label in locations and locations[label] is None: + locations[label] = item.get("place_name") + + return tuple(locations.values()) + +def parse_addr(postvars, lon, lat, valid_addr, token): + addr = postvars.get("fav_val", [""]) + real_addr = None + if addr != "favorites": + try: + dests = json.loads(params.get("ApiCache_NavDestinations", encoding='utf8')) + except TypeError: + dests = json.loads("[]") + for item in dests: + if "label" in item and item["label"] == addr: + lat, lon, real_addr = item["latitude"], item["longitude"], item["place_name"] + break + return (real_addr, lon, lat, real_addr is not None, token) + +def search_addr(postvars, lon, lat, valid_addr, token): + if "addr_val" in postvars: + addr = postvars.get("addr_val") + if addr != "": + # Properly encode the address to handle spaces + addr_encoded = quote(addr) + query = f"https://api.mapbox.com/geocoding/v5/mapbox.places/{addr_encoded}.json?access_token={token}&limit=1" + # focus on place around last gps position + lngi, lati = get_last_lon_lat() + query += "&proximity=%s,%s" % (lngi, lati) + r = requests.get(query) + if r.status_code != 200: + return (addr, lon, lat, valid_addr, token) + j = json.loads(r.text) + if not j["features"]: + return (addr, lon, lat, valid_addr, token) + lon, lat = j["features"][0]["geometry"]["coordinates"] + valid_addr = True + return (addr, lon, lat, valid_addr, token) + +def set_destination(postvars, valid_addr): + if postvars.get("latitude") is not None and postvars.get("longitude") is not None: + postvars["lat"] = postvars.get("latitude") + postvars["lon"] = postvars.get("longitude") + postvars["save_type"] = "recent" + nav_confirmed(postvars) + valid_addr = True + else: + addr = postvars.get("place_name") + token = get_public_token() + data, lon, lat, valid_addr, token = search_addr(addr, lon, lat, valid_addr, token) + postvars["lat"] = lat + postvars["lon"] = lon + postvars["save_type"] = "recent" + nav_confirmed(postvars) + valid_addr= True + return postvars, valid_addr + +def nav_confirmed(postvars): + if postvars is not None: + lat = float(postvars.get("lat")) + lng = float(postvars.get("lon")) + save_type = postvars.get("save_type") + name = postvars.get("name") if postvars.get("name") is not None else "" + if params.get_int("SearchInput") == 1: + lng, lat = gcj02towgs84(lng, lat) + params.put("NavDestination", "{\"latitude\": %f, \"longitude\": %f, \"place_name\": \"%s\"}" % (lat, lng, name)) + if name == "": + name = str(lat) + "," + str(lng) + new_dest = {"latitude": float(lat), "longitude": float(lng), "place_name": name} + if save_type == "recent": + new_dest["save_type"] = "recent" + else: + new_dest["save_type"] = "favorite" + new_dest["label"] = save_type + val = params.get("ApiCache_NavDestinations", encoding='utf8') + if val is not None: + val = val.rstrip('\x00') + dests = [] if val is None else json.loads(val) + # type idx + type_label_ids = {"home": None, "work": None, "fav1": None, "fav2": None, "fav3": None, "recent": []} + idx = 0 + for d in dests: + if d["save_type"] == "favorite": + type_label_ids[d["label"]] = idx + else: + type_label_ids["recent"].append(idx) + idx += 1 + if save_type == "recent": + id = None + if len(type_label_ids["recent"]) > 10: + dests.pop(type_label_ids["recent"][-1]) + else: + id = type_label_ids[save_type] + if id is None: + dests.insert(0, new_dest) + else: + dests[id] = new_dest + params.put("ApiCache_NavDestinations", json.dumps(dests).rstrip("\n\r")) + +def public_token_input(postvars): + if postvars is None or "pk_token_val" not in postvars or postvars.get("pk_token_val")[0] == "": + return postvars + else: + token = postvars.get("pk_token_val").strip() + if "pk." not in token: + return postvars + else: + params.put("MapboxPublicKey", token) + return token + +def app_token_input(postvars): + if postvars is None or "sk_token_val" not in postvars or postvars.get("sk_token_val")[0] == "": + return postvars + else: + token = postvars.get("sk_token_val").strip() + if "sk." not in token: + return postvars + else: + params.put("MapboxSecretKey", token) + return token + +def gmap_key_input(postvars): + if postvars is None or "gmap_key_val" not in postvars or postvars.get("gmap_key_val")[0] == "": + return postvars + else: + token = postvars.get("gmap_key_val").strip() + params.put("GMapKey", token) + return token + +def amap_key_input(postvars): + if postvars is None or "amap_key_val" not in postvars or postvars.get("amap_key_val")[0] == "": + return postvars + else: + token = postvars.get("amap_key_val").strip() + token2 = postvars.get("amap_key_val_2").strip() + params.put("AMapKey1", token) + params.put("AMapKey2", token2) + return token + +def gcj02towgs84(lng, lat): + dlat = transform_lat(lng - 105.0, lat - 35.0) + dlng = transform_lng(lng - 105.0, lat - 35.0) + radlat = lat / 180.0 * pi + magic = math.sin(radlat) + magic = 1 - ee * magic * magic + sqrtmagic = math.sqrt(magic) + dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi) + dlng = (dlng * 180.0) / (a / sqrtmagic * math.cos(radlat) * pi) + mglat = lat + dlat + mglng = lng + dlng + return [lng * 2 - mglng, lat * 2 - mglat] + +def transform_lat(lng, lat): + ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * math.sqrt(abs(lng)) + ret += (20.0 * math.sin(6.0 * lng * pi) + 20.0 * math.sin(2.0 * lng * pi)) * 2.0 / 3.0 + ret += (20.0 * math.sin(lat * pi) + 40.0 * math.sin(lat / 3.0 * pi)) * 2.0 / 3.0 + ret += (160.0 * math.sin(lat / 12.0 * pi) + 320 * math.sin(lat * pi / 30.0)) * 2.0 / 3.0 + return ret + +def transform_lng(lng, lat): + ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * math.sqrt(abs(lng)) + ret += (20.0 * math.sin(6.0 * lng * pi) + 20.0 * math.sin(2.0 * lng * pi)) * 2.0 / 3.0 + ret += (20.0 * math.sin(lng * pi) + 40.0 * math.sin(lng / 3.0 * pi)) * 2.0 / 3.0 + ret += (150.0 * math.sin(lng / 12.0 * pi) + 300.0 * math.sin(lng / 30.0 * pi)) * 2.0 / 3.0 + return ret + +def get_all_toggle_values(): + toggle_values = {} + for key in params.all_keys(): + key = key.decode('utf-8') if isinstance(key, bytes) else key + if params.get_key_type(key) & ParamKeyType.FROGPILOT_STORAGE: + try: + value = params.get(key) + value = value.decode('utf-8') if isinstance(value, bytes) else value + except Exception: + value = "0" + toggle_values[key] = value if value is not None else "0" + return toggle_values + +def store_toggle_values(updated_values): + for key, value in updated_values.items(): + try: + params.put(key, value.encode('utf-8')) + params_storage.put(key, value.encode('utf-8')) + except Exception as e: + print(f"Failed to update {key}: {e}") + + params_memory.put_bool("FrogPilotTogglesUpdated", True) + time.sleep(1) + params_memory.put_bool("FrogPilotTogglesUpdated", False) diff --git a/selfdrive/frogpilot/fleetmanager/static/favicon.ico b/selfdrive/frogpilot/fleetmanager/static/favicon.ico new file mode 100644 index 0000000..2f24c58 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/static/favicon.ico @@ -0,0 +1 @@ +../../../selfdrive/assets/img_spinner_comma.png \ No newline at end of file diff --git a/selfdrive/frogpilot/fleetmanager/static/frog.png b/selfdrive/frogpilot/fleetmanager/static/frog.png new file mode 100644 index 0000000000000000000000000000000000000000..5285f0be6e5b2233e9a3a49cff4f44ed9f8cb657 GIT binary patch literal 108573 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%0Dsa7^%E+s!H?s&|U=ip@U`Ou9 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 literal 0 HcmV?d00001 diff --git a/selfdrive/frogpilot/fleetmanager/templates/about.html b/selfdrive/frogpilot/fleetmanager/templates/about.html new file mode 100644 index 0000000..06d56d0 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/about.html @@ -0,0 +1,21 @@ +{% extends "layout.html" %} + +{% block title %} + About +{% endblock %} + +{% block main %} +
+

About

+
+
+ Special thanks to:

+ ntegan1
+ royjr
+ AlexandreSato
+ actuallylemoncurd
+ sunnyhaibin
+ dragonpilot
+ chatgpt
+
+{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/addr.html b/selfdrive/frogpilot/fleetmanager/templates/addr.html new file mode 100644 index 0000000..805d5e7 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/addr.html @@ -0,0 +1,11 @@ +{% extends "layout.html" %} + +{% block title %} + Navigation +{% endblock %} + +{% block main %} +{% with gmap_key=gmap_key, lon=lon, lat=lat, home=home, work=work, fav1=fav1, fav2=fav2, fav3=fav3 %} + {% include "addr_input.html" %} +{% endwith %} +{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/addr_input.html b/selfdrive/frogpilot/fleetmanager/templates/addr_input.html new file mode 100644 index 0000000..28ded72 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/addr_input.html @@ -0,0 +1,64 @@ +{% block main %} + +
+
+
+ {% if home or work or fav1 or fav2 or fav3 %} + + {% endif %} + + +
+
+
+ + +{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/amap_addr_input.html b/selfdrive/frogpilot/fleetmanager/templates/amap_addr_input.html new file mode 100644 index 0000000..1fe975b --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/amap_addr_input.html @@ -0,0 +1,215 @@ +{% extends "layout.html" %} + +{% block title %} + amap_addr_input +{% endblock %} +{% block main %} + + + + + 输入提示后查询 + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+ +{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/amap_key_input.html b/selfdrive/frogpilot/fleetmanager/templates/amap_key_input.html new file mode 100644 index 0000000..eb2a9e6 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/amap_key_input.html @@ -0,0 +1,20 @@ +{% extends "layout.html" %} + +{% block title %} + amap_key_input +{% endblock %} + +{% block main %} +
+
+ 请输入您的高德地图 API KEY +
因系统升级,若于 2021/12/02 前申请 key 的人请重新申请新的「key」和「安全密钥」配对。
+
+ + + +
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/selfdrive/frogpilot/fleetmanager/templates/app_token_input.html b/selfdrive/frogpilot/fleetmanager/templates/app_token_input.html new file mode 100644 index 0000000..b2dc5fa --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/app_token_input.html @@ -0,0 +1,19 @@ +{% extends "layout.html" %} + +{% block title %} + MapBox key input +{% endblock %} + +{% block main %} +
+
+ Set your Mapbox Secret Token +
{{msg}}
+
+ + +
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/selfdrive/frogpilot/fleetmanager/templates/error.html b/selfdrive/frogpilot/fleetmanager/templates/error.html new file mode 100644 index 0000000..cf4e898 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/error.html @@ -0,0 +1,11 @@ +{% extends "layout.html" %} + +{% block title %} + Error +{% endblock %} + +{% block main %} +
Oops +



+ {{ error | safe }} +{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/error_log.html b/selfdrive/frogpilot/fleetmanager/templates/error_log.html new file mode 100644 index 0000000..e8f527e --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/error_log.html @@ -0,0 +1,16 @@ +{% extends "layout.html" %} + +{% block title %} + Error Log +{% endblock %} + +{% block main %} +
+

Error Log of
{{ file_name }}

+
+{% endblock %} + +{% block unformated %} +
{{ file_content }}
+

+{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/error_logs.html b/selfdrive/frogpilot/fleetmanager/templates/error_logs.html new file mode 100644 index 0000000..103551f --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/error_logs.html @@ -0,0 +1,14 @@ +{% extends "layout.html" %} + +{% block title %} + Error Logs +{% endblock %} + +{% block main %} +
+

Error Logs

+
+ {% for row in rows %} +
{{ row }}
+ {% endfor %} +{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/footage.html b/selfdrive/frogpilot/fleetmanager/templates/footage.html new file mode 100644 index 0000000..e9fc7a9 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/footage.html @@ -0,0 +1,28 @@ +{% extends "layout.html" %} + +{% block title %} + Dashcam Routes +{% endblock %} + +{% block main %} +
+

Dashcam Routes

+
+
+ {% for row, gif in zipped %} +
+
+ GIF +
+

{{ row }}

+
+ +
+
+
+
+ {% endfor %} +
+{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/gmap_key_input.html b/selfdrive/frogpilot/fleetmanager/templates/gmap_key_input.html new file mode 100644 index 0000000..d407c20 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/gmap_key_input.html @@ -0,0 +1,18 @@ +{% extends "layout.html" %} + +{% block title %} + GMap key input +{% endblock %} + +{% block main %} +
+
+ Set your Google Map API Key +
+ + +
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/selfdrive/frogpilot/fleetmanager/templates/index.html b/selfdrive/frogpilot/fleetmanager/templates/index.html new file mode 100644 index 0000000..7d33bcd --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/index.html @@ -0,0 +1,16 @@ +{% extends "layout.html" %} + +{% block title %} + Home +{% endblock %} + +{% block main %} +
+

Fleet Manager

+
+ View Dashcam Footage
+
Access Preserved Footage
+
View Screen Recordings
+
Access Error Logs
+
About Fleet Manager
+{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/layout.html b/selfdrive/frogpilot/fleetmanager/templates/layout.html new file mode 100644 index 0000000..21d1e48 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/layout.html @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + FrogPilot: {% block title %}{% endblock %} + + + +
{% block main %}{% endblock %}
+ {% block unformated %}{% endblock %} + + + + + + + diff --git a/selfdrive/frogpilot/fleetmanager/templates/nav_confirmation.html b/selfdrive/frogpilot/fleetmanager/templates/nav_confirmation.html new file mode 100644 index 0000000..ee2aa4a --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/nav_confirmation.html @@ -0,0 +1,28 @@ +{% extends "layout.html" %} + +{% block title %} + Nav Search Confirmation +{% endblock %} + +{% block main %} +
+
{{addr}}
+
+
+
+ + + + + +
+
+
+{% endblock %} \ No newline at end of file diff --git a/selfdrive/frogpilot/fleetmanager/templates/nav_directions.html b/selfdrive/frogpilot/fleetmanager/templates/nav_directions.html new file mode 100644 index 0000000..c59582e --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/nav_directions.html @@ -0,0 +1,149 @@ +{% block main %} +
+
+ + +{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/nonprime.html b/selfdrive/frogpilot/fleetmanager/templates/nonprime.html new file mode 100644 index 0000000..6daa656 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/nonprime.html @@ -0,0 +1,13 @@ +{% extends "layout.html" %} + +{% block title %} + Nav Driving Directions +{% endblock %} + +{% block main %} +{% with gmap_key=gmap_key, lon=lon, lat=lat, home=home, work=work, fav1=fav1, fav2=fav2, fav3=fav3 %} + {% include "addr_input.html" %} +{% endwith %} + +{% include "nav_directions.html" %} +{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/preserved.html b/selfdrive/frogpilot/fleetmanager/templates/preserved.html new file mode 100644 index 0000000..f8f69c6 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/preserved.html @@ -0,0 +1,30 @@ +{% extends "layout.html" %} + +{% block title %} + Preserved Routes +{% endblock %} + +{% block main %} +
+

Preserved Routes

+
+
+ {% for route_path, gif_path, segment in zipped %} +
+
+
+ GIF +
+
+

{{ segment }}

+
+ +
+
+
+
+ {% endfor %} +
+{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/prime.html b/selfdrive/frogpilot/fleetmanager/templates/prime.html new file mode 100644 index 0000000..78bfb3d --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/prime.html @@ -0,0 +1,9 @@ +{% extends "layout.html" %} + +{% block title %} + Driving Directions +{% endblock %} + +{% block main %} +{% include "nav_directions.html" %} +{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/public_token_input.html b/selfdrive/frogpilot/fleetmanager/templates/public_token_input.html new file mode 100644 index 0000000..b64a880 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/public_token_input.html @@ -0,0 +1,19 @@ +{% extends "layout.html" %} + +{% block title %} + addr_input +{% endblock %} + +{% block main %} +
+
+ Set your Mapbox Public Token +
{{msg}}
+
+ + +
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/selfdrive/frogpilot/fleetmanager/templates/route.html b/selfdrive/frogpilot/fleetmanager/templates/route.html new file mode 100644 index 0000000..adccef8 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/route.html @@ -0,0 +1,68 @@ +{% extends "layout.html" %} + +{% block title %} + Dashcam Segments +{% endblock %} + + +{% block main %} +{% autoescape false %} +
+

Dashcam Segments (one per minute)

+
+ +

+ current segment: +
+ current view: +
+ download full route {{ query_type }} +

+ qcamera - + fcamera - + dcamera - + ecamera +

+ {{ links }} + +{% endautoescape %} +

+{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/screenrecords.html b/selfdrive/frogpilot/fleetmanager/templates/screenrecords.html new file mode 100644 index 0000000..e1c995e --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/screenrecords.html @@ -0,0 +1,31 @@ +{% extends "layout.html" %} + +{% block title %} + Screen Recordings +{% endblock %} + +{% block main %} +
+

Screen Recordings

+
+ +

+ current view: +
+ download: {{ clip }}

+ + {% for row in rows %} + {{ row }}
+ {% endfor %} +

+{% endblock %} diff --git a/selfdrive/frogpilot/fleetmanager/templates/tools.html b/selfdrive/frogpilot/fleetmanager/templates/tools.html new file mode 100644 index 0000000..12ac347 --- /dev/null +++ b/selfdrive/frogpilot/fleetmanager/templates/tools.html @@ -0,0 +1,78 @@ +{% extends "layout.html" %} + +{% block title %} +Tools +{% endblock %} + +{% block main %} + + +
+

Toggle Values

+
+ + + +
+
+ + +{% endblock %} diff --git a/selfdrive/manager/process_config.py b/selfdrive/manager/process_config.py index ed4de29..d6454d1 100644 --- a/selfdrive/manager/process_config.py +++ b/selfdrive/manager/process_config.py @@ -89,6 +89,7 @@ procs = [ PythonProcess("webjoystick", "tools.bodyteleop.web", notcar), # FrogPilot processes + PythonProcess("fleet_manager", "selfdrive.frogpilot.fleetmanager.fleet_manager", always_run), PythonProcess("frogpilot_process", "selfdrive.frogpilot.frogpilot_process", always_run), ] diff --git a/selfdrive/navd/navd.py b/selfdrive/navd/navd.py index dfa99b3..863ff15 100755 --- a/selfdrive/navd/navd.py +++ b/selfdrive/navd/navd.py @@ -173,6 +173,42 @@ class RouteEngine: resp.raise_for_status() r = resp.json() + r1 = resp.json() + + # Function to remove specified keys recursively unnessary for display + def remove_keys(obj, keys_to_remove): + if isinstance(obj, list): + return [remove_keys(item, keys_to_remove) for item in obj] + elif isinstance(obj, dict): + return {key: remove_keys(value, keys_to_remove) for key, value in obj.items() if key not in keys_to_remove} + else: + return obj + + keys_to_remove = ['geometry', 'annotation', 'incidents', 'intersections', 'components', 'sub', 'waypoints'] + self.r2 = remove_keys(r1, keys_to_remove) + self.r3 = {} + + # Add items for display under "routes" + if 'routes' in self.r2 and len(self.r2['routes']) > 0: + first_route = self.r2['routes'][0] + nav_destination_json = self.params.get('NavDestination') + + try: + nav_destination_data = json.loads(nav_destination_json) + place_name = nav_destination_data.get('place_name', 'Default Place Name') + first_route['Destination'] = place_name + first_route['Metric'] = self.params.get_bool("IsMetric") + self.r3['CurrentStep'] = 0 + self.r3['uuid'] = self.r2['uuid'] + except json.JSONDecodeError as e: + print(f"Error decoding JSON: {e}") + + # Save slim json as file + with open('navdirections.json', 'w') as json_file: + json.dump(self.r2, json_file, indent=4) + with open('CurrentStep.json', 'w') as json_file: + json.dump(self.r3, json_file, indent=4) + if len(r['routes']): self.route = r['routes'][0]['legs'][0]['steps'] self.route_geometry = [] @@ -308,6 +344,13 @@ class RouteEngine: if self.step_idx + 1 < len(self.route): self.step_idx += 1 self.reset_recompute_limits() + + # Update the 'CurrentStep' value in the JSON + if 'routes' in self.r2 and len(self.r2['routes']) > 0: + self.r3['CurrentStep'] = self.step_idx + # Write the modified JSON data back to the file + with open('CurrentStep.json', 'w') as json_file: + json.dump(self.r3, json_file, indent=4) else: cloudlog.warning("Destination reached") diff --git a/system/fleetmanager/static/frog.png b/system/fleetmanager/static/frog.png new file mode 100644 index 0000000000000000000000000000000000000000..5285f0be6e5b2233e9a3a49cff4f44ed9f8cb657 GIT binary patch literal 108573 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%0Dsa7^%E+s!H?s&|U=ip@U`Ou9 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 literal 0 HcmV?d00001 diff --git a/system/fleetmanager/templates/index.html b/system/fleetmanager/templates/index.html new file mode 100644 index 0000000..400df47 --- /dev/null +++ b/system/fleetmanager/templates/index.html @@ -0,0 +1,16 @@ +{% extends "layout.html" %} + +{% block title %} + Home +{% endblock %} + +{% block main %} +
+

Fleet Manager

+
+
View Dashcam Footage
+
View Screen Recordings
+
Access Error Logs
+
Navigation
+
Tools
+{% endblock %}