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