Browse Source

uavcan:Boards do the CAN GPIO init

sbg
David Sidrane 7 years ago committed by Daniel Agar
parent
commit
4b863aa108
  1. 18
      src/modules/uavcan/uavcan_main.cpp

18
src/modules/uavcan/uavcan_main.cpp

@ -533,24 +533,6 @@ int UavcanNode::start(uavcan::NodeID node_id, uint32_t bitrate) @@ -533,24 +533,6 @@ int UavcanNode::start(uavcan::NodeID node_id, uint32_t bitrate)
return -1;
}
/*
* GPIO config.
* Forced pull up on CAN2 is required for Pixhawk v1 where the second interface lacks a transceiver.
* If no transceiver is connected, the RX pin will float, occasionally causing CAN controller to
* fail during initialization.
*/
#if defined(GPIO_CAN1_RX)
px4_arch_configgpio(GPIO_CAN1_RX);
px4_arch_configgpio(GPIO_CAN1_TX);
#endif
#if defined(GPIO_CAN2_RX)
px4_arch_configgpio(GPIO_CAN2_RX | GPIO_PULLUP);
px4_arch_configgpio(GPIO_CAN2_TX);
#endif
#if !defined(GPIO_CAN1_RX) && !defined(GPIO_CAN2_RX)
# error "Need to define GPIO_CAN1_RX and/or GPIO_CAN2_RX"
#endif
/*
* CAN driver init
* Note that we instantiate and initialize CanInitHelper only once, because the STM32's bxCAN driver

Loading…
Cancel
Save