aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Phillips <david@yeah.nah.nz>2021-02-13 23:14:00 +1300
committerDavid Phillips <david@yeah.nah.nz>2021-02-13 23:24:22 +1300
commitce9e7b1ebd506f8b12bf1c26fedd5dddd3cdd653 (patch)
treecc2b49dc606cfc56b930f78fe910982028eae684
parente8042274b1722e5a0a2b99bea31bafe191d936f1 (diff)
downloadaltimeter-ce9e7b1ebd506f8b12bf1c26fedd5dddd3cdd653.tar.xz
Initialise data manager with ISA pressure
-rw-r--r--Makefile6
-rw-r--r--altimeter.c1
-rw-r--r--data_manager.c1
-rw-r--r--data_manager.h2
-rw-r--r--test_data_manager.c9
-rw-r--r--test_test.c7
6 files changed, 17 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index b5cb2e8..05c24bc 100644
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ SIM_ELF = build/altimeter_sim.elf
# options for native (i.e. unit test)
UNITY_SRC ?= unity/src
-CFLAGS += -Wall -Wextra -I$(UNITY_SRC)
+CFLAGS += -Wall -Wextra -I$(UNITY_SRC) -g3
LDFLAGS += -lm
# options for cross-compile
@@ -58,7 +58,9 @@ TEST_OBJ = \
$(NATIVE_DIR)/$(UNITY_SRC)/unity.o \
$(NATIVE_DIR)/test_runner.o \
$(NATIVE_DIR)/test_util.o \
- $(NATIVE_DIR)/test_test.o \
+ $(NATIVE_DIR)/test_data_manager.o \
+ $(NATIVE_DIR)/data_manager.o \
+ $(NATIVE_DIR)/barometer_sim.o \
$(NATIVE_DIR)/util.o
REAL_OBJ = \
diff --git a/altimeter.c b/altimeter.c
index d86bd23..77c897e 100644
--- a/altimeter.c
+++ b/altimeter.c
@@ -48,6 +48,7 @@ int main(void)
/* Initialise display before enabling interrupts */
display_init();
display_clear();
+ data_manager_init();
DEBUG_INIT;
diff --git a/data_manager.c b/data_manager.c
index bd34426..7f0631a 100644
--- a/data_manager.c
+++ b/data_manager.c
@@ -49,6 +49,7 @@ DATA_MANAGER_GETTER(
void data_manager_init(void)
{
/* FIXME load initial setting and force a tick synchronously */
+ setting[PRESSURE_UNIT_HPA] = 1013.25;
}
void data_manager_tick(void)
diff --git a/data_manager.h b/data_manager.h
index 0d5c067..396f865 100644
--- a/data_manager.h
+++ b/data_manager.h
@@ -12,4 +12,6 @@ enum altitude_unit {
ALTITUDE_UNIT_MAX
};
+float data_manager_get_setting(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
new file mode 100644
index 0000000..61d1d87
--- /dev/null
+++ b/test_data_manager.c
@@ -0,0 +1,9 @@
+#include "data_manager.h"
+#include "test_runner.h"
+#include "unity.h"
+
+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));
+}
diff --git a/test_test.c b/test_test.c
deleted file mode 100644
index 9a78c3e..0000000
--- a/test_test.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "test_runner.h"
-#include "unity.h"
-
-RUNNER_DECLARE_TEST(test_test)
-{
- TEST_ASSERT_EQUAL(0,0);
-}