diff --git a/selfdrive/boardd/panda.cc b/selfdrive/boardd/panda.cc index b5bf3f903d..546a7904f2 100644 --- a/selfdrive/boardd/panda.cc +++ b/selfdrive/boardd/panda.cc @@ -344,6 +344,14 @@ void Panda::send_heartbeat() { usb_write(0xf3, 1, 0); } +void Panda::set_can_speed_kbps(uint16_t bus, uint16_t speed) { + usb_write(0xde, bus, (speed * 10)); +} + +void Panda::set_data_speed_kbps(uint16_t bus, uint16_t speed) { + usb_write(0xf9, bus, (speed * 10)); +} + uint8_t Panda::len_to_dlc(uint8_t len) { if (len <= 8) { return len; diff --git a/selfdrive/boardd/panda.h b/selfdrive/boardd/panda.h index 2373d1cb93..e42955d2b2 100644 --- a/selfdrive/boardd/panda.h +++ b/selfdrive/boardd/panda.h @@ -96,6 +96,8 @@ class Panda { void set_power_saving(bool power_saving); void set_usb_power_mode(cereal::PeripheralState::UsbPowerMode power_mode); void send_heartbeat(); + void set_can_speed_kbps(uint16_t bus, uint16_t speed); + void set_data_speed_kbps(uint16_t bus, uint16_t speed); uint8_t len_to_dlc(uint8_t len); void can_send(capnp::List::Reader can_data_list); bool can_receive(std::vector& out_vec);