mirror of
https://github.com/alexhopeoconnor/firmware.git
synced 2026-10-15 07:51:19 +10:00
* Infinite calibration loop fix * Save calibration * Screen refresh * reduce repeated code * reduce repeated code to reduce flash * fix Waypoint compass size and no fix no heading labels * Don't show compass unless we have a heading and location * If no calculated heading from moving, we should have no heading * Slow walking calculated heading and auto stale heading when not moving * Triming flash space * cleanup * show "?" when no location or heading for distance and heading screen * cleanup * Stale heading logic * final trim * Compass Calibration screen redesign * Trunk Fix * Compile fix * patch * Update src/motion/MotionSensor.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update WaypointModule.cpp --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
44 lines
912 B
C++
44 lines
912 B
C++
#pragma once
|
|
|
|
#ifndef _BMX160_SENSOR_H_
|
|
#define _BMX160_SENSOR_H_
|
|
|
|
#include "MotionSensor.h"
|
|
|
|
#if !defined(ARCH_STM32WL) && !MESHTASTIC_EXCLUDE_I2C
|
|
|
|
#if !defined(RAK2560) && __has_include(<Rak_BMX160.h>)
|
|
|
|
#include "Fusion/Fusion.h"
|
|
#include <Rak_BMX160.h>
|
|
|
|
class BMX160Sensor : public MotionSensor
|
|
{
|
|
private:
|
|
RAK_BMX160 sensor;
|
|
bool showingScreen = false;
|
|
static constexpr const char *compassCalibrationFileName = "/prefs/compass_bmx160.dat";
|
|
float highestX = 0, lowestX = 0, highestY = 0, lowestY = 0, highestZ = 0, lowestZ = 0;
|
|
|
|
public:
|
|
explicit BMX160Sensor(ScanI2C::FoundDevice foundDevice);
|
|
virtual bool init() override;
|
|
virtual int32_t runOnce() override;
|
|
virtual void calibrate(uint16_t forSeconds) override;
|
|
};
|
|
|
|
#else
|
|
|
|
// Stub
|
|
class BMX160Sensor : public MotionSensor
|
|
{
|
|
public:
|
|
explicit BMX160Sensor(ScanI2C::FoundDevice foundDevice);
|
|
};
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|