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