HACK: Disable SO_TIMESTAMP in uavcan_v1 temporarily while bringing up H7 SocketCAN driver

This commit is contained in:
JacobCrabill
2022-03-15 17:45:34 -07:00
parent 7e34806046
commit 7db8d3ad78
2 changed files with 30 additions and 18 deletions
@@ -4,7 +4,19 @@ CONFIG_DRIVERS_IRLOCK=n
CONFIG_DRIVERS_PCA9685=n
CONFIG_DRIVERS_PCA9685_PWM_OUT=n
CONFIG_DRIVERS_RPM=n
CONFIG_DRIVERS_UAVCAN=n
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=n
CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n
CONFIG_MODULES_ROVER_POS_CONTROL=n
CONFIG_MODULES_TEMPERATURE_COMPENSATION=n
CONFIG_DRIVERS_UAVCAN_V1=y
CONFIG_UAVCAN_V1_BMS_SUBSCRIBER=y
CONFIG_UAVCAN_V1_ESC_CONTROLLER=y
CONFIG_UAVCAN_V1_ESC_SUBSCRIBER=y
CONFIG_UAVCAN_V1_GNSS_PUBLISHER=y
CONFIG_UAVCAN_V1_GNSS_SUBSCRIBER_0=y
CONFIG_UAVCAN_V1_GNSS_SUBSCRIBER_1=y
CONFIG_UAVCAN_V1_READINESS_PUBLISHER=y
CONFIG_UAVCAN_V1_UORB_ACTUATOR_OUTPUTS_PUBLISHER=y
CONFIG_UAVCAN_V1_UORB_SENSOR_GPS_PUBLISHER=y
CONFIG_UAVCAN_V1_UORB_SENSOR_GPS_SUBSCRIBER=y
+18 -18
View File
@@ -79,29 +79,29 @@ int CanardSocketCAN::init()
addr.can_family = AF_CAN;
addr.can_ifindex = ifr.ifr_ifindex;
const int on = 1;
// const int on = 1;
/* RX Timestamping */
if (setsockopt(_fd, SOL_SOCKET, SO_TIMESTAMP, &on, sizeof(on)) < 0) {
PX4_ERR("SO_TIMESTAMP is disabled");
return -1;
}
// if (setsockopt(_fd, SOL_SOCKET, SO_TIMESTAMP, &on, sizeof(on)) < 0) {
// PX4_ERR("SO_TIMESTAMP is disabled");
// return -1;
// }
/* NuttX Feature: Enable TX deadline when sending CAN frames
* When a deadline occurs the driver will remove the CAN frame
*/
// /* NuttX Feature: Enable TX deadline when sending CAN frames
// * When a deadline occurs the driver will remove the CAN frame
// */
if (setsockopt(_fd, SOL_CAN_RAW, CAN_RAW_TX_DEADLINE, &on, sizeof(on)) < 0) {
PX4_ERR("CAN_RAW_TX_DEADLINE is disabled");
return -1;
}
// if (setsockopt(_fd, SOL_CAN_RAW, CAN_RAW_TX_DEADLINE, &on, sizeof(on)) < 0) {
// PX4_ERR("CAN_RAW_TX_DEADLINE is disabled");
// return -1;
// }
if (can_fd) {
if (setsockopt(_fd, SOL_CAN_RAW, CAN_RAW_FD_FRAMES, &on, sizeof(on)) < 0) {
PX4_ERR("no CAN FD support");
return -1;
}
}
// if (can_fd) {
// if (setsockopt(_fd, SOL_CAN_RAW, CAN_RAW_FD_FRAMES, &on, sizeof(on)) < 0) {
// PX4_ERR("no CAN FD support");
// return -1;
// }
// }
if (bind(_fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
PX4_ERR("bind");