From 498d54be9c6d6a81da64b72d4fc17ae2873d5fe9 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Tue, 18 Jan 2022 21:59:42 +0800 Subject: [PATCH] boardd: move main() to main.cc for test cases (#23564) * move main() to main.cc * move includes back --- release/files_common | 2 ++ selfdrive/boardd/SConscript | 2 +- selfdrive/boardd/boardd.cc | 20 +++++--------------- selfdrive/boardd/boardd.h | 6 ++++++ selfdrive/boardd/main.cc | 22 ++++++++++++++++++++++ 5 files changed, 36 insertions(+), 16 deletions(-) create mode 100644 selfdrive/boardd/boardd.h create mode 100644 selfdrive/boardd/main.cc diff --git a/release/files_common b/release/files_common index 8d682d383a534a..29c8eba96ec947 100644 --- a/release/files_common +++ b/release/files_common @@ -88,6 +88,8 @@ selfdrive/boardd/.gitignore selfdrive/boardd/SConscript selfdrive/boardd/__init__.py selfdrive/boardd/boardd.cc +selfdrive/boardd/boardd.h +selfdrive/boardd/main.cc selfdrive/boardd/boardd.py selfdrive/boardd/boardd_api_impl.pyx selfdrive/boardd/can_list_to_can_capnp.cc diff --git a/selfdrive/boardd/SConscript b/selfdrive/boardd/SConscript index 07ded56e1b8a89..922107509af15b 100644 --- a/selfdrive/boardd/SConscript +++ b/selfdrive/boardd/SConscript @@ -1,7 +1,7 @@ Import('env', 'envCython', 'common', 'cereal', 'messaging') libs = ['usb-1.0', common, cereal, messaging, 'pthread', 'zmq', 'capnp', 'kj'] -env.Program('boardd', ['boardd.cc', 'panda.cc', 'pigeon.cc'], LIBS=libs) +env.Program('boardd', ['main.cc', 'boardd.cc', 'panda.cc', 'pigeon.cc'], LIBS=libs) env.Library('libcan_list_to_can_capnp', ['can_list_to_can_capnp.cc']) envCython.Program('boardd_api_impl.so', 'boardd_api_impl.pyx', LIBS=["can_list_to_can_capnp", 'capnp', 'kj'] + envCython["LIBS"]) diff --git a/selfdrive/boardd/boardd.cc b/selfdrive/boardd/boardd.cc index 9cf3cbc04a412f..a12da54f93217f 100644 --- a/selfdrive/boardd/boardd.cc +++ b/selfdrive/boardd/boardd.cc @@ -1,3 +1,5 @@ +#include "selfdrive/boardd/boardd.h" + #include #include #include @@ -27,7 +29,6 @@ #include "selfdrive/common/util.h" #include "selfdrive/hardware/hw.h" -#include "selfdrive/boardd/panda.h" #include "selfdrive/boardd/pigeon.h" // -- Multi-panda conventions -- @@ -590,22 +591,11 @@ void pigeon_thread(Panda *panda) { } } -int main(int argc, char *argv[]) { - LOGW("starting boardd"); - - if (!Hardware::PC()) { - int err; - err = util::set_realtime_priority(54); - assert(err == 0); - err = util::set_core_affinity({Hardware::TICI() ? 4 : 3}); - assert(err == 0); - } +void boardd_main_thread(std::vector serials) { + if (serials.size() == 0) serials.push_back(""); - LOGW("attempting to connect"); PubMaster pm({"pandaStates", "peripheralState"}); - - std::vector serials(argv + 1, argv + argc); - if (serials.size() == 0) serials.push_back(""); + LOGW("attempting to connect"); // connect to all provided serials std::vector pandas; diff --git a/selfdrive/boardd/boardd.h b/selfdrive/boardd/boardd.h new file mode 100644 index 00000000000000..d3c9e1f94a8e2e --- /dev/null +++ b/selfdrive/boardd/boardd.h @@ -0,0 +1,6 @@ +#pragma once + +#include "selfdrive/boardd/panda.h" + +bool safety_setter_thread(std::vector pandas); +void boardd_main_thread(std::vector serials); diff --git a/selfdrive/boardd/main.cc b/selfdrive/boardd/main.cc new file mode 100644 index 00000000000000..d802e42f86ce5f --- /dev/null +++ b/selfdrive/boardd/main.cc @@ -0,0 +1,22 @@ +#include + +#include "selfdrive/boardd/boardd.h" +#include "selfdrive/common/swaglog.h" +#include "selfdrive/common/util.h" +#include "selfdrive/hardware/hw.h" + +int main(int argc, char *argv[]) { + LOGW("starting boardd"); + + if (!Hardware::PC()) { + int err; + err = util::set_realtime_priority(54); + assert(err == 0); + err = util::set_core_affinity({Hardware::TICI() ? 4 : 3}); + assert(err == 0); + } + + std::vector serials(argv + 1, argv + argc); + boardd_main_thread(serials); + return 0; +}