uss filter
This commit is contained in:
parent
d56fd743e6
commit
5ec44173c6
@ -2,7 +2,7 @@
|
||||
|
||||
#include <iostream>
|
||||
|
||||
// 超声波传感器的CAN ID定义 (J1939格式: 0x18EC5700)
|
||||
// 超声波传感器的CAN ID定义 (J1939格式: 0x18EC5700) 18EC0057
|
||||
// Priority: 0x18, PGN: 0xEC00 (60416), Device ID: 0x57 (87)
|
||||
constexpr uint32_t USS_CAN_ID = 0x18EC0057;
|
||||
constexpr uint32_t USS_CAN_MASK = 0xFFFFFFFF; // 精确匹配
|
||||
@ -39,18 +39,18 @@ bool UssDriver::init(const std::string& can_interface)
|
||||
}
|
||||
|
||||
// 设置CAN过滤器,只接收超声波的CAN数据
|
||||
struct can_filter filter;
|
||||
filter.can_id = USS_CAN_ID | CAN_EFF_FLAG;
|
||||
filter.can_mask = USS_CAN_MASK;
|
||||
std::vector<struct can_filter> filters;
|
||||
filters.push_back(filter);
|
||||
// struct can_filter filter;
|
||||
// filter.can_id = USS_CAN_ID | CAN_EFF_FLAG;
|
||||
// filter.can_mask = USS_CAN_MASK;
|
||||
// std::vector<struct can_filter> filters;
|
||||
// filters.push_back(filter);
|
||||
|
||||
if (!can_driver_.setFilter(filters))
|
||||
{
|
||||
std::cerr << "Failed to set CAN filter for USS" << std::endl;
|
||||
can_driver_.close();
|
||||
return false;
|
||||
}
|
||||
// if (!can_driver_.setFilter(filters))
|
||||
// {
|
||||
// std::cerr << "Failed to set CAN filter for USS" << std::endl;
|
||||
// can_driver_.close();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
can_driver_.setReceiveCallback(canReceiveCallback, this);
|
||||
initialized_ = true;
|
||||
@ -58,7 +58,7 @@ bool UssDriver::init(const std::string& can_interface)
|
||||
if (print_debug_)
|
||||
{
|
||||
std::cout << "USS driver initialized successfully on " << can_interface << std::endl;
|
||||
std::cout << "CAN filter set for ID: 0x" << std::hex << USS_CAN_ID << std::dec << std::endl;
|
||||
// std::cout << "CAN filter set for ID: 0x" << std::hex << USS_CAN_ID << std::dec << std::endl;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user