#pragma once #include #include #include "common/params.h" #include "selfdrive/pandad/panda.h" void pandad_main_thread(std::vector serials); // deprecated devices static const std::vector SUPPORTED_PANDA_TYPES = { cereal::PandaState::PandaType::RED_PANDA, cereal::PandaState::PandaType::TRES, cereal::PandaState::PandaType::CUATRO, }; class PandaSafety { public: PandaSafety(const std::vector &pandas) : pandas_(pandas) {} void configureSafetyMode(bool is_onroad); bool getOffroadMode(); private: void updateMultiplexingMode(); std::vector fetchCarParams(); void setSafetyMode(const std::vector ¶ms_string); bool initialized_ = false; bool log_once_ = false; bool safety_configured_ = false; bool prev_obd_multiplexing_ = false; std::vector pandas_; Params params_; };