Commit Graph

  • fa07ed3a4e Minor docs change master 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
  • 114d2305de Make wi-fi code more consistent between the firmware and simulation Oleg Kalachev 2025-05-10 05:13:57 +03:00
  • 121b50d896 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
  • 48c7135efb Return zero rotation vector when converting neutral quaternion Previously it would return nans Oleg Kalachev 2025-07-01 02:48:49 +03:00
  • 9229b743eb Add missing equals and non-equals operators for quaternion lib Oleg Kalachev 2025-07-01 02:47:01 +03:00
  • 52d31ba7a5 Add missing includes to Arduino.h to make build more portable Oleg Kalachev 2025-07-01 02:38:47 +03:00
  • f11ab2dc16 Add info on mpu-6050 Oleg Kalachev 2025-06-30 12:29:07 +03:00
  • 93383cc7f9 Add chkroko's build Oleg Kalachev 2025-06-19 13:25:01 +03:00
  • 389cfb94ab Add missing newlines to initialization prints Oleg Kalachev 2025-06-19 13:17:43 +03:00
  • 045f2c5ed5 Minor docs changes Oleg Kalachev 2025-06-19 13:17:32 +03:00
  • 31f5e1efbb Upload built firmware binaries as artifact Oleg Kalachev 2025-06-02 02:32:27 +03:00
  • 2d77317abc Minor fixes in book Oleg Kalachev 2025-05-31 16:56:05 +03:00
  • 963cbe09dd Minor fix in book Oleg Kalachev 2025-05-31 13:15:25 +03:00
  • 98fc0cf5b4 Add quaternion and vector chapter to book Oleg Kalachev 2025-05-31 12:46:33 +03:00
  • 6b7601c0bd 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
  • 929bdd1f35 Minor fixes in book Oleg Kalachev 2025-05-31 03:29:44 +03:00
  • 660913f8bb Remove version 0 section from the readme Oleg Kalachev 2025-05-23 17:17:27 +03:00
  • 25e3056891 Add disclaimer to readme Oleg Kalachev 2025-05-23 16:47:04 +03:00
  • be7b6ec0c9 Fix simulator build Oleg Kalachev 2025-05-16 05:02:27 +03:00
  • 9c8c0e2578 Minor code updates Oleg Kalachev 2025-05-15 09:22:17 +03:00
  • 7e5a75a01f Revert sending mavlink udp packets in unicast This requires more complex approach as client ip may change between reconnections Oleg Kalachev 2025-05-10 05:45:57 +03:00
  • 2bcab6edb3 Make cli command case insensitive iOS QGC capitalizes the command by default, so it's more convinient Oleg Kalachev 2025-05-10 05:15:54 +03:00
  • df2b10acd4 Make wi-fi code more consistent between the firmware and simulation Oleg Kalachev 2025-05-10 05:13:57 +03:00
  • 31d6636754 Send mavlink udp packets in unicast after connected Tests and research show this is more efficient way of sending telemetry Oleg Kalachev 2025-05-10 05:08:04 +03:00
  • b143c2f1b3 Add recommended 3D printing settings to readme Oleg Kalachev 2025-05-09 06:55:28 +03:00
  • a93e046117 Make sending udp packets much faster Turns out parsing IP address string is very slow Oleg Kalachev 2025-05-06 04:32:36 +03:00
  • e6e4db0c4f Update ESP32-Core to 3.2.0 Oleg Kalachev 2025-05-06 03:52:46 +03:00
  • d8fbc193c1 Make accelerometer calibration more verbose Print the number of each calibration step Oleg Kalachev 2025-05-05 00:38:08 +03:00
  • a491b28201 Make sending udp packets much faster Turns out parsing IP address string is very slow Oleg Kalachev 2025-05-06 04:32:36 +03:00
  • 4a4642bcf6 Update ESP32-Core to 3.2.0 Oleg Kalachev 2025-05-06 03:52:46 +03:00
  • 81037d94ec Some cli improvements Improve loop rate formatting Show cpu temperature in sys command Oleg Kalachev 2025-05-06 03:16:45 +03:00
  • 965813e8f0 Use interrupts instead of polling for main loop Oleg Kalachev 2025-05-05 13:58:23 +03:00
  • 94c2d399b3 Add sys command Show ESP32 model and free heap Show tasks table with stack and cpu usage Oleg Kalachev 2025-05-05 04:32:41 +03:00
  • 21dc47c472 Make mavlink print buffered Combine all output of each step into one SERIAL_CONTROL message Oleg Kalachev 2025-05-05 00:44:06 +03:00
  • 4b938e8d89 Make accelerometer calibration more verbose Print the number of each calibration step Oleg Kalachev 2025-05-05 00:38:08 +03:00
  • 67efcdd08a Remove unused macro MAVLINK_CONTROL_SCALE is now parameter Oleg Kalachev 2025-05-04 00:03:38 +03:00
  • dcd95176b4 Make low pass filter formula more straightforward Oleg Kalachev 2025-04-29 23:28:56 +03:00
  • b7cebbb3d6 Add some missing operator for vector library Oleg Kalachev 2025-04-29 23:21:12 +03:00
  • d1d10c4c6c Updates to readme and documentation Oleg Kalachev 2025-04-30 00:05:52 +03:00
  • 4e0a1fcdab Update simulator illustration Oleg Kalachev 2025-04-29 23:37:34 +03:00
  • 5165355abc Make low pass filter formula more straightforward Oleg Kalachev 2025-04-29 23:28:56 +03:00
  • a268475f7a Add notice about firewall and vpn to troubleshooting Oleg Kalachev 2025-04-29 23:22:40 +03:00
  • c14fe7c48b Add some missing operator for vector library Oleg Kalachev 2025-04-29 23:21:12 +03:00
  • a6ccd236de Fix simulation build in Actions Switched runner to Ubuntu 22.04 since Gazebo 11 now has binaries for 22.04 (amd64 only). Changed the building tutorial to reflect that. Oleg Kalachev 2025-04-24 19:38:47 +03:00