Acceptance filter update for new transport layer corrections_2

This commit is contained in:
ilia-sheremet
2015-07-29 19:04:30 +01:00
parent b204cb36d8
commit 9e246617d1
3 changed files with 9 additions and 12 deletions
@@ -16,9 +16,6 @@
namespace uavcan
{
/**
* This class configures hardware acceptance filters (if this feature is present on the particular CAN driver) to
* preclude reception of irrelevant CAN frames on the hardware level.
@@ -40,7 +37,7 @@ public:
/**
* These arguments defines whether acceptance filter configuration has anonymous messages or not
*/
enum AnonMessagePresence {WithAnonMsg,NoAnonMsg};
enum AnonymousMessages {AcceptAnonymousMessages,IgnoreAnonymousMessages};
private:
/**
@@ -61,7 +58,7 @@ private:
static const unsigned DefaultFilterMsgMask = 0xFFFF80;
static const unsigned DefaultFilterServiceMask = 0x7F80;
static const unsigned DefaultFilterServiceID = 0x80;
static const unsigned DefaultAnonMsgMask = 0xF;
static const unsigned DefaultAnonMsgMask = 0xFF;
static const unsigned DefaultAnonMsgID = 0x0;
typedef uavcan::Multiset<CanFilterConfig, 1> MultisetConfigContainer;
@@ -73,7 +70,7 @@ private:
/**
* Fills the multiset_configs_ to proceed it with computeConfiguration()
*/
int16_t loadInputConfiguration(AnonMessagePresence load_mode);
int16_t loadInputConfiguration(AnonymousMessages load_mode);
/**
* This method merges several listeners's filter configurations by predetermined algorithm
@@ -101,7 +98,7 @@ public:
* @return 0 = success, negative for error. Input argument defines the presence of anonymous messages
* WithAnonMsg(default)/NoAnonMsg.
*/
int configureFilters(AnonMessagePresence mode = WithAnonMsg);
int configureFilters(AnonymousMessages mode = AcceptAnonymousMessages);
/**
* Returns the configuration computed with computeConfiguration().
@@ -14,11 +14,11 @@ const unsigned CanAcceptanceFilterConfigurator::DefaultFilterServiceMask;
const unsigned CanAcceptanceFilterConfigurator::DefaultAnonMsgMask;
const unsigned CanAcceptanceFilterConfigurator::DefaultAnonMsgID;
int16_t CanAcceptanceFilterConfigurator::loadInputConfiguration(AnonMessagePresence load_mode)
int16_t CanAcceptanceFilterConfigurator::loadInputConfiguration(AnonymousMessages load_mode)
{
multiset_configs_.clear();
if (load_mode == WithAnonMsg)
if (load_mode == AcceptAnonymousMessages)
{
CanFilterConfig anon_frame_cfg;
anon_frame_cfg.id = DefaultAnonMsgID;
@@ -149,7 +149,7 @@ int16_t CanAcceptanceFilterConfigurator::applyConfiguration(void)
return 0;
}
int CanAcceptanceFilterConfigurator::configureFilters(AnonMessagePresence mode)
int CanAcceptanceFilterConfigurator::configureFilters(AnonymousMessages mode)
{
if (getNumFilters() == 0)
{
@@ -146,7 +146,7 @@ TEST(CanAcceptanceFilter, Basic_test)
}
ASSERT_EQ(configure_array.getByIndex(0)->id, 0);
ASSERT_EQ(configure_array.getByIndex(0)->mask, 15);
ASSERT_EQ(configure_array.getByIndex(0)->mask, 255);
ASSERT_EQ(configure_array.getByIndex(1)->id, 256000);
ASSERT_EQ(configure_array.getByIndex(1)->mask, 16771968);
ASSERT_EQ(configure_array.getByIndex(2)->id, 6272);
@@ -157,7 +157,7 @@ TEST(CanAcceptanceFilter, Basic_test)
uavcan::CanAcceptanceFilterConfigurator no_anon_test_confiruration(node);
configure_filters_assert = no_anon_test_confiruration.configureFilters
(uavcan::CanAcceptanceFilterConfigurator::NoAnonMsg);
(uavcan::CanAcceptanceFilterConfigurator::IgnoreAnonymousMessages);
if (configure_filters_assert == 0)
{
std::cout << "Filters are configured without anonymous configuration..." << std::endl;