#include #include #include #include #include #include "selfdrive/ui/qt/util.h" #include "selfdrive/ui/qt/maps/map_helpers.h" #include "selfdrive/ui/navd/route_engine.h" #include "selfdrive/ui/navd/map_renderer.h" #include "selfdrive/hardware/hw.h" #include "selfdrive/common/params.h" void sigHandler(int s) { qInfo() << "Shutting down"; std::signal(s, SIG_DFL); qApp->quit(); } int main(int argc, char *argv[]) { qInstallMessageHandler(swagLogMessageHandler); QApplication app(argc, argv); std::signal(SIGINT, sigHandler); std::signal(SIGTERM, sigHandler); QCommandLineParser parser; parser.setApplicationDescription("Navigation server. Runs stand-alone, or using pre-computer route"); parser.addHelpOption(); parser.process(app); const QStringList args = parser.positionalArguments(); RouteEngine* route_engine = new RouteEngine(); if (Params().getBool("NavdRender")) { MapRenderer * m = new MapRenderer(get_mapbox_settings()); QObject::connect(route_engine, &RouteEngine::positionUpdated, m, &MapRenderer::updatePosition); QObject::connect(route_engine, &RouteEngine::routeUpdated, m, &MapRenderer::updateRoute); } return app.exec(); }