refactor: #pragma once

This commit is contained in:
2024-10-29 09:29:11 +07:00
parent 2648fc3598
commit a131cfdd9c
20 changed files with 55 additions and 38 deletions

View File

@@ -1,6 +1,8 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#define CONFIG_DISABLE_HAL_LOCKS 0
#include "Wire.h"

View File

@@ -1,37 +1,38 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include <BasicLinearAlgebra.h>
class Kalman2DFilter {
public:
public:
Kalman2DFilter(float dt = 4.f, float accelUncertainty = 10.f, float barometerUncertainty = 100.f) {
dt /= 1000.f;
F = { 1, dt, 0, 1 };
G = { 0.5f * dt * dt, dt };
H = { 1, 0 };
I = { 1, 0, 0, 1 };
F = {1, dt, 0, 1};
G = {0.5f * dt * dt, dt};
H = {1, 0};
I = {1, 0, 0, 1};
Q = G * ~G * accelUncertainty * accelUncertainty;
R = { barometerUncertainty * barometerUncertainty };
P = { 0, 0, 0, 0 };
S = { 0, 0 };
R = {barometerUncertainty * barometerUncertainty};
P = {0, 0, 0, 0};
S = {0, 0};
}
void filter(const float &AccZInertial, const float &AltitudeBarometer,
float &AltitudeKalman, float &VelocityVerticalKalman) {
Acc = { AccZInertial };
Acc = {AccZInertial};
S = F * S + G * Acc;
P = F * P * ~F + Q;
L = H * P * ~H + R;
K = P * ~H * Inverse(L);
M = { AltitudeBarometer };
M = {AltitudeBarometer};
S = S + K * (M - H * S);
AltitudeKalman = S(0, 0);
VelocityVerticalKalman = S(1, 0);
P = (I - K * H) * P;
}
private:
private:
BLA::Matrix<2, 2> F;
BLA::Matrix<2, 1> G;
BLA::Matrix<2, 2> P;

View File

@@ -1,4 +1,5 @@
// упрощённый Калман для одномерного случая
#pragma once
#ifndef _GKalman_h
#define _GKalman_h

View File

@@ -1,4 +1,5 @@
// быстрый медианный фильтр 3-го порядка
#pragma once
#ifndef _GMedian3_h
#define _GMedian3_h

View File

@@ -1,4 +1,5 @@
// экспоненциальное бегущее среднее
#pragma once
#ifndef _GFilterRA_h
#define _GFilterRA_h

View File

@@ -1,5 +1,6 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include "PIDController.hpp"
#include "Sensors/Sensors.hpp"

View File

@@ -1,5 +1,6 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include "FlightController.hpp"
#include "GSON.h"

View File

@@ -1,6 +1,8 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include "Motor/BrushedMotor.hpp"
#include "SavedPidRegulator.hpp"
#include "esp_log.h"

View File

@@ -1,3 +1,4 @@
#pragma once
#include "GyverPID.h"
#include "Preferences.h"
#include "esp_log.h"

View File

@@ -72,6 +72,6 @@ void BrushedMotor::reverse() {
_apply_directional();
}
void BrushedMotor::coast() {
void BrushedMotor::coast() const {
setDuty(0);
}

View File

@@ -1,10 +1,10 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include <cstdint>
#include "Arduino.h"
#include "string.h"
#include "driver/ledc.h"
#include <cstring>
class BrushedMotor {
@@ -25,7 +25,7 @@ public:
void reverse();
void coast();
void coast() const;
void decrement(uint32_t k) const;

View File

@@ -1,5 +1,6 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#define TX_QUEUE_SIZE 512

View File

@@ -1,5 +1,6 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include "GyverBME280.h"

View File

@@ -1,5 +1,6 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include "GyverBME280.h"

View File

@@ -1,5 +1,6 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include "board_pins.h"

View File

@@ -1,5 +1,6 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include "MPU6050_6Axis_MotionApps20.h"
#include "Preferences.h"

View File

@@ -1,14 +1,13 @@
//
// Created by gogacoder on 10.03.24.
//
#include "RangingSensor.hpp"
#include "esp_log.h"
RangingSensor::RangingSensor() {}
RangingSensor::RangingSensor() {
}
void RangingSensor::startFlight() {}
void RangingSensor::startFlight() {
}
void RangingSensor::tick() {}
void RangingSensor::tick() {
}
uint32_t RangingSensor::getDistance() { return 0; }

View File

@@ -1,6 +1,6 @@
//
// Created by gogacoder on 10.03.24.
//
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#ifndef HELICOPTER_FIRMWARE_RANGINGSENSOR_H
#define HELICOPTER_FIRMWARE_RANGINGSENSOR_H

View File

@@ -1,6 +1,7 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#include "Barometer.hpp"
#include "BatteryController.hpp"
#include "Filters/Kalman2DFilter.hpp"

View File

@@ -1,6 +1,7 @@
// This is a personal academic project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: https://pvs-studio.com
#pragma once
#define I2C_SDA_PIN 21
#define I2C_SCL_PIN 18
#define MPU6050_INT_PIN 19