diff --git a/include/etl/generators/message_packet_generator.h b/include/etl/generators/message_packet_generator.h index b68c1865..86042a5e 100644 --- a/include/etl/generators/message_packet_generator.h +++ b/include/etl/generators/message_packet_generator.h @@ -190,6 +190,23 @@ namespace etl cog.outl(" return valid;") cog.outl(" }") cog.outl("") + cog.outl(" //**********************************************") + cog.outl(" static ETL_CONSTEXPR bool accepts(etl::message_id_t id)") + cog.outl(" {") + cog.outl(" switch (id)") + cog.outl(" {") + cog.out(" ") + for n in range(1, int(Handlers) + 1): + cog.out("case T%d::ID: " % n) + if n % 8 == 0: + cog.outl("") + cog.out(" ") + cog.outl(" return true;") + cog.outl(" default:") + cog.outl(" return false;") + cog.outl(" }") + cog.outl(" }") + cog.outl("") cog.outl(" enum") cog.outl(" {") cog.out(" SIZE = etl::largest<") @@ -389,6 +406,24 @@ namespace etl cog.outl(" return valid;") cog.outl(" }") cog.outl("") + cog.outl(" //**********************************************") + cog.outl(" static ETL_CONSTEXPR bool accepts(etl::message_id_t id)") + cog.outl(" {") + cog.outl(" switch (id)") + cog.outl(" {") + cog.out(" ") + for t in range(1, n + 1): + cog.out("case T%d::ID: " % t) + if t % 8 == 0: + cog.outl("") + cog.out(" ") + cog.outl("") + cog.outl(" return true;") + cog.outl(" default:") + cog.outl(" return false;") + cog.outl(" }") + cog.outl(" }") + cog.outl("") cog.outl(" enum") cog.outl(" {") cog.out(" SIZE = etl::largest<") diff --git a/include/etl/message_packet.h b/include/etl/message_packet.h index e8b8c3ad..49d5f78f 100644 --- a/include/etl/message_packet.h +++ b/include/etl/message_packet.h @@ -169,6 +169,19 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: case T8::ID: + case T9::ID: case T10::ID: case T11::ID: case T12::ID: case T13::ID: case T14::ID: case T15::ID: case T16::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -382,6 +395,19 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: case T8::ID: + case T9::ID: case T10::ID: case T11::ID: case T12::ID: case T13::ID: case T14::ID: case T15::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -592,6 +618,19 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: case T8::ID: + case T9::ID: case T10::ID: case T11::ID: case T12::ID: case T13::ID: case T14::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -799,6 +838,19 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: case T8::ID: + case T9::ID: case T10::ID: case T11::ID: case T12::ID: case T13::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -1002,6 +1054,19 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: case T8::ID: + case T9::ID: case T10::ID: case T11::ID: case T12::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -1202,6 +1267,19 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: case T8::ID: + case T9::ID: case T10::ID: case T11::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -1399,6 +1477,19 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: case T8::ID: + case T9::ID: case T10::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -1593,6 +1684,19 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: case T8::ID: + case T9::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -1783,6 +1887,19 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: case T8::ID: + + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -1970,6 +2087,18 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: case T7::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -2154,6 +2283,18 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: case T6::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -2335,6 +2476,18 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: case T5::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -2512,6 +2665,18 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: case T4::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -2686,6 +2851,18 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: case T3::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -2857,6 +3034,18 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: case T2::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size, @@ -3025,6 +3214,18 @@ namespace etl return valid; } + //********************************************** + static ETL_CONSTEXPR bool accepts(etl::message_id_t id) + { + switch (id) + { + case T1::ID: + return true; + default: + return false; + } + } + enum { SIZE = etl::largest::size,