Skip to content

Commit

Permalink
move car.capnp to opendbc
Browse files Browse the repository at this point in the history
  • Loading branch information
deanlee committed Sep 26, 2024
1 parent ba70397 commit 4f2ff43
Show file tree
Hide file tree
Showing 10 changed files with 17 additions and 734 deletions.
718 changes: 0 additions & 718 deletions cereal/car.capnp

This file was deleted.

1 change: 1 addition & 0 deletions cereal/car.capnp
2 changes: 1 addition & 1 deletion opendbc_repo
2 changes: 1 addition & 1 deletion selfdrive/pandad/panda.cc
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ std::vector<std::string> Panda::list(bool usb_only) {
return serials;
}

void Panda::set_safety_model(cereal::CarParams::SafetyModel safety_model, uint16_t safety_param) {
void Panda::set_safety_model(car::CarParams::SafetyModel safety_model, uint16_t safety_param) {
handle->control_write(0xdc, (uint16_t)safety_model, safety_param);
}

Expand Down
2 changes: 1 addition & 1 deletion selfdrive/pandad/panda.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class Panda {

// Panda functionality
cereal::PandaState::PandaType get_hw_type();
void set_safety_model(cereal::CarParams::SafetyModel safety_model, uint16_t safety_param=0U);
void set_safety_model(car::CarParams::SafetyModel safety_model, uint16_t safety_param=0U);
void set_alternative_experience(uint16_t alternative_experience);
void set_fan_speed(uint16_t fan_speed);
uint16_t get_fan_speed();
Expand Down
8 changes: 4 additions & 4 deletions selfdrive/pandad/panda_safety.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ void PandaSafety::updateMultiplexingMode() {
if (!initialized_) {
prev_obd_multiplexing_ = false;
for (int i = 0; i < pandas_.size(); ++i) {
pandas_[i]->set_safety_model(cereal::CarParams::SafetyModel::ELM327, 1U);
pandas_[i]->set_safety_model(car::CarParams::SafetyModel::ELM327, 1U);
}
initialized_ = true;
}
Expand All @@ -36,7 +36,7 @@ void PandaSafety::updateMultiplexingMode() {
if (obd_multiplexing_requested != prev_obd_multiplexing_) {
for (int i = 0; i < pandas_.size(); ++i) {
const uint16_t safety_param = (i > 0 || !obd_multiplexing_requested) ? 1U : 0U;
pandas_[i]->set_safety_model(cereal::CarParams::SafetyModel::ELM327, safety_param);
pandas_[i]->set_safety_model(car::CarParams::SafetyModel::ELM327, safety_param);
}
prev_obd_multiplexing_ = obd_multiplexing_requested;
params_.putBool("ObdMultiplexingChanged", true);
Expand All @@ -62,14 +62,14 @@ std::string PandaSafety::fetchCarParams() {
void PandaSafety::setSafetyMode(const std::string &params_string) {
AlignedBuffer aligned_buf;
capnp::FlatArrayMessageReader cmsg(aligned_buf.align(params_string.data(), params_string.size()));
cereal::CarParams::Reader car_params = cmsg.getRoot<cereal::CarParams>();
car::CarParams::Reader car_params = cmsg.getRoot<car::CarParams>();

auto safety_configs = car_params.getSafetyConfigs();
uint16_t alternative_experience = car_params.getAlternativeExperience();

for (int i = 0; i < pandas_.size(); ++i) {
// Default to SILENT safety model if not specified
cereal::CarParams::SafetyModel safety_model = cereal::CarParams::SafetyModel::SILENT;
car::CarParams::SafetyModel safety_model = car::CarParams::SafetyModel::SILENT;
uint16_t safety_param = 0U;
if (i < safety_configs.size()) {
safety_model = safety_configs[i].getSafetyModel();
Expand Down
10 changes: 5 additions & 5 deletions selfdrive/pandad/pandad.cc
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ void fill_panda_state(cereal::PandaState::Builder &ps, cereal::PandaState::Panda
ps.setTxBufferOverflow(health.tx_buffer_overflow_pkt);
ps.setRxBufferOverflow(health.rx_buffer_overflow_pkt);
ps.setPandaType(hw_type);
ps.setSafetyModel(cereal::CarParams::SafetyModel(health.safety_mode_pkt));
ps.setSafetyModel(car::CarParams::SafetyModel(health.safety_mode_pkt));
ps.setSafetyParam(health.safety_param_pkt);
ps.setFaultStatus(cereal::PandaState::FaultStatus(health.fault_status_pkt));
ps.setPowerSaveEnabled((bool)(health.power_save_enabled_pkt));
Expand Down Expand Up @@ -245,8 +245,8 @@ std::optional<bool> send_panda_states(PubMaster *pm, const std::vector<Panda *>
const auto &health = pandaStates[i];

// Make sure CAN buses are live: safety_setter_thread does not work if Panda CAN are silent and there is only one other CAN node
if (health.safety_mode_pkt == (uint8_t)(cereal::CarParams::SafetyModel::SILENT)) {
panda->set_safety_model(cereal::CarParams::SafetyModel::NO_OUTPUT);
if (health.safety_mode_pkt == (uint8_t)(car::CarParams::SafetyModel::SILENT)) {
panda->set_safety_model(car::CarParams::SafetyModel::NO_OUTPUT);
}

bool power_save_desired = !ignition_local;
Expand All @@ -255,8 +255,8 @@ std::optional<bool> send_panda_states(PubMaster *pm, const std::vector<Panda *>
}

// set safety mode to NO_OUTPUT when car is off. ELM327 is an alternative if we want to leverage athenad/connect
if (!ignition_local && (health.safety_mode_pkt != (uint8_t)(cereal::CarParams::SafetyModel::NO_OUTPUT))) {
panda->set_safety_model(cereal::CarParams::SafetyModel::NO_OUTPUT);
if (!ignition_local && (health.safety_mode_pkt != (uint8_t)(car::CarParams::SafetyModel::NO_OUTPUT))) {
panda->set_safety_model(car::CarParams::SafetyModel::NO_OUTPUT);
}

if (!panda->comms_healthy()) {
Expand Down
2 changes: 1 addition & 1 deletion selfdrive/ui/qt/offroad/settings.cc
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ void TogglesPanel::updateToggles() {
if (!cp_bytes.empty()) {
AlignedBuffer aligned_buf;
capnp::FlatArrayMessageReader cmsg(aligned_buf.align(cp_bytes.data(), cp_bytes.size()));
cereal::CarParams::Reader CP = cmsg.getRoot<cereal::CarParams>();
car::CarParams::Reader CP = cmsg.getRoot<car::CarParams>();

if (!CP.getExperimentalLongitudinalAvailable() || is_release) {
params.remove("ExperimentalLongitudinalEnabled");
Expand Down
2 changes: 1 addition & 1 deletion selfdrive/ui/qt/util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ QPixmap bootstrapPixmap(const QString &id) {
return pixmap;
}

bool hasLongitudinalControl(const cereal::CarParams::Reader &car_params) {
bool hasLongitudinalControl(const car::CarParams::Reader &car_params) {
// Using the experimental longitudinal toggle, returns whether longitudinal control
// will be active without needing a restart of openpilot
return car_params.getExperimentalLongitudinalAvailable()
Expand Down
2 changes: 1 addition & 1 deletion selfdrive/ui/qt/util.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ void initApp(int argc, char *argv[], bool disable_hidpi = true);
QWidget* topWidget(QWidget* widget);
QPixmap loadPixmap(const QString &fileName, const QSize &size = {}, Qt::AspectRatioMode aspectRatioMode = Qt::KeepAspectRatio);
QPixmap bootstrapPixmap(const QString &id);
bool hasLongitudinalControl(const cereal::CarParams::Reader &car_params);
bool hasLongitudinalControl(const car::CarParams::Reader &car_params);

struct InterFont : public QFont {
InterFont(int pixel_size, QFont::Weight weight = QFont::Normal) : QFont("Inter") {
Expand Down
2 changes: 1 addition & 1 deletion tools/cabana/streams/pandastream.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ bool PandaStream::connect() {
return false;
}

panda->set_safety_model(cereal::CarParams::SafetyModel::SILENT);
panda->set_safety_model(car::CarParams::SafetyModel::SILENT);
for (int bus = 0; bus < config.bus_config.size(); bus++) {
panda->set_can_speed_kbps(bus, config.bus_config[bus].can_speed_kbps);

Expand Down

0 comments on commit 4f2ff43

Please sign in to comment.