First version - rotary not working.

This commit is contained in:
Holger Weber
2026-05-15 00:34:46 +02:00
commit 088eb07ff3
11 changed files with 321 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
#include <unity.h>
#include "PulseTimer.h"
void test_clamps_timer_range() {
TEST_ASSERT_EQUAL_UINT16(2000, trbc::clampTimerMs(1000));
TEST_ASSERT_EQUAL_UINT16(5000, trbc::clampTimerMs(5000));
TEST_ASSERT_EQUAL_UINT16(10000, trbc::clampTimerMs(12000));
}
void test_adjusts_in_100_ms_steps() {
TEST_ASSERT_EQUAL_UINT16(5100, trbc::adjustTimerMs(5000, 1));
TEST_ASSERT_EQUAL_UINT16(4700, trbc::adjustTimerMs(5000, -3));
}
void test_adjustment_stays_in_range() {
TEST_ASSERT_EQUAL_UINT16(2000, trbc::adjustTimerMs(2000, -1));
TEST_ASSERT_EQUAL_UINT16(10000, trbc::adjustTimerMs(10000, 1));
}
void test_converts_to_tasmota_pulsetime_units() {
TEST_ASSERT_EQUAL_UINT16(20, trbc::tasmotaPulseTimeValue(2000));
TEST_ASSERT_EQUAL_UINT16(55, trbc::tasmotaPulseTimeValue(5500));
TEST_ASSERT_EQUAL_UINT16(100, trbc::tasmotaPulseTimeValue(10000));
}
int main() {
UNITY_BEGIN();
RUN_TEST(test_clamps_timer_range);
RUN_TEST(test_adjusts_in_100_ms_steps);
RUN_TEST(test_adjustment_stays_in_range);
RUN_TEST(test_converts_to_tasmota_pulsetime_units);
return UNITY_END();
}