Commit Graph

  • 385226bc97 Add sources to the simulator using cmake instead of include cpp Oleg Kalachev 2026-01-09 17:01:14 +03:00
  • e7e57d1020 Fix Oleg Kalachev 2026-01-09 09:46:56 +03:00
  • 213b9788a9 Fixes Oleg Kalachev 2026-01-09 09:45:23 +03:00
  • 69fb5d30f6 Merge branch 'master' into cpp Oleg Kalachev 2026-01-09 09:41:31 +03:00
  • 2a8faf5759 Fix logo svg slightly master Oleg Kalachev 2026-01-08 19:45:08 +03:00
  • f4e58a652a Add project logo v1.2 Oleg Kalachev 2026-01-08 17:58:59 +03:00
  • 6c46328da1 Minor doc fixes Oleg Kalachev 2026-01-04 15:01:53 +03:00
  • c8e5e08b03 Move all global variable declarations to the appropriate subsystems As it makes the subsystems code easier to understand. Declare the most used variables in main sketch file as forward declarations. Make all control input zero by default (except controlMode). Minor changes. Oleg Kalachev 2026-01-03 13:28:18 +03:00
  • a5e3dfcf69 Some updates to the docs Oleg Kalachev 2026-01-03 12:18:47 +03:00
  • d6e8be0c05 Add parameters for easier IMU orientation definition Oleg Kalachev 2025-12-26 21:14:15 +03:00
  • 0908674a60 Add level calibration imu-rot Oleg Kalachev 2025-12-26 11:29:12 +03:00
  • 13a7e67b92 Add parameters for IMU orientation definition Oleg Kalachev 2025-12-26 06:29:19 +03:00
  • 68d16855df Add motors rotation diagram to usage article Oleg Kalachev 2025-12-25 07:22:09 +03:00
  • 0547ea548b Add parameters for acc weight and rates lpf alpha Oleg Kalachev 2025-12-24 05:43:55 +03:00
  • c02dba6812 Rename gyroCalibrationFilter to gyroBiasFilter Which seems a better name Oleg Kalachev 2025-12-24 05:36:43 +03:00
  • f1dc4a0400 Updates to user builds article Oleg Kalachev 2025-12-17 02:21:51 +03:00
  • 158827ac55 Add new user builds, add school 548 course overview + minor doc fixes. Oleg Kalachev 2025-12-13 21:09:33 +03:00
  • 36ca30c3e4 Minor docs fix Oleg Kalachev 2025-11-27 18:34:32 +03:00
  • 48711b55e1 Add tip about CNT_TILT_MAX parameter to the simulator article Oleg Kalachev 2025-11-26 17:34:08 +03:00
  • 4d583185a9 Rename manual mode to raw mode Make it callable from the console. Increase the coefficient. Corresponding change in pyflix. pyflix@0.11. Oleg Kalachev 2025-11-25 04:44:16 +03:00
  • d757ffa853 Move yaw dead zone handling from mavlink to control subsystem So yaw dead zone works the same for rc and mavlink. Oleg Kalachev 2025-11-22 05:11:46 +03:00
  • 5352386486 Minor updates to pyflix library, pyflix@0.10 Fixes to documentation. Improve logger format. Oleg Kalachev 2025-11-22 05:07:46 +03:00
  • 9b5872740f Add wifi cli command To show wi-fi info. Oleg Kalachev 2025-11-22 04:46:54 +03:00
  • 31dbdaf241 Group control parameters Also add IMU group to accelerometer calibration parameters. Oleg Kalachev 2025-11-19 01:30:02 +03:00
  • 3104410bb9 Group control parameters Also add IMU group to accelerometer calibration parameters. school-548 Oleg Kalachev 2025-11-19 01:30:02 +03:00
  • c3b818c2ae Try using installable Preferences library stm Oleg Kalachev 2025-11-18 18:19:02 +03:00
  • 531b3f4d04 Use analogWrite api instead of ledc Oleg Kalachev 2025-11-18 16:54:51 +03:00
  • 1551d096fc Merge changes from master Oleg Kalachev 2025-11-14 20:27:02 +03:00
  • f4b56262b1 Remove unneeded SERIAL_BAUDRATE define Oleg Kalachev 2025-11-14 13:46:02 +03:00
  • 49039f752d 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. Oleg Kalachev 2025-11-14 20:21:05 +03:00
  • 80f23ab016 Update log analysis documentation Oleg Kalachev 2025-11-14 20:17:34 +03:00
  • e6fb264499 Remove unneeded SERIAL_BAUDRATE define Oleg Kalachev 2025-11-14 13:46:02 +03:00
  • 348721acc9 Updates in documentation Fixes, updates, new illustrations. Oleg Kalachev 2025-11-10 20:13:39 +03:00
  • 4d0871b00b Updates in documentation Fixes, updates, new illustrations. Oleg Kalachev 2025-11-10 20:13:39 +03:00
  • 774144c430 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. Oleg Kalachev 2025-11-06 13:46:25 +03:00
  • 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. Oleg Kalachev 2025-11-06 13:46:25 +03:00
  • 0e6651ab82 Add Rate class for running the code at fixed rate Oleg Kalachev 2025-11-06 13:41:33 +03:00
  • 795b248b94 Adapt firmware for non-esp32 boards Oleg Kalachev 2025-11-04 13:47:41 +03:00
  • 77c4b5fc5b Test build for STM32 Oleg Kalachev 2025-11-04 13:42:05 +03:00
  • 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. Oleg Kalachev 2025-11-02 00:24:38 +03:00
  • e22df3ab01 Simplify rate limiter code Oleg Kalachev 2025-11-02 00:03:37 +03:00
  • 1a017ccb97 Keep only one floating point version of map function Two variants are redundant Oleg Kalachev 2025-11-01 23:55:55 +03:00
  • 8484854576 Keep only one floating point version of map function Two variants are redundant Oleg Kalachev 2025-11-01 23:55:55 +03:00
  • b9d5624f30 Add some excludes to sloc Oleg Kalachev 2025-10-29 03:35:31 +03:00
  • 205270b8ec Add Rate class for running the code at fixed rate Oleg Kalachev 2025-10-29 03:25:05 +03:00
  • f1bedb2b10 Count sloc in Actions Oleg Kalachev 2025-10-29 02:20:50 +03:00
  • 94fe93020d Remove additional url to install esp32-core from arduino-cli config remove-esp-url Oleg Kalachev 2025-10-22 22:00:26 +03:00
  • 7170b20d1d Simplify command for command handling Oleg Kalachev 2025-10-21 19:31:38 +03:00
  • dc9aed113b Minor code fixes Oleg Kalachev 2025-10-21 19:32:09 +03:00
  • 08b6123eb7 Fixes to troubleshooting Oleg Kalachev 2025-10-21 19:22:19 +03:00
  • 1a8b63ee04 Send only mavlink heartbeats until connected Oleg Kalachev 2025-10-03 07:08:17 +03:00
  • 46d1749a8c Minor code fixes Oleg Kalachev 2025-10-21 19:32:09 +03:00
  • 66fb7a13c3 Simplify command for command handling Oleg Kalachev 2025-10-21 19:31:38 +03:00
  • cfef3b9c36 Fixes to troubleshooting Oleg Kalachev 2025-10-21 19:22:19 +03:00
  • e59a190c1c Fix Oleg Kalachev 2025-10-21 18:41:58 +03:00
  • 207c0e41f7 Add parameters to config.h Oleg Kalachev 2025-10-21 18:38:51 +03:00
  • d7d79ff03f Make .cpp style version compile Oleg Kalachev 2025-10-21 18:31:54 +03:00
  • 6725f1d3de Change source files type from ino to cpp Oleg Kalachev 2025-10-20 23:06:13 +03:00
  • 8c49a40516 Skip attitude/rate control if thrustTarget is ineffective To prevent i term windup. Oleg Kalachev 2025-10-20 23:01:17 +03:00
  • ca595edce5 Refactor PID control to simplify the code and modifications Each PID uses its internal dt, so may be various contexts with different rate. PID has max dt, so no need to reset explicitly. Oleg Kalachev 2025-10-20 22:54:18 +03:00
  • d06eb2a1aa Quaternion::fromBetweenVectors: pass u and v as const references (#21) KiraFlux 2025-10-19 10:17:38 +03:00
  • e50a9d5fea Revert t variable type to float instead of double For the sake of simplicity and consistency. Oleg Kalachev 2025-10-18 12:28:01 +03:00
  • ebac78dc0f Minor change Oleg Kalachev 2025-10-17 19:22:48 +03:00
  • 186cf88d84 Add generic Delay filter Oleg Kalachev 2025-10-17 19:19:27 +03:00
  • 253aae2220 Lowercase imu and rc variables To make it more obvious these are variables, not classes. Oleg Kalachev 2025-10-17 19:02:46 +03:00
  • 6f0964fac4 Rename failsafe.ino to safety.ino To aggregate all the safety related functionality. Oleg Kalachev 2025-10-17 01:09:23 +03:00
  • 1d034f268d Add ESP32-S3 build to Actions Oleg Kalachev 2025-10-14 16:56:48 +03:00
  • 1338a9ea79 Quaternion::fromBetweenVectors: pass u and v as const references (#21) KiraFlux 2025-10-19 10:17:38 +03:00
  • b60757ec1d Minor code style change Oleg Kalachev 2025-10-18 12:36:20 +03:00
  • 491e054534 Revert t variable type to float instead of double For the sake of simplicity and consistency. Oleg Kalachev 2025-10-18 12:28:01 +03:00
  • 3eaf24f89d Minor change Oleg Kalachev 2025-10-17 19:22:48 +03:00
  • dc09459613 Add generic Delay filter Oleg Kalachev 2025-10-17 19:19:27 +03:00
  • 59c9ea8cb3 Lowercase imu and rc variables To make it more obvious these are variables, not classes. Oleg Kalachev 2025-10-17 19:02:46 +03:00
  • 5bdd46c6ad Increase thrust to ARMED_THRUST if it's less Oleg Kalachev 2025-10-17 18:54:01 +03:00
  • 5b37c87166 Refactor PID controllers Use t variable instead of passing dt argument. Reset PID automatically on large dts. Oleg Kalachev 2025-10-17 18:53:15 +03:00
  • 48ba55aa7e Rename failsafe.ino to safety.ino To aggregate all the safety related functionality. Oleg Kalachev 2025-10-17 01:09:23 +03:00
  • 2708c1eafd Add ESP32-S3 build to Actions Oleg Kalachev 2025-10-14 16:56:48 +03:00
  • b2c9dfe6ef Fix Gazebo installation Installation script is deprecated, install using package on Ubuntu 20.04 Oleg Kalachev 2025-10-13 18:33:02 +03:00
  • 1ca7d32862 Update VSCode settings Disable error squiggles as they often work incorrectly. Decrease number of include libraries to index. Oleg Kalachev 2025-10-14 11:31:47 +03:00
  • 0579118dd5 Update VSCode settings Disable error squiggles as they often work incorrectly. Decrease number of include libraries to index. Oleg Kalachev 2025-10-14 11:31:47 +03:00
  • ab941e34fa Fix Gazebo installation Installation script is deprecated, install using package on Ubuntu 20.04 Oleg Kalachev 2025-10-13 18:33:02 +03:00
  • 7bee3d1751 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 Oleg Kalachev 2025-10-12 21:20:46 +03:00
  • 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 Oleg Kalachev 2025-10-12 21:20:46 +03:00
  • 06ec5f3160 Disarm the drone on simulator plugin reset In order to reset yaw target. Oleg Kalachev 2025-10-07 15:45:30 +03:00
  • 6c1d651caa Disarm the drone on simulator plugin reset In order to reset yaw target. Oleg Kalachev 2025-10-07 15:45:30 +03:00
  • c4533e3ac8 Reset yaw target when drone disarmed Prevent unexpected behavior when the drone tries to restore its old yaw on takeoff. Oleg Kalachev 2025-10-07 15:42:11 +03:00
  • 49a0aa7036 Reset yaw target when drone disarmed Prevent unexpected behavior when the drone tries to restore its old yaw on takeoff. Oleg Kalachev 2025-10-07 15:42:11 +03:00
  • e673b50f52 Include FlixPeriph header instead of MPU9250 This simplifies choosing IMU model Oleg Kalachev 2025-10-07 08:41:27 +03:00
  • 5151bb9133 Ensure showing correct raw data in imu command Some IMUs will reset acc and gyro buffer on whoAmI() call Oleg Kalachev 2025-10-07 08:37:53 +03:00
  • bf9eeb90a4 Include FlixPeriph header instead of MPU9250 This simplifies choosing IMU model Oleg Kalachev 2025-10-07 08:41:27 +03:00
  • 96836b2e3e Ensure showing correct raw data in imu command Some IMUs will reset acc and gyro buffer on whoAmI() call Oleg Kalachev 2025-10-07 08:37:53 +03:00
  • 82d9d3570d Send only mavlink heartbeats until connected Oleg Kalachev 2025-10-03 07:08:17 +03:00
  • d7f8c8d934 Add Wi-Fi client mode WIFI_AP_MODE define Oleg Kalachev 2025-10-03 06:56:03 +03:00
  • c08c8ad91c pyflix@0.9 Oleg Kalachev 2025-10-03 06:49:44 +03:00
  • e44f32fca7 pyflix: don't quit on any sendto error Oleg Kalachev 2025-10-03 06:47:56 +03:00
  • ca03bdb260 pyflix: partially fix wireless downloading logs Oleg Kalachev 2025-10-03 06:46:56 +03:00
  • b3dffe99fb pyflix: add passing event name to off method Oleg Kalachev 2025-10-03 06:46:29 +03:00
  • 6e6a71fa69 Remove unneeded advice from troubleshooting Oleg Kalachev 2025-10-03 06:45:16 +03:00
  • 838fe11f6b Simplify mode index check in set_mode Oleg Kalachev 2025-09-26 05:03:36 +03:00
  • 8b36509932 pyflix@0.8 Oleg Kalachev 2025-09-25 16:55:06 +03:00