From b204cb36d8cb47fd3ec6ff4f44c7c5da6bbab771 Mon Sep 17 00:00:00 2001 From: ilia-sheremet Date: Sat, 25 Jul 2015 20:25:06 +0100 Subject: [PATCH] Acceptance filter update for new transport layer corrections --- .../can_acceptance_filter_configurator.hpp | 21 ++++++++++++------- .../uc_can_acceptance_filter_configurator.cpp | 4 ++-- .../can_acceptance_filter_configurator.cpp | 5 +++-- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/libuavcan/include/uavcan/transport/can_acceptance_filter_configurator.hpp b/libuavcan/include/uavcan/transport/can_acceptance_filter_configurator.hpp index eb8b944ed4..f5177343a1 100644 --- a/libuavcan/include/uavcan/transport/can_acceptance_filter_configurator.hpp +++ b/libuavcan/include/uavcan/transport/can_acceptance_filter_configurator.hpp @@ -16,10 +16,8 @@ namespace uavcan { -/** - * These arguments defines whether acceptance filter configuration has anonymous massages or not - */ -enum AnonMassagePresence {WithAnonMsg,NoAnonMsg}; + + /** * This class configures hardware acceptance filters (if this feature is present on the particular CAN driver) to @@ -38,6 +36,13 @@ enum AnonMassagePresence {WithAnonMsg,NoAnonMsg}; */ class CanAcceptanceFilterConfigurator { +public: + /** + * These arguments defines whether acceptance filter configuration has anonymous messages or not + */ + enum AnonMessagePresence {WithAnonMsg,NoAnonMsg}; + +private: /** * Below constants based on UAVCAN transport layer specification. Masks and ID's depends on message * TypeID, TransferID (RequestNotResponse - for service types, ServiceNotMessage - for all types of messages). @@ -51,7 +56,7 @@ class CanAcceptanceFilterConfigurator * HW filters. * DefaultAnonMsgMask = 00000 00000000 00000000 11111111 * DefaultAnonMsgID = 00000 00000000 00000000 00000000, by default the config is added to accept all anonymous - * frames. In case there are no anonymous massages, invoke configureFilters(NoAnonMsg). + * frames. In case there are no anonymous messages, invoke configureFilters(NoAnonMsg). */ static const unsigned DefaultFilterMsgMask = 0xFFFF80; static const unsigned DefaultFilterServiceMask = 0x7F80; @@ -68,7 +73,7 @@ class CanAcceptanceFilterConfigurator /** * Fills the multiset_configs_ to proceed it with computeConfiguration() */ - int16_t loadInputConfiguration(AnonMassagePresence load_mode); + int16_t loadInputConfiguration(AnonMessagePresence load_mode); /** * This method merges several listeners's filter configurations by predetermined algorithm @@ -93,10 +98,10 @@ public: /** * This method invokes loadInputConfiguration(), computeConfiguration() and applyConfiguration() consequently, so * that optimal acceptance filter configuration will be computed and loaded through CanDriver::configureFilters() - * @return 0 = success, negative for error. Input argument defines the presence of anonymous massages + * @return 0 = success, negative for error. Input argument defines the presence of anonymous messages * WithAnonMsg(default)/NoAnonMsg. */ - int configureFilters(AnonMassagePresence mode = WithAnonMsg); + int configureFilters(AnonMessagePresence mode = WithAnonMsg); /** * Returns the configuration computed with computeConfiguration(). diff --git a/libuavcan/src/transport/uc_can_acceptance_filter_configurator.cpp b/libuavcan/src/transport/uc_can_acceptance_filter_configurator.cpp index 03690f43a6..edd4593c04 100644 --- a/libuavcan/src/transport/uc_can_acceptance_filter_configurator.cpp +++ b/libuavcan/src/transport/uc_can_acceptance_filter_configurator.cpp @@ -14,7 +14,7 @@ const unsigned CanAcceptanceFilterConfigurator::DefaultFilterServiceMask; const unsigned CanAcceptanceFilterConfigurator::DefaultAnonMsgMask; const unsigned CanAcceptanceFilterConfigurator::DefaultAnonMsgID; -int16_t CanAcceptanceFilterConfigurator::loadInputConfiguration(AnonMassagePresence load_mode) +int16_t CanAcceptanceFilterConfigurator::loadInputConfiguration(AnonMessagePresence load_mode) { multiset_configs_.clear(); @@ -149,7 +149,7 @@ int16_t CanAcceptanceFilterConfigurator::applyConfiguration(void) return 0; } -int CanAcceptanceFilterConfigurator::configureFilters(AnonMassagePresence mode) +int CanAcceptanceFilterConfigurator::configureFilters(AnonMessagePresence mode) { if (getNumFilters() == 0) { diff --git a/libuavcan/test/transport/can_acceptance_filter_configurator.cpp b/libuavcan/test/transport/can_acceptance_filter_configurator.cpp index 868fbf2bb3..7767efc6be 100644 --- a/libuavcan/test/transport/can_acceptance_filter_configurator.cpp +++ b/libuavcan/test/transport/can_acceptance_filter_configurator.cpp @@ -156,10 +156,11 @@ TEST(CanAcceptanceFilter, Basic_test) uavcan::CanAcceptanceFilterConfigurator no_anon_test_confiruration(node); - configure_filters_assert = no_anon_test_confiruration.configureFilters(uavcan::NoAnonMsg); + configure_filters_assert = no_anon_test_confiruration.configureFilters + (uavcan::CanAcceptanceFilterConfigurator::NoAnonMsg); if (configure_filters_assert == 0) { - std::cout << "Filters are configured without anonymous configuration..."<< std::endl; + std::cout << "Filters are configured without anonymous configuration..." << std::endl; } const auto& configure_array_2 = no_anon_test_confiruration.getConfiguration(); configure_array_size = configure_array_2.getSize();