summaryrefslogtreecommitdiff
path: root/include/altimeter.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/altimeter.hpp')
-rw-r--r--include/altimeter.hpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/altimeter.hpp b/include/altimeter.hpp
new file mode 100644
index 0000000..bf7effd
--- /dev/null
+++ b/include/altimeter.hpp
@@ -0,0 +1,31 @@
+#pragma once
+
+#include "pico/stdlib.h"
+#include "hardware/i2c.h"
+#include "hardware/gpio.h"
+#include <cstdint>
+
+class altimeter {
+ private:
+ uint8_t altitude_buffer[4];
+ uint8_t buffer[4];
+ uint8_t addr;
+ i2c_inst_t* inst;
+ public:
+ altimeter(i2c_inst_t* inst, uint8_t addr);
+
+ void initialize();
+
+ void initialize(float threshold_altitude, uint8_t interrupt_pin, gpio_irq_callback_t callback);
+
+ void set_threshold_altitude(float threshold_altitude, uint8_t interrupt_pin, gpio_irq_callback_t callback);
+
+ void unset_threshold_altitude(uint8_t interrupt_pin);
+
+ float get_altitude_converted();
+
+ void get_altitude_raw(uint8_t* buffer);
+
+ uint32_t expose_buffer(uint8_t** buffer);
+};
+