Commit Graph

  • 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) KiraFluxandOleg Kalachev 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) KiraFluxandGitHub 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
  • 0268c8ebcf Some fixes and updates in pyflix Fix set_controls Add set_armed method Oleg Kalachev 2025-09-25 16:53:49 +03:00
  • 09bf09e520 Update schematics diagram Oleg Kalachev 2025-09-25 06:16:02 +03:00
  • 4c89b10767 Fix fields order in psq command Oleg Kalachev 2025-09-20 22:35:36 +03:00
  • a79df52959 Don't trigger rc failsafe in AUTO mode or if disamed Oleg Kalachev 2025-09-20 20:36:36 +03:00
  • e88888baeb Fix rc calibration steps enumeration again Oleg Kalachev 2025-09-11 11:47:28 +03:00
  • de69b228ff Fix rc calibration steps enumeration Oleg Kalachev 2025-09-02 11:03:44 +03:00
  • f9739dcd7e Don't arm by mavlink command if throttle is not low Oleg Kalachev 2025-08-29 03:47:51 +03:00
  • 708c8f04dc Minor docs fix Oleg Kalachev 2025-08-28 05:17:46 +03:00
  • 2128201440 Fix simulation build Oleg Kalachev 2025-08-28 01:13:38 +03:00
  • 8e3c86f5ee pyflix@0.7 Oleg Kalachev 2025-08-28 00:52:27 +03:00
  • 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. Oleg Kalachev 2025-08-28 00:49:24 +03:00
  • 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. Oleg Kalachev 2025-08-27 05:01:07 +03:00
  • d47d7b8bd4 Support arm/disarm mavlink commands Refactor commands handling to remove repeating ack message packing. Oleg Kalachev 2025-08-27 04:45:25 +03:00
  • a7fdc2a88f Minor change in cli help message Oleg Kalachev 2025-08-27 04:43:24 +03:00
  • c1788e2c75 Refactor arming logic Arm and disarm with gestures only: left stick right/down for arming, left/down for disarming. Remove arming switch as it complicates arming gestures logic. Remove MAV_CTRL_SCALE parameter as it complicates arming gestures logic, advise to decrease TILT_MAX when controlling with a smartphone. Put some minimal thrust to motors to indicate armed state. Rename build article to usage article, add flight instructions. Oleg Kalachev 2025-08-27 03:19:26 +03:00
  • beb655fdcb Add illustration for qgc proxy for pyflix Oleg Kalachev 2025-08-27 03:13:28 +03:00
  • bf0cdac111 Major update of the articles Reflect control subsystem refactoring. Update dataflow diagram. Add control subsystem diagram. Minor updates. Oleg Kalachev 2025-08-27 00:09:42 +03:00
  • b21e81a68b Add cli commands for switching mode Make mode variable int instead of enum, which is more convinient. Oleg Kalachev 2025-08-26 21:55:27 +03:00
  • 8418723ccc Refactor control subsystem Add interpretControls function to convert pilot commands and mode into control targets and make control functions independent from the mode. Add ratesExtra target for rates feed-forward; remove yawMode. Rename controlRate to controlRates to reflect rates variable name. Remove USER mode. Oleg Kalachev 2025-08-26 01:00:56 +03:00
  • a1539157b8 Show raw values in imu command Oleg Kalachev 2025-08-22 17:20:33 +03:00
  • 80922dc68a Some updates to readme and build article Add info on using USB gamepad Replace KINGKONG transmitter with BetaFPV LiteRadio Add RoboCamp video Oleg Kalachev 2025-08-20 22:06:17 +03:00
  • fcd2738763 Add link to stls from robocamp Oleg Kalachev 2025-08-19 15:20:24 +03:00
  • fa07ed3a4e Minor docs change Oleg Kalachev 2025-08-15 00:51:08 +03:00
  • 24f7b02ed5 Add commands for switching modes Make mode simple int instead of enum for simplify using in other subsystems auto Oleg Kalachev 2025-08-11 22:35:38 +03:00
  • dee4d97ab3 Add getRoll, getPitch, setRoll, setPitch methods Add methods to Quaternion for consistency with getYaw and setYaw Oleg Kalachev 2025-08-09 18:10:11 +03:00
  • ea35db37da Minor code simplification Oleg Kalachev 2025-08-09 17:53:06 +03:00
  • cd953f24ad Add RoboCamp to built drones article Oleg Kalachev 2025-08-07 14:29:39 +03:00
  • 3f80712641 Some updates to articles Oleg Kalachev 2025-08-06 23:52:35 +03:00
  • d5c3b5b5f7 Bring back handling old message for motor outputs in pyflix Oleg Kalachev 2025-07-31 10:47:50 +03:00
  • 37b9a3a41c Add support form arm/disarm mavlink command Oleg Kalachev 2025-07-30 14:36:57 +03:00
  • 18bacb64f3 Make rc loss timeout longer Oleg Kalachev 2025-07-31 12:35:28 +03:00