diff options
-rw-r--r-- | data_manager.c | 1 | ||||
-rw-r--r-- | data_manager.h | 1 | ||||
-rw-r--r-- | test_data_manager.c | 8 |
3 files changed, 10 insertions, 0 deletions
diff --git a/data_manager.c b/data_manager.c index 7f0631a..62dcd14 100644 --- a/data_manager.c +++ b/data_manager.c @@ -50,6 +50,7 @@ void data_manager_init(void) { /* FIXME load initial setting and force a tick synchronously */ setting[PRESSURE_UNIT_HPA] = 1013.25; + data_manager_tick(); } void data_manager_tick(void) diff --git a/data_manager.h b/data_manager.h index 396f865..293d7d5 100644 --- a/data_manager.h +++ b/data_manager.h @@ -13,5 +13,6 @@ enum altitude_unit { }; float data_manager_get_setting(enum pressure_unit); +float data_manager_get_pressure(enum pressure_unit); void data_manager_init(void); void data_manager_tick(void); diff --git a/test_data_manager.c b/test_data_manager.c index 61d1d87..8edd781 100644 --- a/test_data_manager.c +++ b/test_data_manager.c @@ -7,3 +7,11 @@ RUNNER_DECLARE_TEST(test_data_manager_init_setting) data_manager_init(); TEST_ASSERT_FLOAT_WITHIN(0.001, 1013.25, data_manager_get_setting(PRESSURE_UNIT_HPA)); } + +RUNNER_DECLARE_TEST(test_data_manager_first_readings) +{ + data_manager_init(); + TEST_ASSERT_FLOAT_WITHIN(0.001, 1019.5, data_manager_get_pressure(PRESSURE_UNIT_HPA)); + data_manager_tick(); + TEST_ASSERT_FLOAT_WITHIN(0.001, 1019.45, data_manager_get_pressure(PRESSURE_UNIT_HPA)); +} |