Commits included in published releases. Unpublished intermediate commits are private. Showing matches from the latest 100 commits ending at this release.
Group control parameters Also add IMU group to accelerometer calibration parameters.
Oleg Kalachev · Nov 18, 2025, 10:30 PM UTC
3104410bb907
Merge changes from master
Oleg Kalachev · Nov 14, 2025, 5:27 PM UTC
1551d096fc1a
Update log analysis documentation
Oleg Kalachev · Nov 14, 2025, 5:17 PM UTC
80f23ab0168b
Remove unneeded SERIAL_BAUDRATE define
Oleg Kalachev · Nov 14, 2025, 10:46 AM UTC
e6fb26449935
Updates in documentation Fixes, updates, new illustrations.
Oleg Kalachev · Nov 10, 2025, 5:13 PM UTC
4d0871b00b6c
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 · Nov 6, 2025, 10:46 AM UTC
f1b993d7192d
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 · Nov 1, 2025, 9:24 PM UTC
2e7330d2f5b9
Simplify rate limiter code
Oleg Kalachev · Nov 1, 2025, 9:03 PM UTC
e22df3ab01f1
Keep only one floating point version of map function Two variants are redundant
Oleg Kalachev · Nov 1, 2025, 8:55 PM UTC
848485457649
Add some excludes to sloc
Oleg Kalachev · Oct 29, 2025, 12:35 AM UTC
b9d5624f307e
Add Rate class for running the code at fixed rate
Oleg Kalachev · Oct 29, 2025, 12:25 AM UTC
205270b8ec23
Count sloc in Actions
Oleg Kalachev · Oct 28, 2025, 11:20 PM UTC
f1bedb2b104f
Minor code fixes
Oleg Kalachev · Oct 21, 2025, 4:32 PM UTC
46d1749a8cd7
Simplify command for command handling
Oleg Kalachev · Oct 21, 2025, 4:31 PM UTC
66fb7a13c3d3
Fixes to troubleshooting
Oleg Kalachev · Oct 21, 2025, 4:22 PM UTC
cfef3b9c368c
Quaternion::fromBetweenVectors: pass u and v as const references (#21)
KiraFlux · Oct 19, 2025, 7:17 AM UTC
1338a9ea7919
Minor code style change
Oleg Kalachev · Oct 18, 2025, 9:36 AM UTC
b60757ec1d64
Revert t variable type to float instead of double For the sake of simplicity and consistency.
Oleg Kalachev · Oct 18, 2025, 9:28 AM UTC
491e054534ab
Minor change
Oleg Kalachev · Oct 17, 2025, 4:22 PM UTC
3eaf24f89d41
Add generic Delay filter
Oleg Kalachev · Oct 17, 2025, 4:19 PM UTC
dc094596131f
Lowercase imu and rc variables To make it more obvious these are variables, not classes.
Oleg Kalachev · Oct 17, 2025, 4:02 PM UTC
59c9ea8cb30e
Increase thrust to ARMED_THRUST if it's less
Oleg Kalachev · Oct 17, 2025, 3:54 PM UTC
5bdd46c6ad03
Refactor PID controllers Use t variable instead of passing dt argument. Reset PID automatically on large dts.
Oleg Kalachev · Oct 17, 2025, 3:53 PM UTC
5b37c87166e3
Rename failsafe.ino to safety.ino To aggregate all the safety related functionality.
Oleg Kalachev · Oct 16, 2025, 10:09 PM UTC
48ba55aa7ec0
Add ESP32-S3 build to Actions
Oleg Kalachev · Oct 14, 2025, 1:56 PM UTC
2708c1eafd37
Fix Gazebo installation Installation script is deprecated, install using package on Ubuntu 20.04
Oleg Kalachev · Oct 13, 2025, 3:33 PM UTC
b2c9dfe6ef06
Update VSCode settings Disable error squiggles as they often work incorrectly. Decrease number of include libraries to index.
Oleg Kalachev · Oct 14, 2025, 8:31 AM UTC
0579118dd5d9
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 · Oct 12, 2025, 6:20 PM UTC
05818349d89e
Disarm the drone on simulator plugin reset In order to reset yaw target.
Oleg Kalachev · Oct 7, 2025, 12:45 PM UTC
6c1d651caafd
Reset yaw target when drone disarmed Prevent unexpected behavior when the drone tries to restore its old yaw on takeoff.
Oleg Kalachev · Oct 7, 2025, 12:42 PM UTC
49a0aa703666
Include FlixPeriph header instead of MPU9250 This simplifies choosing IMU model
Oleg Kalachev · Oct 7, 2025, 5:41 AM UTC
bf9eeb90a427
Ensure showing correct raw data in imu command Some IMUs will reset acc and gyro buffer on whoAmI() call
Oleg Kalachev · Oct 7, 2025, 5:37 AM UTC
96836b2e3e8e
Send only mavlink heartbeats until connected
Oleg Kalachev · Oct 3, 2025, 4:08 AM UTC
82d9d3570df9
Add Wi-Fi client mode WIFI_AP_MODE define
Oleg Kalachev · Oct 3, 2025, 3:56 AM UTC
d7f8c8d934a8
pyflix@0.9
Oleg Kalachev · Oct 3, 2025, 3:49 AM UTC
c08c8ad91c93
pyflix: don't quit on any sendto error
Oleg Kalachev · Oct 3, 2025, 3:47 AM UTC
e44f32fca796
pyflix: partially fix wireless downloading logs
Oleg Kalachev · Oct 3, 2025, 3:46 AM UTC
ca03bdb26041
pyflix: add passing event name to off method
Oleg Kalachev · Oct 3, 2025, 3:46 AM UTC
b3dffe99fb30
Remove unneeded advice from troubleshooting
Oleg Kalachev · Oct 3, 2025, 3:45 AM UTC
6e6a71fa691c
Simplify mode index check in set_mode
Oleg Kalachev · Sep 26, 2025, 2:03 AM UTC
838fe11f6b41
pyflix@0.8
Oleg Kalachev · Sep 25, 2025, 1:55 PM UTC
8b36509932af
Some fixes and updates in pyflix Fix set_controls Add set_armed method
Oleg Kalachev · Sep 25, 2025, 1:53 PM UTC
0268c8ebcfdf
Update schematics diagram
Oleg Kalachev · Sep 25, 2025, 3:16 AM UTC
09bf09e520fa
Fix fields order in psq command
Oleg Kalachev · Sep 20, 2025, 7:35 PM UTC
4c89b10767ad
Don't trigger rc failsafe in AUTO mode or if disamed
Oleg Kalachev · Sep 20, 2025, 5:36 PM UTC
a79df529593a
Fix rc calibration steps enumeration again
Oleg Kalachev · Sep 11, 2025, 8:47 AM UTC
e88888baeb12
Fix rc calibration steps enumeration
Oleg Kalachev · Sep 2, 2025, 8:03 AM UTC
de69b228ff3f
Don't arm by mavlink command if throttle is not low
Oleg Kalachev · Aug 29, 2025, 12:47 AM UTC
f9739dcd7ebc
Minor docs fix
Oleg Kalachev · Aug 28, 2025, 2:17 AM UTC
708c8f04dc24
Fix simulation build
Oleg Kalachev · Aug 27, 2025, 10:13 PM UTC
2128201440ce
pyflix@0.7
Oleg Kalachev · Aug 27, 2025, 9:52 PM UTC
8e3c86f5ee4a
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 · Aug 27, 2025, 9:49 PM UTC
40fc4b96b51b
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 · Aug 27, 2025, 2:01 AM UTC
10fafbc4a06e
Support arm/disarm mavlink commands Refactor commands handling to remove repeating ack message packing.
Oleg Kalachev · Aug 27, 2025, 1:45 AM UTC
d47d7b8bd4a8
Minor change in cli help message
Oleg Kalachev · Aug 27, 2025, 1:43 AM UTC
a7fdc2a88fa2
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 · Aug 27, 2025, 12:19 AM UTC
c1788e2c75d1
Add illustration for qgc proxy for pyflix
Oleg Kalachev · Aug 27, 2025, 12:13 AM UTC
beb655fdcbb9
Major update of the articles Reflect control subsystem refactoring. Update dataflow diagram. Add control subsystem diagram. Minor updates.
Oleg Kalachev · Aug 26, 2025, 9:09 PM UTC
bf0cdac1113f
Add cli commands for switching mode Make mode variable int instead of enum, which is more convinient.
Oleg Kalachev · Aug 26, 2025, 6:55 PM UTC
b21e81a68b5e
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 · Aug 25, 2025, 10:00 PM UTC
8418723ccc08
Show raw values in imu command
Oleg Kalachev · Aug 22, 2025, 2:20 PM UTC
a1539157b835
Some updates to readme and build article Add info on using USB gamepad Replace KINGKONG transmitter with BetaFPV LiteRadio Add RoboCamp video
Oleg Kalachev · Aug 20, 2025, 7:06 PM UTC
80922dc68acc
Add link to stls from robocamp
Oleg Kalachev · Aug 19, 2025, 12:20 PM UTC
fcd273876339
Minor docs change
Oleg Kalachev · Aug 14, 2025, 9:51 PM UTC
fa07ed3a4eb8
Add getRoll, getPitch, setRoll, setPitch methods Add methods to Quaternion for consistency with getYaw and setYaw
Oleg Kalachev · Aug 9, 2025, 3:10 PM UTC
dee4d97ab307
Minor code simplification
Oleg Kalachev · Aug 9, 2025, 2:53 PM UTC
ea35db37dab3
Add RoboCamp to built drones article
Oleg Kalachev · Aug 7, 2025, 11:29 AM UTC
cd953f24adfa
Some updates to articles
Oleg Kalachev · Aug 6, 2025, 8:52 PM UTC
3f80712641ca
Make rc loss timeout longer
Oleg Kalachev · Jul 31, 2025, 9:35 AM UTC
18bacb64f3b6
Minor updates
Oleg Kalachev · Jul 28, 2025, 7:07 PM UTC
7e8bd3e83459
Add missing set_velocity method stub to pyflix
Oleg Kalachev · Jul 28, 2025, 7:06 PM UTC
bb0643e8c615
Updates in pyflix Rename mav_to to system_id to match firmware naming. Readme updates.
Oleg Kalachev · Jul 24, 2025, 6:15 AM UTC
32f417efae87
Add repository field to python library
Oleg Kalachev · Jul 22, 2025, 2:21 PM UTC
018a6d4fce04
Add Python library (#20)
Oleg Kalachev · Jul 22, 2025, 11:17 AM UTC
1f47aa6d62b7
Increase connection timeout for arduino-cli as it prevents some users from downloading the core
Oleg Kalachev · Jul 21, 2025, 8:12 AM UTC
779fa13e8095
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 · Jul 19, 2025, 2:32 AM UTC
5eccb3f0c402
Minor fixes to builds list
Oleg Kalachev · Jul 18, 2025, 11:19 AM UTC
29f1a2b22b78
Add chkroko's bldc build
Oleg Kalachev · Jul 18, 2025, 9:14 AM UTC
1d4ce810a944
Minor fixes
Oleg Kalachev · Jul 14, 2025, 9:05 AM UTC
32874b92fd3e
Rename printIMUCal to printIMUCalibration for consistency with rc
Oleg Kalachev · Jul 14, 2025, 9:04 AM UTC
6b38070e43aa
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 · Jul 14, 2025, 8:11 AM UTC
52819e403b83
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 · Jul 14, 2025, 6:52 AM UTC
449dd44741c5
Show unspecified core as * in sys command
Oleg Kalachev · Jul 13, 2025, 8:12 AM UTC
e389d717d66e
Fixes in firmware variables description
Oleg Kalachev · Jul 12, 2025, 7:07 AM UTC
ea8463ed70a6
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 · Jul 12, 2025, 6:29 AM UTC
85afe405cbf6
Minor changes
Oleg Kalachev · Jul 10, 2025, 4:27 AM UTC
fd4bcbeb8965
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 · Jul 3, 2025, 12:46 AM UTC
121b50d896ef
Return zero rotation vector when converting neutral quaternion Previously it would return nans
Oleg Kalachev · Jun 30, 2025, 11:48 PM UTC
48c7135efb8b
Add missing equals and non-equals operators for quaternion lib
Oleg Kalachev · Jun 30, 2025, 11:47 PM UTC
9229b743ebd3
Add missing includes to Arduino.h to make build more portable
Oleg Kalachev · Jun 30, 2025, 11:38 PM UTC
52d31ba7a5ba
Add info on mpu-6050
Oleg Kalachev · Jun 30, 2025, 9:29 AM UTC
f11ab2dc1639
Add chkroko's build
Oleg Kalachev · Jun 19, 2025, 10:25 AM UTC
93383cc7f9db
Add missing newlines to initialization prints
Oleg Kalachev · Jun 19, 2025, 10:17 AM UTC
389cfb94ab3b
Minor docs changes
Oleg Kalachev · Jun 19, 2025, 10:17 AM UTC
045f2c5ed527
Upload built firmware binaries as artifact
Oleg Kalachev · Jun 1, 2025, 11:32 PM UTC
31f5e1efbb65
Minor fixes in book
Oleg Kalachev · May 31, 2025, 1:56 PM UTC
2d77317abc01
Minor fix in book
Oleg Kalachev · May 31, 2025, 10:15 AM UTC
963cbe09ddb5
Add quaternion and vector chapter to book
Oleg Kalachev · May 31, 2025, 9:46 AM UTC
98fc0cf5b494
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.