summaryrefslogtreecommitdiff
path: root/src/drivers/ao_ms5607.c
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2017-08-12 00:59:03 -0400
committerBdale Garbee <bdale@gag.com>2017-08-12 00:59:03 -0400
commit59c6167b9f1e9de30455af1632e9a0b65d64ad63 (patch)
treed27e4b3df53300081aa6ac0a30820c58a1c968ef /src/drivers/ao_ms5607.c
parent41eedf88751910ea9c0a299444fbac769edb8427 (diff)
parentfccfa54bb3b746cecfcdc1fd497cf736bbfe3ef3 (diff)
Merge branch 'branch-1.8' into debian
Diffstat (limited to 'src/drivers/ao_ms5607.c')
-rw-r--r--src/drivers/ao_ms5607.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/drivers/ao_ms5607.c b/src/drivers/ao_ms5607.c
index 261df67f..914e0c1b 100644
--- a/src/drivers/ao_ms5607.c
+++ b/src/drivers/ao_ms5607.c
@@ -191,17 +191,23 @@ ao_ms5607_sample(__xdata struct ao_ms5607_sample *sample)
#include "ao_ms5607_convert.c"
#endif
-#if HAS_TASK
+#ifndef HAS_MS5607_TASK
+#define HAS_MS5607_TASK HAS_TASK
+#endif
+
__xdata struct ao_ms5607_sample ao_ms5607_current;
+#if HAS_MS5607_TASK
static void
ao_ms5607(void)
{
+ struct ao_ms5607_sample sample;
ao_ms5607_setup();
for (;;)
{
- ao_ms5607_sample(&ao_ms5607_current);
+ ao_ms5607_sample(&sample);
ao_arch_block_interrupts();
+ ao_ms5607_current = sample;
AO_DATA_PRESENT(AO_DATA_MS5607);
AO_DATA_WAIT();
ao_arch_release_interrupts();
@@ -209,7 +215,9 @@ ao_ms5607(void)
}
__xdata struct ao_task ao_ms5607_task;
+#endif
+#if HAS_TASK
void
ao_ms5607_info(void)
{
@@ -248,6 +256,8 @@ ao_ms5607_init(void)
#if HAS_TASK
ao_cmd_register(&ao_ms5607_cmds[0]);
+#endif
+#if HAS_MS5607_TASK
ao_add_task(&ao_ms5607_task, ao_ms5607, "ms5607");
#endif