Change C++ code style: put curly brace on the same line

This commit is contained in:
Oleg Kalachev
2023-12-29 18:56:25 +03:00
parent 645b148564
commit d2296fea76
19 changed files with 65 additions and 130 deletions

View File

@@ -57,8 +57,7 @@ const struct Param {
{"t", &t, nullptr},
};
void doCommand(String& command, String& value)
{
void doCommand(String& command, String& value) {
if (command == "help" || command == "motd") {
Serial.println(motd);
} else if (command == "show") {
@@ -119,8 +118,7 @@ void doCommand(String& command, String& value)
}
}
void showTable()
{
void showTable() {
for (uint8_t i = 0; i < sizeof(params) / sizeof(params[0]); i++) {
Serial.print(params[i].name);
Serial.print(" ");
@@ -128,8 +126,7 @@ void showTable()
}
}
void cliTestMotor(uint8_t n)
{
void cliTestMotor(uint8_t n) {
Serial.printf("Testing motor %d\n", n);
motors[n] = 1;
sendMotors();
@@ -139,8 +136,7 @@ void cliTestMotor(uint8_t n)
Serial.println("Done");
}
void parseInput()
{
void parseInput() {
static bool showMotd = true;
static String command;
static String value;

View File

@@ -53,8 +53,7 @@ Vector ratesTarget;
Vector torqueTarget;
float thrustTarget;
void control()
{
void control() {
interpretRC();
if (mode == STAB) {
controlAttitude();
@@ -68,8 +67,7 @@ void control()
}
}
void interpretRC()
{
void interpretRC() {
if (controls[RC_CHANNEL_MODE] < 0.25) {
mode = MANUAL;
} else if (controls[RC_CHANNEL_MODE] < 0.75) {
@@ -108,8 +106,7 @@ void interpretRC()
}
}
void controlAttitude()
{
void controlAttitude() {
if (!armed) {
rollPID.reset();
pitchPID.reset();
@@ -131,8 +128,7 @@ void controlAttitude()
}
}
void controlRate()
{
void controlRate() {
if (!armed) {
rollRatePID.reset();
pitchRatePID.reset();
@@ -147,8 +143,7 @@ void controlRate()
torqueTarget.z = yawRatePID.update(ratesTarget.z - ratesFiltered.z, dt);
}
void controlTorque()
{
void controlTorque() {
if (!armed) {
memset(motors, 0, sizeof(motors));
return;
@@ -165,13 +160,11 @@ void controlTorque()
motors[3] = constrain(motors[3], 0, 1);
}
bool motorsActive()
{
bool motorsActive() {
return motors[0] > 0 || motors[1] > 0 || motors[2] > 0 || motors[3] > 0;
}
const char* getModeName()
{
const char* getModeName() {
switch (mode) {
case MANUAL: return "MANUAL";
case ACRO: return "ACRO";

View File

@@ -9,22 +9,19 @@
#define ONE_G 9.807f
#define WEIGHT_ACC 0.5f
void estimate()
{
void estimate() {
applyGyro();
applyAcc();
signalizeHorizontality();
}
void applyGyro()
{
void applyGyro() {
// applying gyro
attitude *= Quaternion::fromAngularRates(rates * dt);
attitude.normalize();
}
void applyAcc()
{
void applyAcc() {
// test should we apply accelerometer gravity correction
float accNorm = acc.norm();
bool landed = !motorsActive() && abs(accNorm - ONE_G) < ONE_G * 0.1f;
@@ -40,8 +37,7 @@ void applyAcc()
attitude.normalize();
}
void signalizeHorizontality()
{
void signalizeHorizontality() {
float angle = Vector::angleBetweenVectors(attitude.rotate(Vector(0, 0, -1)), Vector(0, 0, -1));
setLED(angle < 15 * DEG_TO_RAD);
}

View File

@@ -33,8 +33,7 @@ Vector acc; // accelerometer data, m/s/s
Quaternion attitude; // estimated attitude
float motors[4]; // normalized motors thrust in range [-1..1]
void setup()
{
void setup() {
Serial.begin(SERIAL_BAUDRATE);
Serial.println("Initializing flix");
setupLED();
@@ -50,8 +49,7 @@ void setup()
Serial.println("Initializing complete");
}
void loop()
{
void loop() {
if (!readIMU()) return;
step();

View File

@@ -11,8 +11,7 @@
MPU9250 IMU(SPI, IMU_CS_PIN);
void setupIMU()
{
void setupIMU() {
Serial.println("Setup IMU");
auto status = IMU.begin();
@@ -35,8 +34,7 @@ void setupIMU()
// NOTE: very important, without the above the rate would be terrible 50 Hz
}
bool readIMU()
{
bool readIMU() {
if (IMU.readSensor() < 0) {
Serial.println("IMU read error");
return false;
@@ -54,8 +52,7 @@ bool readIMU()
return rates != lastRates;
}
void calibrateGyro()
{
void calibrateGyro() {
Serial.println("Calibrating gyro, stand still");
delay(500);
int status = IMU.calibrateGyro();
@@ -64,8 +61,7 @@ void calibrateGyro()
printIMUCal();
}
void calibrateAccel()
{
void calibrateAccel() {
Serial.println("Cal accel: place level"); delay(3000);
IMU.calibrateAccel();
Serial.println("Cal accel: place nose up"); delay(3000);
@@ -81,24 +77,21 @@ void calibrateAccel()
printIMUCal();
}
void loadAccelCal()
{
void loadAccelCal() {
// NOTE: this should be changed to the actual values
IMU.setAccelCalX(-0.0048542023, 1.0008112192);
IMU.setAccelCalY(0.0521845818, 0.9985780716);
IMU.setAccelCalZ(0.5754694939, 1.0045746565);
}
void loadGyroCal()
{
void loadGyroCal() {
// NOTE: this should be changed to the actual values
IMU.setGyroBiasX_rads(-0.0185128022);
IMU.setGyroBiasY_rads(-0.0262369743);
IMU.setGyroBiasZ_rads(0.0163032326);
}
void printIMUCal()
{
void printIMUCal() {
Serial.printf("gyro bias: %f %f %f\n", IMU.getGyroBiasX_rads(), IMU.getGyroBiasY_rads(), IMU.getGyroBiasZ_rads());
Serial.printf("accel bias: %f %f %f\n", IMU.getAccelBiasX_mss(), IMU.getAccelBiasY_mss(), IMU.getAccelBiasZ_mss());
Serial.printf("accel scale: %f %f %f\n", IMU.getAccelScaleFactorX(), IMU.getAccelScaleFactorY(), IMU.getAccelScaleFactorZ());

View File

@@ -5,17 +5,14 @@
#define BLINK_PERIOD 500000
void setupLED()
{
void setupLED() {
pinMode(LED_BUILTIN, OUTPUT);
}
void setLED(bool on)
{
void setLED(bool on) {
digitalWrite(LED_BUILTIN, on ? HIGH : LOW);
}
void blinkLED()
{
void blinkLED() {
setLED(micros() / BLINK_PERIOD % 2);
}

View File

@@ -12,8 +12,7 @@
float logBuffer[LOG_SIZE][LOG_COLUMNS]; // * 4 (float)
int logPointer = 0;
void logData()
{
void logData() {
if (!armed) return;
static float logTime = 0;
@@ -41,8 +40,7 @@ void logData()
}
}
void dumpLog()
{
void dumpLog() {
Serial.printf("t,rates.x,rates.y,rates.z,ratesTarget.x,ratesTarget.y,ratesTarget.z,"
"attitude.x,attitude.y,attitude.z,attitudeTarget.x,attitudeTarget.y,attitudeTarget.z,thrustTarget\n");
for (int i = 0; i < LOG_SIZE; i++) {

View File

@@ -6,8 +6,7 @@
#pragma once
template <typename T> // Using template to make the filter usable for scalar and vector values
class LowPassFilter
{
class LowPassFilter {
public:
float alpha; // smoothing constant, 1 means filter disabled
T output;

View File

@@ -11,8 +11,7 @@
#define PERIOD_SLOW 1.0
#define PERIOD_FAST 0.1
void sendMavlink()
{
void sendMavlink() {
static float lastSlow = 0;
static float lastFast = 0;
@@ -55,8 +54,7 @@ void sendMavlink()
}
}
inline void sendMessage(const void *msg)
{
inline void sendMessage(const void *msg) {
uint8_t buf[MAVLINK_MAX_PACKET_LEN];
uint16_t len = mavlink_msg_to_send_buffer(buf, (mavlink_message_t *)msg);
sendWiFi(buf, len);

View File

@@ -39,8 +39,7 @@ void setupMotors() {
Serial.println("Motors initialized");
}
uint16_t getPWM(float val, int n)
{
uint16_t getPWM(float val, int n) {
if (val == 0) {
return PWM_NEUTRAL;
} else if (val > 0) {
@@ -54,16 +53,14 @@ uint8_t pwmToDutyCycle(uint16_t pwm) {
return map(pwm, 0, 1000000 / PWM_FREQUENCY, 0, (1 << PWM_RESOLUTION) - 1);
}
void sendMotors()
{
void sendMotors() {
ledcWrite(0, pwmToDutyCycle(getPWM(motors[0], 0)));
ledcWrite(1, pwmToDutyCycle(getPWM(motors[1], 1)));
ledcWrite(2, pwmToDutyCycle(getPWM(motors[2], 2)));
ledcWrite(3, pwmToDutyCycle(getPWM(motors[3], 3)));
}
void fullMotorTest(int n, bool reverse)
{
void fullMotorTest(int n, bool reverse) {
printf("Full test for motor %d\n", n);
for (int pwm = PWM_NEUTRAL; pwm <= 2300 && pwm >= 700; pwm += reverse ? -100 : 100) {
printf("Motor %d: %d\n", n, pwm);

View File

@@ -7,8 +7,7 @@
#include "lpf.h"
class PID
{
class PID {
public:
float p = 0;
float i = 0;

View File

@@ -11,14 +11,12 @@ const uint16_t channelMax[] = {1651, 1540, 1713, 1630, 1472, 1472};
SBUS RC(Serial2);
void setupRC()
{
void setupRC() {
Serial.println("Setup RC");
RC.begin();
}
void readRC()
{
void readRC() {
bool failSafe, lostFrame;
if (RC.read(channels, &failSafe, &lostFrame)) {
if (failSafe) { return; } // TODO:

View File

@@ -3,8 +3,7 @@
// Time related functions
void step()
{
void step() {
float now = micros() / 1000000.0;
dt = now - t;
t = now;
@@ -16,8 +15,7 @@ void step()
computeLoopFreq();
}
void computeLoopFreq()
{
void computeLoopFreq() {
static float windowStart = 0;
static uint32_t freq = 0;
freq++;

View File

@@ -5,29 +5,24 @@
#include "math.h"
float mapf(long x, long in_min, long in_max, float out_min, float out_max)
{
float mapf(long x, long in_min, long in_max, float out_min, float out_max) {
return (float)(x - in_min) * (out_max - out_min) / (float)(in_max - in_min) + out_min;
}
float mapff(float x, float in_min, float in_max, float out_min, float out_max)
{
float mapff(float x, float in_min, float in_max, float out_min, float out_max) {
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
int8_t sign(float x)
{
int8_t sign(float x) {
return (x > 0) - (x < 0);
}
float randomFloat(float min, float max)
{
float randomFloat(float min, float max) {
return min + (max - min) * (float)rand() / RAND_MAX;
}
// wrap angle to [-PI, PI)
float wrapAngle(float angle)
{
float wrapAngle(float angle) {
angle = fmodf(angle, 2 * PI);
if (angle > PI) {
angle -= 2 * PI;

View File

@@ -5,8 +5,7 @@
#pragma once
class Vector : public Printable
{
class Vector : public Printable {
public:
float x, y, z;

View File

@@ -18,15 +18,13 @@
WiFiUDP udp;
void setupWiFi()
{
void setupWiFi() {
Serial.println("Setup Wi-Fi");
WiFi.softAP(WIFI_SSID, WIFI_PASSWORD);
IPAddress myIP = WiFi.softAPIP();
}
inline void sendWiFi(const uint8_t *buf, size_t len)
{
inline void sendWiFi(const uint8_t *buf, size_t len) {
udp.beginPacket(WIFI_UDP_IP, WIFI_UDP_PORT);
udp.write(buf, len);
udp.endPacket();