Use natural order of ino files includes in simulation

In Arduino, ino files are included in alphabetical order.
Cleanup unused function declarations in simulation, add missing.
Rename flu to frd function to match the code style.
This commit is contained in:
Oleg Kalachev 2025-02-28 19:06:58 +03:00
parent 4e3e8c70b0
commit 5bf2e06c5a
3 changed files with 26 additions and 14 deletions

View File

@ -43,7 +43,7 @@ void sendMavlink() {
lastFast = t; lastFast = t;
const float zeroQuat[] = {0, 0, 0, 0}; const float zeroQuat[] = {0, 0, 0, 0};
Quaternion attitudeFRD = FLU2FRD(attitude); // MAVLink uses FRD coordinate system Quaternion attitudeFRD = fluToFrd(attitude); // MAVLink uses FRD coordinate system
mavlink_msg_attitude_quaternion_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, mavlink_msg_attitude_quaternion_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg,
time, attitudeFRD.w, attitudeFRD.x, attitudeFRD.y, attitudeFRD.z, rates.x, rates.y, rates.z, zeroQuat); time, attitudeFRD.w, attitudeFRD.x, attitudeFRD.y, attitudeFRD.z, rates.x, rates.y, rates.z, zeroQuat);
sendMessage(&msg); sendMessage(&msg);
@ -206,7 +206,7 @@ void mavlinkPrint(const char* str) {
} }
// Convert Forward-Left-Up to Forward-Right-Down quaternion // Convert Forward-Left-Up to Forward-Right-Down quaternion
inline Quaternion FLU2FRD(const Quaternion &q) { inline Quaternion fluToFrd(const Quaternion &q) {
return Quaternion(q.w, q.x, -q.y, -q.z); return Quaternion(q.w, q.x, -q.y, -q.z);
} }

View File

@ -23,6 +23,7 @@ Vector rates;
Quaternion attitude; Quaternion attitude;
// declarations // declarations
void step();
void computeLoopRate(); void computeLoopRate();
void applyGyro(); void applyGyro();
void applyAcc(); void applyAcc();
@ -31,25 +32,35 @@ void interpretRC();
void controlAttitude(); void controlAttitude();
void controlRate(); void controlRate();
void controlTorque(); void controlTorque();
void showTable(); const char* getModeName();
void sendMotors(); void sendMotors();
bool motorsActive(); bool motorsActive();
void testMotor(uint8_t n);
void print(const char* format, ...); void print(const char* format, ...);
void doCommand(String str, bool echo); void doCommand(String str, bool echo);
void cliTestMotor(uint8_t n); void handleInput();
void calibrateRC();
void normalizeRC(); void normalizeRC();
void printRCCal(); void printRCCal();
void dumpLog();
void processMavlink(); void processMavlink();
void sendMavlink(); void sendMavlink();
void sendMessage(const void *msg); void sendMessage(const void *msg);
void receiveMavlink(); void receiveMavlink();
void handleMavlink(const void *_msg); void handleMavlink(const void *_msg);
void mavlinkPrint(const char* str); void mavlinkPrint(const char* str);
inline Quaternion fluToFrd(const Quaternion &q);
void failsafe(); void failsafe();
void armingFailsafe(); void armingFailsafe();
void rcLossFailsafe(); void rcLossFailsafe();
void descend(); void descend();
inline Quaternion FLU2FRD(const Quaternion &q); int parametersCount();
const char *getParameterName(int index);
float getParameter(int index);
float getParameter(const char *name);
bool setParameter(const char *name, const float value);
void printParameters();
void resetParameters();
// mocks // mocks
void setLED(bool on) {}; void setLED(bool on) {};

View File

@ -17,17 +17,18 @@
#include "Arduino.h" #include "Arduino.h"
#include "flix.h" #include "flix.h"
#include "cli.ino"
#include "control.ino"
#include "estimate.ino"
#include "failsafe.ino"
#include "log.ino"
#include "lpf.h"
#include "mavlink.ino"
#include "motors.ino"
#include "parameters.ino"
#include "rc.ino" #include "rc.ino"
#include "time.ino" #include "time.ino"
#include "motors.ino"
#include "estimate.ino"
#include "control.ino"
#include "log.ino"
#include "parameters.ino"
#include "cli.ino"
#include "mavlink.ino"
#include "failsafe.ino"
#include "lpf.h"
using ignition::math::Vector3d; using ignition::math::Vector3d;
using namespace gazebo; using namespace gazebo;