aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data_manager.c1
-rw-r--r--data_manager.h1
-rw-r--r--test_data_manager.c8
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));
+}