Commit Graph

  • 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
  • 7f4fc7acea Make rc loss timeout longer Oleg Kalachev 2025-07-29 22:04:19 +03:00
  • 3f269f57be Fixes Oleg Kalachev 2025-07-29 22:04:04 +03:00
  • d180a5d809 pyflix 0.6 robolager Oleg Kalachev 2025-07-31 10:48:20 +03:00
  • 8762ae0b38 Bring back handling old message for motor outputs in pyflix Oleg Kalachev 2025-07-31 10:47:50 +03:00
  • 2fcf35289e Set mavlink control scale to 1 by default Oleg Kalachev 2025-07-30 20:05:03 +03:00
  • af86699eb3 Add support form arm/disarm mavlink command Oleg Kalachev 2025-07-30 14:36:57 +03:00
  • 8e043555c5 Fix Oleg Kalachev 2025-07-29 21:28:36 +03:00
  • c39e2ca998 Fixes Oleg Kalachev 2025-07-29 18:22:56 +03:00
  • f46842f341 Fixed Oleg Kalachev 2025-07-29 18:22:38 +03:00
  • 3d72224b32 Print armed state in rc command Oleg Kalachev 2025-07-29 18:09:04 +03:00
  • 496888903f Make rc loss timeout longer Oleg Kalachev 2025-07-29 22:04:19 +03:00
  • 3cde9e69c4 Fixes Oleg Kalachev 2025-07-29 22:04:04 +03:00
  • 310b48f856 Fix Oleg Kalachev 2025-07-29 21:32:50 +03:00
  • ce3e47d1ec Fix Oleg Kalachev 2025-07-29 21:28:36 +03:00
  • cc362c1d4b Fixes Oleg Kalachev 2025-07-29 18:22:56 +03:00
  • fc4feb8503 Fixed Oleg Kalachev 2025-07-29 18:22:38 +03:00
  • 3bbace6a1e Print armed state in rc command Oleg Kalachev 2025-07-29 18:09:04 +03:00
  • a090e3543c Add WIFI_UDP_ALWAYS_BROADCAST define Oleg Kalachev 2025-07-29 18:08:57 +03:00
  • dfceb8a6b2 Implement auto mode for automatic flight Use arm/disarm gestures Add arm/disarm commands Add ratesExtra variable for Rename interpretRC to interpretControls Rename controlRate to controlRates Remove USER mode Add invalidate methods for vector and quaternion Add valid/invalid method for vector and quaternion Add valid/invalid function Print armed in rc command Pass auto mode to heartbeat Use actuator_control_target for motors Oleg Kalachev 2025-07-29 18:02:09 +03:00
  • 2066d05a60 Implement set_mode, set_attitude and set_rates in pyflix Oleg Kalachev 2025-07-28 22:36:41 +03:00
  • 7e8bd3e834 Minor updates Oleg Kalachev 2025-07-28 22:07:33 +03:00
  • bb0643e8c6 Add missing set_velocity method stub to pyflix Oleg Kalachev 2025-07-28 22:06:30 +03:00
  • 32f417efae Updates in pyflix Rename mav_to to system_id to match firmware naming. Readme updates. Oleg Kalachev 2025-07-24 09:15:44 +03:00
  • 018a6d4fce Add repository field to python library Oleg Kalachev 2025-07-22 17:21:51 +03:00
  • 1f47aa6d62 Add Python library (#20) Oleg Kalachev 2025-07-22 14:17:08 +03:00
  • 779fa13e80 Increase connection timeout for arduino-cli as it prevents some users from downloading the core Oleg Kalachev 2025-07-21 11:12:47 +03:00
  • a5504cc550 Fix rates, acc and gyro coordinate frame in mavlink All of them should be in frd. Get rid of fluToFrd function - there is no big need for it. canonical Oleg Kalachev 2025-07-19 05:32:49 +03:00
  • 5eccb3f0c4 Fix rates, acc and gyro coordinate frame in mavlink All of them should be in frd. Get rid of fluToFrd function - there is no big need for it. Oleg Kalachev 2025-07-19 05:32:49 +03:00
  • 29f1a2b22b Minor fixes to builds list Oleg Kalachev 2025-07-18 14:19:43 +03:00
  • 1d4ce810a9 Add chkroko's bldc build Oleg Kalachev 2025-07-18 12:14:42 +03:00
  • cfb0f17a9a Minor cli change Oleg Kalachev 2025-07-15 01:29:25 +03:00
  • d61948ec9c Rename printIMUCal to printIMUCalibration for consistency with rc Oleg Kalachev 2025-07-15 01:25:10 +03:00
  • 0c87d4d634 Port changes from commit 52819e4 Oleg Kalachev 2025-07-15 01:22:18 +03:00
  • 32874b92fd Minor fixes Oleg Kalachev 2025-07-14 12:05:16 +03:00
  • 6b38070e43 Rename printIMUCal to printIMUCalibration for consistency with rc Oleg Kalachev 2025-07-14 12:04:02 +03:00
  • 52819e403b Major rework of rc subsystem Implement channels mapping calibration. Store mapping in parameters. Get rid of controls array and store control inputs in controlRoll, controlPitch, ... variables. Move channels variable to rc.ino, channels are not involved when controled using mavlink. 'Neutral' values are renamed to 'zero' - more precise naming. controlsTime is renamed to controlTime. Use unsigned values for channels. Make channel values in simulation more alike to real world: unsigned values in range [1000, 2000]. Send RC_CHANNELS_RAW instead of RC_CHANNELS_SCALED via mavlink Don't send channels data via mavlink if rc is not used Oleg Kalachev 2025-07-14 11:11:32 +03:00
  • 449dd44741 Fix storing nans and infs in preferences in simulator Turns out file streams cannot parse nans and infs on some platforms, so use std::stof to parse. Oleg Kalachev 2025-07-14 09:52:49 +03:00
  • e389d717d6 Show unspecified core as * in sys command Oleg Kalachev 2025-07-13 11:12:54 +03:00
  • ea8463ed70 Fixes in firmware variables description Oleg Kalachev 2025-07-12 10:07:52 +03:00
  • 85afe405cb Improve pause function work Fix disconnecting from qgc while pausing in the simulation. Consider total delay time in micros() in simulation to increase t while delaying. Simplify and get rid of ARDUINO macro check. Oleg Kalachev 2025-07-12 09:29:47 +03:00
  • fd4bcbeb89 Minor changes Oleg Kalachev 2025-07-10 07:27:53 +03:00
  • 4d1f9de872 Remove unnecessary documentation files Oleg Kalachev 2025-07-10 06:14:22 +03:00
  • cf3d4d7ced Increase motors pwm frequency to 78Khz 1000 Hz is too low frequency considering the update loop for motors signal is also 1000 Hz. Decrease resolution as it's required to set larger pwm frequencies. This change should vastly improve control jitter and remove audible motors noise. Oleg Kalachev 2025-07-03 03:46:11 +03:00
  • 443e5213f0 Return zero rotation vector when converting neutral quaternion Previously it would return nans Oleg Kalachev 2025-07-01 02:48:49 +03:00
  • f24db96b50 Add missing equals and non-equals operators for quaternion lib Oleg Kalachev 2025-07-01 02:47:01 +03:00
  • 86305a08f8 Add missing newlines to initialization prints Oleg Kalachev 2025-07-10 06:06:46 +03:00
  • 21dcb39b7e Improve vector and quaternion libraries Make the order or basic methods consistent between Vector and Quaternion. Remove ZYX from Euler method names as this is standard for robotics. Rename angular rates to rotation vector, which is more correct. Make rotation methods static, to keep the arguments order consistent. Make Quaternion::fromAxisAngle accept Vector for axis. Minor fixes. Oleg Kalachev 2025-05-31 04:17:00 +03:00
  • c08c89f667 Minor code updates Oleg Kalachev 2025-05-15 09:22:17 +03:00