Commits included in published releases. Unpublished intermediate commits are private. Showing matches from the latest 100 commits ending at this release.
Add level calibration
Oleg Kalachev · Jan 30, 2026, 4:49 AM UTC
f8f746b0cdbc
Add parameters for list of modes bound to rc switch Parameters: CTL_FLT_MODE_0, CTL_FLT_MODE_1, CTL_FLT_MODE_2. Also fix a bug with incorrect choosing the mode from controlMode.
Oleg Kalachev · Jan 27, 2026, 1:38 PM UTC
3dde380bb7ee
Fix error when launching the sim Also make the parameters WIFI_LOC_PORT and WIFI_REM_PORT work in the sim.
Oleg Kalachev · Jan 27, 2026, 1:32 PM UTC
377b21429bec
Add a build by Arky Matsekh
Oleg Kalachev · Jan 27, 2026, 12:17 PM UTC
1ac443d6f8c5
Make setting parameter in console printing actual parameter value. In some cases, it would not be equal to the requested value.
Oleg Kalachev · Jan 27, 2026, 6:28 AM UTC
964c0f7bc1e9
Make motor subsystem configurable using parameters Motor pins: MOT_PIN_FL, MOT_PIN_FR, MOT_PIN_RL, MOT_PIN_RR. PWM configuration: MOT_PWM_FREQ, MOT_PWM_RES, MOT_PWM_STOP, MOT_PWM_MIN, MOT_PWM_MAX. MOT_PWM_MAX = -1 chooses duty cycle mode for brushed motors (default).
Oleg Kalachev · Jan 27, 2026, 5:40 AM UTC
40bdaacedb95
Minor docs fixes
Oleg Kalachev · Jan 27, 2026, 4:21 AM UTC
7d74f3d5cdf1
Simplify lpf filter code Begin with zero instead of the initializing value, as the latter doesn't make much sense in practice, but complicates the code much.
Oleg Kalachev · Jan 24, 2026, 6:43 AM UTC
9fd35ba3611e
Various minor fixes
Oleg Kalachev · Jan 24, 2026, 6:34 AM UTC
ca50f7557660
Fix mavlink parameter set acknowledgement value If the parameter is integer the acknowledgement should contain the rounded value.
Oleg Kalachev · Jan 24, 2026, 6:32 AM UTC
e47a31f9816c
Add parameter for configuring gyro bias lpf + reset the filter on `reset` command
Oleg Kalachev · Jan 24, 2026, 6:31 AM UTC
7ad302279898
Update ESP32-Core to 3.3.6
Oleg Kalachev · Jan 22, 2026, 11:41 PM UTC
5b654e4d8e72
Update MAVLink-Arduino to 2.0.16
Oleg Kalachev · Jan 22, 2026, 10:11 PM UTC
cf10ec6161d4
Make failsafe configurable using parameters SF_RC_LOSS_TIME - time without rc to activate failsafe. SD_DESCEND_TIME - total time to decrease the throttle to zero. Make controlTime nan on the start to simplify the logic.
Oleg Kalachev · Jan 22, 2026, 8:57 PM UTC
6d01cd2e7918
Make parameter names case-insensitive + minor fix
Oleg Kalachev · Jan 22, 2026, 8:11 PM UTC
0abb18c6169f
Add parameters for configuring the mavlink subsystem MAV_SYS_ID - mavlink system id. MAV_RATE_SLOW - rate of slow telemetry (e. g. heartbeats). MAV_RATE_FAST - rate of fast telemetry (e. g. attitude, imu data).
Oleg Kalachev · Jan 22, 2026, 8:04 PM UTC
30326a56628b
Add wifi configuration using parameters and cli Add console commands to setup wifi. Add a parameter for choosing between STA and AP mode. Add parameters for udp ports. Remove WIFI_ENABLED macro.
Oleg Kalachev · Jan 22, 2026, 7:58 PM UTC
dd3575174b51
Support integer parameters in addition to floats The variable pointer is stored as a union field. If `.integer` field is true, then integer pointer should be used. Interfaces to parameters (cli and mavlink) keep working using floats. Setting a non-finite value to int parameter will cause an error. `.value` field is renamed to `.cache`.
Oleg Kalachev · Jan 22, 2026, 7:54 PM UTC
c0f3301da42f
Add log dir creation before log writing
a.golubtsov · Jan 22, 2026, 7:49 AM UTC
a6bad3a69b14
Add correct attitude estimation video to the usage article
Oleg Kalachev · Jan 15, 2026, 8:46 PM UTC
9a9bd07251db
Re-arrange control.ino declarations to make a bit more sensible So the control command is above the PID controllers.
Oleg Kalachev · Jan 13, 2026, 2:43 PM UTC
28f5855a57ef
Documentation and book updates Improve the main list of features. Use lowercase imu variable for consistency with the firmware code. Minor fixes.
Oleg Kalachev · Jan 13, 2026, 2:26 PM UTC
7e24ee30f734
Fix logo svg slightly
Oleg Kalachev · Jan 8, 2026, 4:45 PM UTC
2a8faf57590d
Add project logo
Oleg Kalachev · Jan 8, 2026, 2:58 PM UTC
f4e58a652a4c
Minor doc fixes
Oleg Kalachev · Jan 4, 2026, 12:01 PM UTC
6c46328da1dd
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 · Jan 3, 2026, 10:28 AM UTC
c8e5e08b03b2
Some updates to the docs
Oleg Kalachev · Jan 3, 2026, 9:18 AM UTC
a5e3dfcf695d
Add parameters for easier IMU orientation definition
Oleg Kalachev · Dec 26, 2025, 6:14 PM UTC
d6e8be0c053a
Add motors rotation diagram to usage article
Oleg Kalachev · Dec 25, 2025, 4:22 AM UTC
68d16855df79
Add parameters for acc weight and rates lpf alpha
Oleg Kalachev · Dec 24, 2025, 2:43 AM UTC
0547ea548bf1
Rename gyroCalibrationFilter to gyroBiasFilter Which seems a better name
Oleg Kalachev · Dec 24, 2025, 2:36 AM UTC
c02dba6812ba
Updates to user builds article
Oleg Kalachev · Dec 16, 2025, 11:21 PM UTC
f1dc4a040078
Add new user builds, add school 548 course overview + minor doc fixes.
Oleg Kalachev · Dec 13, 2025, 6:09 PM UTC
158827ac5551
Minor docs fix
Oleg Kalachev · Nov 27, 2025, 3:34 PM UTC
36ca30c3e432
Add tip about CNT_TILT_MAX parameter to the simulator article
Oleg Kalachev · Nov 26, 2025, 2:34 PM UTC
48711b55e191
Rename manual mode to raw mode Make it callable from the console. Increase the coefficient. Corresponding change in pyflix. pyflix@0.11.
Oleg Kalachev · Nov 25, 2025, 1:44 AM UTC
4d583185a988
Move yaw dead zone handling from mavlink to control subsystem So yaw dead zone works the same for rc and mavlink.
Oleg Kalachev · Nov 22, 2025, 2:11 AM UTC
d757ffa8530b
Minor updates to pyflix library, pyflix@0.10 Fixes to documentation. Improve logger format.
Oleg Kalachev · Nov 22, 2025, 2:07 AM UTC
5352386486fd
Add wifi cli command To show wi-fi info.
Oleg Kalachev · Nov 22, 2025, 1:46 AM UTC
9b5872740f46
Group control parameters Also add IMU group to accelerometer calibration parameters.
Oleg Kalachev · Nov 18, 2025, 10:30 PM UTC
31dbdaf24152
Remove unneeded SERIAL_BAUDRATE define
Oleg Kalachev · Nov 14, 2025, 10:46 AM UTC
f4b56262b12e
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 14, 2025, 5:21 PM UTC
49039f752dc5
Updates in documentation Fixes, updates, new illustrations.
Oleg Kalachev · Nov 10, 2025, 5:13 PM UTC
348721acc9eb
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
774144c43039
Add Rate class for running the code at fixed rate
Oleg Kalachev · Nov 6, 2025, 10:41 AM UTC
0e6651ab8258
Keep only one floating point version of map function Two variants are redundant
Oleg Kalachev · Nov 1, 2025, 8:55 PM UTC
1a017ccb9715
Simplify command for command handling
Oleg Kalachev · Oct 21, 2025, 4:31 PM UTC
7170b20d1d8f
Minor code fixes
Oleg Kalachev · Oct 21, 2025, 4:32 PM UTC
dc9aed113be1
Fixes to troubleshooting
Oleg Kalachev · Oct 21, 2025, 4:22 PM UTC
08b6123eb795
Send only mavlink heartbeats until connected
Oleg Kalachev · Oct 3, 2025, 4:08 AM UTC
1a8b63ee043d
Skip attitude/rate control if thrustTarget is ineffective To prevent i term windup.
Oleg Kalachev · Oct 20, 2025, 8:01 PM UTC
8c49a40516ad
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 · Oct 20, 2025, 7:54 PM UTC
ca595edce5e8
Quaternion::fromBetweenVectors: pass u and v as const references (#21)
KiraFlux · Oct 19, 2025, 7:17 AM UTC
d06eb2a1aa5b
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
e50a9d5fead4
Minor change
Oleg Kalachev · Oct 17, 2025, 4:22 PM UTC
ebac78dc0f53
Add generic Delay filter
Oleg Kalachev · Oct 17, 2025, 4:19 PM UTC
186cf88d84ed
Lowercase imu and rc variables To make it more obvious these are variables, not classes.
Oleg Kalachev · Oct 17, 2025, 4:02 PM UTC
253aae222056
Rename failsafe.ino to safety.ino To aggregate all the safety related functionality.
Oleg Kalachev · Oct 16, 2025, 10:09 PM UTC
6f0964fac414
Add ESP32-S3 build to Actions
Oleg Kalachev · Oct 14, 2025, 1:56 PM UTC
1d034f268d22
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
1ca7d32862f7
Fix Gazebo installation Installation script is deprecated, install using package on Ubuntu 20.04
Oleg Kalachev · Oct 13, 2025, 3:33 PM UTC
ab941e34fa5d
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
7bee3d1751f4
Disarm the drone on simulator plugin reset In order to reset yaw target.
Oleg Kalachev · Oct 7, 2025, 12:45 PM UTC
06ec5f31607d
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
c4533e3ac8b0
Include FlixPeriph header instead of MPU9250 This simplifies choosing IMU model
Oleg Kalachev · Oct 7, 2025, 5:41 AM UTC
e673b50f52d1
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
5151bb913323
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