mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-03 13:50:36 +08:00
HW acceptance filters unit test corrected.
specificator changed for cfg.MK-ID print
This commit is contained in:
@@ -136,9 +136,9 @@ int16_t CanAcceptanceFilterConfigurator::applyConfiguration(void)
|
||||
#if UAVCAN_DEBUG
|
||||
for (uint16_t i = 0; i < multiset_configs_.getSize(); i++)
|
||||
{
|
||||
UAVCAN_TRACE("CanAcceptanceFilterConfigurator::applyConfiguration()", "cfg.ID [%u] = %d", i,
|
||||
UAVCAN_TRACE("CanAcceptanceFilterConfigurator::applyConfiguration()", "cfg.ID [%u] = %u", i,
|
||||
multiset_configs_.getByIndex(i)->id);
|
||||
UAVCAN_TRACE("CanAcceptanceFilterConfigurator::applyConfiguration()", "cfg.MK [%u] = %d", i,
|
||||
UAVCAN_TRACE("CanAcceptanceFilterConfigurator::applyConfiguration()", "cfg.MK [%u] = %u", i,
|
||||
multiset_configs_.getByIndex(i)->mask);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -123,21 +123,49 @@ TEST(CanAcceptanceFilter, Basic_test)
|
||||
sub_6.start(listener_6.bindExtended());
|
||||
sub_6_1.start(listener_6.bindExtended());
|
||||
server.start(writeServiceServerCallback);
|
||||
std::cout << "Subscribers are initialized ..." << std::endl;
|
||||
std::cout << "Subscribers are initialized." << std::endl;
|
||||
|
||||
uavcan::CanAcceptanceFilterConfigurator anon_test_configuration(node, 10);
|
||||
|
||||
uavcan::CanAcceptanceFilterConfigurator anon_test_configuration(node);
|
||||
int configure_filters_assert = anon_test_configuration.configureFilters();
|
||||
if (configure_filters_assert == 0)
|
||||
{
|
||||
std::cout << "Filters are configured with anonymous configuration..." << std::endl;
|
||||
}
|
||||
uavcan::CanFilterConfig aux_config_1, aux_config_2;
|
||||
aux_config_1.id = 0;
|
||||
aux_config_1.mask = 1488;
|
||||
aux_config_2.id = 24;
|
||||
aux_config_2.mask = 72;
|
||||
int configure_filters_assert;
|
||||
configure_filters_assert = anon_test_configuration.addFilterConfig(aux_config_1);
|
||||
ASSERT_EQ(configure_filters_assert, 0);
|
||||
configure_filters_assert = anon_test_configuration.addFilterConfig(aux_config_2);
|
||||
ASSERT_EQ(configure_filters_assert, 0);
|
||||
|
||||
configure_filters_assert = anon_test_configuration.computeConfiguration();
|
||||
ASSERT_EQ(configure_filters_assert, 0);
|
||||
std::cout << "Filters are calculated with anonymous configuration." << std::endl;
|
||||
|
||||
const auto& configure_array = anon_test_configuration.getConfiguration();
|
||||
uint32_t configure_array_size = configure_array.getSize();
|
||||
std::cout << "Number of configs after first time computeConfiguration() invoked: "
|
||||
<< configure_array_size << std::endl;
|
||||
ASSERT_EQ(configure_array_size, 10);
|
||||
|
||||
std::cout << "Adding two additional configurations ... " << std::endl;
|
||||
aux_config_2.id = 999999;
|
||||
aux_config_2.mask = 849128412;
|
||||
configure_filters_assert = anon_test_configuration.addFilterConfig(aux_config_1);
|
||||
ASSERT_EQ(configure_filters_assert, 0);
|
||||
ASSERT_EQ(configure_array_size, 4);
|
||||
configure_filters_assert = anon_test_configuration.addFilterConfig(aux_config_2);
|
||||
ASSERT_EQ(configure_filters_assert, 0);
|
||||
configure_array_size = configure_array.getSize();
|
||||
std::cout << "New configuration anon_container size: " << configure_array_size << std::endl;
|
||||
ASSERT_EQ(configure_array_size, 12);
|
||||
|
||||
std::cout << "Applying configuration ... " << std::endl;
|
||||
configure_filters_assert = anon_test_configuration.applyConfiguration();
|
||||
ASSERT_EQ(configure_filters_assert, 0);
|
||||
std::cout << "Filters are configured." << std::endl;
|
||||
configure_array_size = configure_array.getSize();
|
||||
std::cout << "Final configuration anon_container size: " << configure_array_size << std::endl;
|
||||
ASSERT_EQ(configure_array_size, 10);
|
||||
|
||||
for (uint16_t i = 0; i<configure_array_size; i++)
|
||||
{
|
||||
@@ -145,42 +173,55 @@ TEST(CanAcceptanceFilter, Basic_test)
|
||||
std::cout << "config.MK [" << i << "]= " << configure_array.getByIndex(i)->mask << std::endl;
|
||||
}
|
||||
|
||||
ASSERT_EQ(configure_array.getByIndex(0)->id, 256000);
|
||||
ASSERT_EQ(configure_array.getByIndex(0)->mask, 16771968);
|
||||
ASSERT_EQ(configure_array.getByIndex(1)->id, 0);
|
||||
ASSERT_EQ(configure_array.getByIndex(1)->mask, 255);
|
||||
ASSERT_EQ(configure_array.getByIndex(2)->id, 6272);
|
||||
ASSERT_EQ(configure_array.getByIndex(2)->mask, 32640);
|
||||
ASSERT_EQ(configure_array.getByIndex(3)->id, 262144);
|
||||
ASSERT_EQ(configure_array.getByIndex(3)->mask, 16771200);
|
||||
ASSERT_EQ(configure_array.getByIndex(0)->id, 2147489920);
|
||||
ASSERT_EQ(configure_array.getByIndex(0)->mask, 3758129024);
|
||||
ASSERT_EQ(configure_array.getByIndex(1)->id, 2147739648);
|
||||
ASSERT_EQ(configure_array.getByIndex(1)->mask, 3774868352);
|
||||
ASSERT_EQ(configure_array.getByIndex(2)->id, 0);
|
||||
ASSERT_EQ(configure_array.getByIndex(2)->mask, 1488);
|
||||
ASSERT_EQ(configure_array.getByIndex(3)->id, 999999);
|
||||
ASSERT_EQ(configure_array.getByIndex(3)->mask, 849128412);
|
||||
ASSERT_EQ(configure_array.getByIndex(4)->id, 2147745792);
|
||||
ASSERT_EQ(configure_array.getByIndex(4)->mask, 3774872704);
|
||||
ASSERT_EQ(configure_array.getByIndex(5)->id, 2147489920);
|
||||
ASSERT_EQ(configure_array.getByIndex(5)->mask, 3758129024);
|
||||
ASSERT_EQ(configure_array.getByIndex(6)->id, 2147745792);
|
||||
ASSERT_EQ(configure_array.getByIndex(6)->mask, 3774868352);
|
||||
ASSERT_EQ(configure_array.getByIndex(7)->id, 0);
|
||||
ASSERT_EQ(configure_array.getByIndex(7)->mask, 1488);
|
||||
ASSERT_EQ(configure_array.getByIndex(8)->id, 24);
|
||||
ASSERT_EQ(configure_array.getByIndex(8)->mask, 72);
|
||||
ASSERT_EQ(configure_array.getByIndex(9)->id, 2147483648);
|
||||
ASSERT_EQ(configure_array.getByIndex(9)->mask, 3758096639);
|
||||
|
||||
|
||||
uavcan::CanAcceptanceFilterConfigurator no_anon_test_confiruration(node);
|
||||
configure_filters_assert = no_anon_test_confiruration.configureFilters
|
||||
uavcan::CanAcceptanceFilterConfigurator no_anon_test_confiruration(node, 4);
|
||||
configure_filters_assert = no_anon_test_confiruration.computeConfiguration
|
||||
(uavcan::CanAcceptanceFilterConfigurator::IgnoreAnonymousMessages);
|
||||
if (configure_filters_assert == 0)
|
||||
{
|
||||
std::cout << "Filters are configured without anonymous configuration..." << std::endl;
|
||||
}
|
||||
ASSERT_EQ(configure_filters_assert, 0);
|
||||
std::cout << "Filters are configured without anonymous configuration." << std::endl;
|
||||
|
||||
configure_filters_assert = no_anon_test_confiruration.applyConfiguration();
|
||||
ASSERT_EQ(configure_filters_assert, 0);
|
||||
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();
|
||||
|
||||
ASSERT_EQ(configure_filters_assert, 0);
|
||||
ASSERT_EQ(configure_array_size, 4);
|
||||
|
||||
for (uint16_t i = 0; i<configure_array_size; i++)
|
||||
{
|
||||
std::cout << "config.ID [" << i << "]= " << configure_array_2.getByIndex(i)->id << std::endl;
|
||||
std::cout << "config.MK [" << i << "]= " << configure_array_2.getByIndex(i)->mask << std::endl;
|
||||
std::cout << "config.ID [" << i << "] = " << configure_array_2.getByIndex(i)->id << std::endl;
|
||||
std::cout << "config.MK [" << i << "] = " << configure_array_2.getByIndex(i)->mask << std::endl;
|
||||
}
|
||||
|
||||
ASSERT_EQ(configure_array_2.getByIndex(0)->id, 256000);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(0)->mask, 16771968);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(1)->id, 262144);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(1)->mask, 16776320);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(2)->id, 6272);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(2)->mask, 32640);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(3)->id, 262144);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(3)->mask, 16771968);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(0)->id, 2147739648);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(0)->mask, 3774868352);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(1)->id, 2147745792);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(1)->mask, 3774872704);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(2)->id, 2147489920);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(2)->mask, 3758129024);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(3)->id, 2147745792);
|
||||
ASSERT_EQ(configure_array_2.getByIndex(3)->mask, 3774868352);
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user