summaryrefslogtreecommitdiff
path: root/include/altimeter.hpp
diff options
context:
space:
mode:
authorDawsyn Schraiber <[email protected]>2024-06-13 14:30:58 -0400
committerGitHub <[email protected]>2024-06-13 14:30:58 -0400
commit58b4bc754bbb9f5197119cd0c124e49c05acff46 (patch)
tree8a65e23756374626e2c9cb997af9d8ed6f892390 /include/altimeter.hpp
parent8fbd08fe29bbc2246a78b481b219c241f62ff420 (diff)
downloadactive-drag-system-58b4bc754bbb9f5197119cd0c124e49c05acff46.tar.gz
active-drag-system-58b4bc754bbb9f5197119cd0c124e49c05acff46.tar.bz2
active-drag-system-58b4bc754bbb9f5197119cd0c124e49c05acff46.zip
Where to begin…. (#13)
+/- Reworked collection of altimeter related functions into altimeter class +/- Reworked bno055 class to be imu class with minimal functionality \- Removed external Kalman filter implementations in favor of own in house version \- Removed any/unused files \+ Added buffer logger for when sitting on pad for extended period of time in effort to prevent filling of flash chip \+ Added heartbeat LED for alive status
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);
+};
+