Commit Graph

477 Commits

Author SHA1 Message Date
Oleg Kalachev f1b993d719 Many updates to documentation
Updates to main readme.
Add much more info to usage article.
Move simulator building to simulation's readme.
Improve assembly article.
Many fixes.
Updates in diagrams.
2025-11-06 13:46:25 +03:00
Oleg Kalachev 2e7330d2f5 Refactor Wi-Fi log download
Use MAVLink LOG_REQUEST_DATA and LOG_DATA for download log instead of console.
Make Wi-Fi download default way of downloading the log.
Make `log` command only print the header and `log dump` dump the log.
2025-11-02 00:24:38 +03:00
Oleg Kalachev e22df3ab01 Simplify rate limiter code 2025-11-02 00:03:37 +03:00
Oleg Kalachev 8484854576 Keep only one floating point version of map function
Two variants are redundant
2025-11-01 23:55:55 +03:00
Oleg Kalachev b9d5624f30 Add some excludes to sloc 2025-10-29 03:35:31 +03:00
Oleg Kalachev 205270b8ec Add Rate class for running the code at fixed rate 2025-10-29 03:25:05 +03:00
Oleg Kalachev f1bedb2b10 Count sloc in Actions 2025-10-29 02:20:50 +03:00
Oleg Kalachev 46d1749a8c Minor code fixes 2025-10-21 19:33:57 +03:00
Oleg Kalachev 66fb7a13c3 Simplify command for command handling 2025-10-21 19:33:57 +03:00
Oleg Kalachev cfef3b9c36 Fixes to troubleshooting 2025-10-21 19:33:57 +03:00
KiraFlux 1338a9ea79 Quaternion::fromBetweenVectors: pass u and v as const references (#21) 2025-10-19 10:17:38 +03:00
Oleg Kalachev b60757ec1d Minor code style change 2025-10-18 12:36:20 +03:00
Oleg Kalachev 491e054534 Revert t variable type to float instead of double
For the sake of simplicity and consistency.
2025-10-18 12:28:01 +03:00
Oleg Kalachev 3eaf24f89d Minor change 2025-10-17 19:22:48 +03:00
Oleg Kalachev dc09459613 Add generic Delay filter 2025-10-17 19:19:27 +03:00
Oleg Kalachev 59c9ea8cb3 Lowercase imu and rc variables
To make it more obvious these are variables, not classes.
2025-10-17 19:02:46 +03:00
Oleg Kalachev 5bdd46c6ad Increase thrust to ARMED_THRUST if it's less 2025-10-17 18:54:01 +03:00
Oleg Kalachev 5b37c87166 Refactor PID controllers
Use t variable instead of passing dt argument.
Reset PID automatically on large dts.
2025-10-17 18:53:15 +03:00
Oleg Kalachev 48ba55aa7e Rename failsafe.ino to safety.ino
To aggregate all the safety related functionality.
2025-10-17 01:09:23 +03:00
Oleg Kalachev 2708c1eafd Add ESP32-S3 build to Actions 2025-10-14 16:56:48 +03:00
Oleg Kalachev b2c9dfe6ef Fix Gazebo installation
Installation script is deprecated, install using package on Ubuntu 20.04
2025-10-14 11:44:27 +03:00
Oleg Kalachev 0579118dd5 Update VSCode settings
Disable error squiggles as they often work incorrectly.
Decrease number of include libraries to index.
2025-10-14 11:31:47 +03:00
Oleg Kalachev 05818349d8 Improve rc failsafe logic
Don't trigger failsafe if there's no RC at all
Use AUTO mode for descending, instead of STAB
Increase RC loss timeout and descend time
2025-10-12 21:20:46 +03:00
Oleg Kalachev 6c1d651caa Disarm the drone on simulator plugin reset
In order to reset yaw target.
2025-10-07 15:45:30 +03:00
Oleg Kalachev 49a0aa7036 Reset yaw target when drone disarmed
Prevent unexpected behavior when the drone tries to restore its old yaw on takeoff.
2025-10-07 15:42:52 +03:00
Oleg Kalachev bf9eeb90a4 Include FlixPeriph header instead of MPU9250
This simplifies choosing IMU model
2025-10-07 08:41:56 +03:00
Oleg Kalachev 96836b2e3e Ensure showing correct raw data in imu command
Some IMUs will reset acc and gyro buffer on whoAmI() call
2025-10-07 08:41:56 +03:00
Oleg Kalachev 82d9d3570d Send only mavlink heartbeats until connected 2025-10-03 07:08:17 +03:00
Oleg Kalachev d7f8c8d934 Add Wi-Fi client mode
WIFI_AP_MODE define
2025-10-03 06:56:03 +03:00
Oleg Kalachev c08c8ad91c pyflix@0.9 2025-10-03 06:49:44 +03:00
Oleg Kalachev e44f32fca7 pyflix: don't quit on any sendto error 2025-10-03 06:47:56 +03:00
Oleg Kalachev ca03bdb260 pyflix: partially fix wireless downloading logs 2025-10-03 06:46:56 +03:00
Oleg Kalachev b3dffe99fb pyflix: add passing event name to off method 2025-10-03 06:46:29 +03:00
Oleg Kalachev 6e6a71fa69 Remove unneeded advice from troubleshooting 2025-10-03 06:45:16 +03:00
Oleg Kalachev 838fe11f6b Simplify mode index check in set_mode 2025-09-26 05:03:36 +03:00
Oleg Kalachev 8b36509932 pyflix@0.8 2025-09-25 16:55:06 +03:00
Oleg Kalachev 0268c8ebcf Some fixes and updates in pyflix
Fix set_controls
Add set_armed method
2025-09-25 16:53:49 +03:00
Oleg Kalachev 09bf09e520 Update schematics diagram 2025-09-25 06:16:02 +03:00
Oleg Kalachev 4c89b10767 Fix fields order in psq command 2025-09-20 22:35:36 +03:00
Oleg Kalachev a79df52959 Don't trigger rc failsafe in AUTO mode or if disamed 2025-09-20 20:36:36 +03:00
Oleg Kalachev e88888baeb Fix rc calibration steps enumeration again 2025-09-11 11:47:28 +03:00
Oleg Kalachev de69b228ff Fix rc calibration steps enumeration 2025-09-02 11:03:44 +03:00
Oleg Kalachev f9739dcd7e Don't arm by mavlink command if throttle is not low 2025-08-29 03:47:51 +03:00
Oleg Kalachev 708c8f04dc Minor docs fix 2025-08-28 05:17:46 +03:00
Oleg Kalachev 2128201440 Fix simulation build 2025-08-28 01:13:38 +03:00
Oleg Kalachev 8e3c86f5ee pyflix@0.7 2025-08-28 00:52:27 +03:00
Oleg Kalachev 40fc4b96b5 Implement AUTO mode for automatic flights
Support SET_ATTITUDE_TARGET, SET_ACTUATOR_CONTROL_TARGET in mavlink.
ACTUATOR_OUTPUT_STATUS is changed ACTUATOR_CONTROL_TARGET to match used message for setting motor outputs.
Add support for changing mode from mavlink.
Support automatic flights in pyflix.
2025-08-28 00:49:24 +03:00
Oleg Kalachev 10fafbc4a0 Send udp packets in unicast after connection is established
This makes qgc connection faster.
Add WIFI_UDP_REMOTE_ADDR macro for default remote address for both the firmware and simulation.
2025-08-27 05:01:07 +03:00
Oleg Kalachev d47d7b8bd4 Support arm/disarm mavlink commands
Refactor commands handling to remove repeating ack message packing.
2025-08-27 04:45:25 +03:00
Oleg Kalachev a7fdc2a88f Minor change in cli help message 2025-08-27 04:43:24 +03:00