From 85172cdcc8512ba664e5f47c456f1c9a08436643 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 10 Jan 2025 06:51:14 +0300 Subject: [PATCH] Make util module header instead of .ino-file --- .vscode/c_cpp_properties.json | 3 --- flix/control.ino | 1 + flix/estimate.ino | 2 +- flix/flix.ino | 1 + flix/imu.ino | 3 +-- flix/motors.ino | 2 ++ flix/rc.ino | 1 + flix/{util.ino => util.h} | 2 ++ gazebo/simulator.cpp | 1 - gazebo/soc/rtc_cntl_reg.h | 2 +- gazebo/soc/soc.h | 2 +- 11 files changed, 11 insertions(+), 9 deletions(-) rename flix/{util.ino => util.h} (98%) diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 0de0b76..6a132c3 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -28,7 +28,6 @@ "${workspaceFolder}/flix/motors.ino", "${workspaceFolder}/flix/rc.ino", "${workspaceFolder}/flix/time.ino", - "${workspaceFolder}/flix/util.ino", "${workspaceFolder}/flix/wifi.ino", "${workspaceFolder}/flix/parameters.ino" ], @@ -76,7 +75,6 @@ "${workspaceFolder}/flix/motors.ino", "${workspaceFolder}/flix/rc.ino", "${workspaceFolder}/flix/time.ino", - "${workspaceFolder}/flix/util.ino", "${workspaceFolder}/flix/wifi.ino", "${workspaceFolder}/flix/parameters.ino" ], @@ -124,7 +122,6 @@ "${workspaceFolder}/flix/motors.ino", "${workspaceFolder}/flix/rc.ino", "${workspaceFolder}/flix/time.ino", - "${workspaceFolder}/flix/util.ino", "${workspaceFolder}/flix/wifi.ino", "${workspaceFolder}/flix/parameters.ino" ], diff --git a/flix/control.ino b/flix/control.ino index a330138..6bab295 100644 --- a/flix/control.ino +++ b/flix/control.ino @@ -7,6 +7,7 @@ #include "quaternion.h" #include "pid.h" #include "lpf.h" +#include "util.h" #define PITCHRATE_P 0.05 #define PITCHRATE_I 0.2 diff --git a/flix/estimate.ino b/flix/estimate.ino index a9adaf4..fa8c306 100644 --- a/flix/estimate.ino +++ b/flix/estimate.ino @@ -6,12 +6,12 @@ #include "quaternion.h" #include "vector.h" #include "lpf.h" +#include "util.h" #define WEIGHT_ACC 0.5f #define RATES_LFP_ALPHA 0.2 // cutoff frequency ~ 40 Hz LowPassFilter ratesFilter(RATES_LFP_ALPHA); -extern const float ONE_G; void estimate() { applyGyro(); diff --git a/flix/flix.ino b/flix/flix.ino index 6e6e365..c13812b 100644 --- a/flix/flix.ino +++ b/flix/flix.ino @@ -5,6 +5,7 @@ #include "vector.h" #include "quaternion.h" +#include "util.h" #define SERIAL_BAUDRATE 115200 #define WIFI_ENABLED 1 diff --git a/flix/imu.ino b/flix/imu.ino index 7f8f858..549d6ba 100644 --- a/flix/imu.ino +++ b/flix/imu.ino @@ -5,6 +5,7 @@ #include #include +#include "util.h" MPU9250 IMU(SPI); @@ -12,8 +13,6 @@ Vector accBias; Vector gyroBias; Vector accScale(1, 1, 1); -extern const float ONE_G; - void setupIMU() { Serial.println("Setup IMU"); bool status = IMU.begin(); diff --git a/flix/motors.ino b/flix/motors.ino index 1a7e786..0458228 100644 --- a/flix/motors.ino +++ b/flix/motors.ino @@ -4,6 +4,8 @@ // Motors output control using MOSFETs // In case of using ESCs, change PWM_MIN and PWM_MAX definitions to appropriate values in μs +#include "util.h" + #define MOTOR_0_PIN 12 // rear left #define MOTOR_1_PIN 13 // rear right #define MOTOR_2_PIN 14 // front right diff --git a/flix/rc.ino b/flix/rc.ino index 2d10420..3c9e58c 100644 --- a/flix/rc.ino +++ b/flix/rc.ino @@ -4,6 +4,7 @@ // Work with the RC receiver #include +#include "util.h" float channelNeutral[RC_CHANNELS] = {NAN}; // first element NAN means not calibrated float channelMax[RC_CHANNELS]; diff --git a/flix/util.ino b/flix/util.h similarity index 98% rename from flix/util.ino rename to flix/util.h index 04e2595..98d76b3 100644 --- a/flix/util.ino +++ b/flix/util.h @@ -3,6 +3,8 @@ // Utility functions +#pragma once + #include #include #include diff --git a/gazebo/simulator.cpp b/gazebo/simulator.cpp index 605750b..3d5555e 100644 --- a/gazebo/simulator.cpp +++ b/gazebo/simulator.cpp @@ -17,7 +17,6 @@ #include "Arduino.h" #include "flix.h" -#include "util.ino" #include "rc.ino" #include "time.ino" #include "motors.ino" diff --git a/gazebo/soc/rtc_cntl_reg.h b/gazebo/soc/rtc_cntl_reg.h index f595162..b41211d 100644 --- a/gazebo/soc/rtc_cntl_reg.h +++ b/gazebo/soc/rtc_cntl_reg.h @@ -1 +1 @@ -// Dummy file to make it possible to compile simulator with util.ino +// Dummy file to make it possible to compile simulator with Flix' util.h diff --git a/gazebo/soc/soc.h b/gazebo/soc/soc.h index dcb15c2..f4bdec2 100644 --- a/gazebo/soc/soc.h +++ b/gazebo/soc/soc.h @@ -1,3 +1,3 @@ -// Dummy file to make it possible to compile simulator with util.ino +// Dummy file to make it possible to compile simulator with Flix' util.h #define WRITE_PERI_REG(addr, val) {}