mirror of
https://github.com/infiniteCable2/panda.git
synced 2026-02-19 01:33:52 +08:00
Merge pull request #24 from commaai/redux/runtime_can_loopback
Can loopback now runtime configurable.
This commit is contained in:
@@ -18,9 +18,9 @@ void can_init(uint8_t bus_number, int silent) {
|
||||
CAN_BTR_TS2_0 | (prescaler - 1);
|
||||
|
||||
// silent loopback mode for debugging
|
||||
#ifdef CAN_LOOPBACK_MODE
|
||||
if (can_loopback) {
|
||||
CAN->BTR |= CAN_BTR_SILM | CAN_BTR_LBKM;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (silent) {
|
||||
CAN->BTR |= CAN_BTR_SILM;
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
|
||||
//#define DEBUG
|
||||
//#define DEBUG_USB
|
||||
//#define CAN_LOOPBACK_MODE
|
||||
|
||||
#ifdef STM32F4
|
||||
#define PANDA
|
||||
|
||||
10
board/main.c
10
board/main.c
@@ -44,7 +44,7 @@
|
||||
// debug safety check: is controls allowed?
|
||||
int controls_allowed = 0;
|
||||
int started = 0;
|
||||
int can_live = 0, pending_can_live = 0;
|
||||
int can_live = 0, pending_can_live = 0, can_loopback = 0;
|
||||
|
||||
// optional features
|
||||
int gas_interceptor_detected = 0;
|
||||
@@ -707,6 +707,14 @@ int usb_cb_control_msg(USB_Setup_TypeDef *setup, uint8_t *resp, int hardwired) {
|
||||
if (!ur) break;
|
||||
uart_set_baud(ur->uart, (int)setup->b.wIndex.w*300);
|
||||
break;
|
||||
case 0xe5: // Set CAN loopback (for testing)
|
||||
can_loopback = (setup->b.wValue.w > 0);
|
||||
can_init(CAN1, 0);
|
||||
can_init(CAN2, 0);
|
||||
#ifdef CAN3
|
||||
can_init(CAN3, 0);
|
||||
#endif
|
||||
break;
|
||||
case 0xf0: // k-line wValue pulse on uart2
|
||||
if (setup->b.wValue.w == 1) {
|
||||
GPIOC->ODR &= ~(1 << 10);
|
||||
|
||||
@@ -157,6 +157,9 @@ class Panda(object):
|
||||
def set_gmlan(self, on, bus=2):
|
||||
self._handle.controlWrite(Panda.REQUEST_TYPE, 0xdb, on, bus, b'')
|
||||
|
||||
def set_can_loopback(self, enable):
|
||||
self._handle.controlWrite(Panda.REQUEST_TYPE, 0xe5, bool(enable), 0, b'')
|
||||
|
||||
def set_uart_baud(self, uart, rate):
|
||||
self._handle.controlWrite(Panda.REQUEST_TYPE, 0xe1, uart, rate, b'')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user