@@ -10,8 +10,9 @@ static uint32_t computeExpectedMs(uint32_t defaultSeconds, uint32_t numOnlineNod
1010{
1111 uint32_t baseMs = Default::getConfiguredOrDefaultMs (0 , defaultSeconds);
1212
13- // Routers don't scale
14- if (config.device .role == meshtastic_Config_DeviceConfig_Role_ROUTER) {
13+ // Routers (including ROUTER_LATE) don't scale
14+ if (config.device .role == meshtastic_Config_DeviceConfig_Role_ROUTER ||
15+ config.device .role == meshtastic_Config_DeviceConfig_Role_ROUTER_LATE) {
1516 return baseMs;
1617 }
1718
@@ -93,6 +94,39 @@ void test_client_medium_fast_preset_scaling()
9394 TEST_ASSERT_INT_WITHIN (1 , expected, res);
9495}
9596
97+ void test_router_uses_router_minimums ()
98+ {
99+ config.device .role = meshtastic_Config_DeviceConfig_Role_ROUTER;
100+
101+ uint32_t telemetry = Default::getConfiguredOrMinimumValue (60 , min_default_telemetry_interval_secs);
102+ uint32_t position = Default::getConfiguredOrMinimumValue (60 , min_default_broadcast_interval_secs);
103+
104+ TEST_ASSERT_EQUAL_UINT32 (ONE_DAY / 2 , telemetry);
105+ TEST_ASSERT_EQUAL_UINT32 (ONE_DAY / 2 , position);
106+ }
107+
108+ void test_router_late_uses_router_minimums ()
109+ {
110+ config.device .role = meshtastic_Config_DeviceConfig_Role_ROUTER_LATE;
111+
112+ uint32_t telemetry = Default::getConfiguredOrMinimumValue (60 , min_default_telemetry_interval_secs);
113+ uint32_t position = Default::getConfiguredOrMinimumValue (60 , min_default_broadcast_interval_secs);
114+
115+ TEST_ASSERT_EQUAL_UINT32 (ONE_DAY / 2 , telemetry);
116+ TEST_ASSERT_EQUAL_UINT32 (ONE_DAY / 2 , position);
117+ }
118+
119+ void test_client_uses_public_channel_minimums ()
120+ {
121+ config.device .role = meshtastic_Config_DeviceConfig_Role_CLIENT;
122+
123+ uint32_t telemetry = Default::getConfiguredOrMinimumValue (60 , min_default_telemetry_interval_secs);
124+ uint32_t position = Default::getConfiguredOrMinimumValue (60 , min_default_broadcast_interval_secs);
125+
126+ TEST_ASSERT_EQUAL_UINT32 (30 * 60 , telemetry);
127+ TEST_ASSERT_EQUAL_UINT32 (60 * 60 , position);
128+ }
129+
96130void setup ()
97131{
98132 // Small delay to match other test mains
@@ -103,6 +137,9 @@ void setup()
103137 RUN_TEST (test_client_below_threshold);
104138 RUN_TEST (test_client_default_preset_scaling);
105139 RUN_TEST (test_client_medium_fast_preset_scaling);
140+ RUN_TEST (test_router_uses_router_minimums);
141+ RUN_TEST (test_router_late_uses_router_minimums);
142+ RUN_TEST (test_client_uses_public_channel_minimums);
106143 exit (UNITY_END ());
107144}
108145
0 commit comments