diff --git a/libuavcan/include/uavcan/protocol/dynamic_node_id_server/centralized/storage.hpp b/libuavcan/include/uavcan/protocol/dynamic_node_id_server/centralized/storage.hpp index 99e04eb183..c03957d14f 100644 --- a/libuavcan/include/uavcan/protocol/dynamic_node_id_server/centralized/storage.hpp +++ b/libuavcan/include/uavcan/protocol/dynamic_node_id_server/centralized/storage.hpp @@ -25,7 +25,7 @@ class Storage public: typedef uint8_t Size; - enum { Capacity = NodeID::Max - 1 }; + enum { Capacity = NodeID::Max }; struct Entry { diff --git a/libuavcan/test/protocol/dynamic_node_id_server/centralized/storage.cpp b/libuavcan/test/protocol/dynamic_node_id_server/centralized/storage.cpp index 615dc73f11..51ada6d104 100644 --- a/libuavcan/test/protocol/dynamic_node_id_server/centralized/storage.cpp +++ b/libuavcan/test/protocol/dynamic_node_id_server/centralized/storage.cpp @@ -164,11 +164,11 @@ TEST(dynamic_node_id_server_centralized_Storage, Basic) { ASSERT_LE(0, stor.add(entry.node_id, entry.unique_id)); - entry.node_id = uint8_t(entry.node_id.get() + 1U); + entry.node_id = uint8_t(uavcan::min(entry.node_id.get() + 1U, 127U)); entry.unique_id[0] = uint8_t(entry.unique_id[0] + 1U); } - ASSERT_GT(0, stor.add(entry.node_id, entry.unique_id)); // Failing because full + ASSERT_GT(0, stor.add(123, entry.unique_id)); // Failing because full storage.print(); }