#pragma once #include #include "common/params.h" #include "selfdrive/pandad/panda.h" void pandad_main_thread(std::string serial); // 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(Panda *panda) : panda_(panda) {} 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; Panda *panda_; Params params_; };