Oleg Kalachev
355f4ad49d
Merge remote-tracking branch 'origin/master' into dev
2026-08-11 18:43:18 +03:00
Oleg Kalachev
2decd2d6dd
Fix simulation build
2026-08-08 02:19:38 +03:00
Oleg Kalachev
83aac78cf7
Merge branch 'master' into dev
2026-08-03 16:02:29 +03:00
Oleg Kalachev
eb93b0b29d
Merge branch 'master' into dev
2026-08-03 16:01:39 +03:00
Oleg Kalachev
406f7a4af5
Add tilt disarm failsafe
2026-08-02 02:13:50 +03:00
Oleg Kalachev
1203a3ae8f
Make imu model and pins configurable using parameters
2026-07-16 23:09:07 +03:00
Oleg Kalachev
8917849711
Remove unneeded declaration from the sim
2026-07-15 18:40:51 +03:00
Oleg Kalachev
1cdc7a8641
Fix rc in simulator
...
Virtual rc is disabled if rxRxPin < 0
2026-07-15 18:40:35 +03:00
Oleg Kalachev
0439407d76
Remove unneeded declaration from the sim
2026-07-15 18:29:36 +03:00
Oleg Kalachev
c2005a2ca2
Fix rc in simulator
2026-07-15 17:40:11 +03:00
Oleg Kalachev
6a804862da
Fix simulator build with new logging
2026-07-15 14:17:24 +03:00
Oleg Kalachev
7c53e88963
Add notch filter for the gyro
2026-07-08 16:07:03 +03:00
Oleg Kalachev
1ae85ff118
Add argument to motor testing commands for specifying thrust
2026-07-02 22:22:33 +03:00
Oleg Kalachev
83d1c5c68a
Implement entirely new logging subsystem
...
Make topic-based logging mechanics.
Print any log value to console.
Possibility to expose any logging value to mavlink.
2026-06-30 13:03:43 +03:00
Oleg Kalachev
518abf1555
Simplify rc code
...
Utilize the new method for getting channel values.
2026-06-14 04:45:42 +03:00
Oleg Kalachev
e51b47b798
Add command for setting the wifi mode easier
2026-06-09 02:44:09 +03:00
Oleg Kalachev
a294883dea
Make p command show all parameters starting with the arg
2026-05-27 13:58:51 +03:00
Oleg Kalachev
cdfba72a0b
Fix simulator run
...
Add missing extern variables.
Fix warning.
2026-05-27 11:03:50 +03:00
Oleg Kalachev and GitHub
fdcc9533b3
Implement ESP-NOW support ( #40 )
2026-05-21 10:48:31 +03:00
Oleg Kalachev
bd2b1bd5de
Improve voltage measurement
...
Apply PWM_VOLT_PIN without reboot.
Check if the voltage pin can be used with ADC when setting up.
Set voltage to NAN, when it's unknown (including pyflix).
pyflix@0.15 .
Don't send BATTERY_STATUS when voltage is unknown.
Add dummy voltage to the simulator.
2026-05-18 00:30:42 +03:00
Oleg Kalachev
f8a9f1f838
Remove reboot requirement when changing RC_RX_PIN
2026-05-13 01:27:01 +03:00
Oleg Kalachev
35e94f6ea6
Support ESP32-C3
...
User Serial1 for rc instead of Serial2, as ESP32-C3 has only 2 Serials.
Add CI build for ESP32-C3.
2026-05-10 21:07:20 +03:00
Oleg Kalachev
1f48e379e3
Improve the rc calibration code
...
More convenient steps order.
Improve the readability a bit.
2026-05-10 19:05:27 +03:00
Oleg Kalachev
bd270db493
Reduce angle drift by adding level correction to the estimator
...
Leverage a priori knowledge that the drone's average attitude is level.
Explanation: https://t.me/opensourcequadcopter/158 .
2026-05-05 21:27:47 +03:00
Oleg Kalachev
2ccda03573
Implement motors output desaturation
...
So the drone continues stabilization on max thrust.
2026-04-28 13:23:42 +03:00
Oleg Kalachev
6e439859bc
Move disabling brown-out code to power subsystem
2026-04-23 15:06:07 +03:00
Oleg Kalachev
51cd5fc691
Implement battery voltage monitoring
...
Add power subsystem.
Add PWR_VOLT_PIN, PWR_VOLT_SCALE, PWR_VOLT_LPF_A parameters.
Support BATTERY_STATUS mavlink messages streaming.
Add pw cli command.
Add voltage field to pyflix library.
pyflix@0.12 .
2026-04-22 11:35:37 +03:00
Oleg Kalachev
c434107eaf
Add parameter for configuring sbus pin number, disable sbus by default
2026-03-27 00:56:34 +03:00
Oleg Kalachev
a687303062
Make motor parameters apply without reboot
...
Add callback to parameter definition to call after parameter is changed.
2026-02-19 04:56:12 +03:00
Oleg Kalachev
3e49d41986
Make rc channel numbers and calibration params use int instead of float
...
As parameter subsystems supports int now, and int is much more natural here.
2026-02-02 20:36:22 +03:00
Oleg Kalachev
377b21429b
Fix error when launching the sim
...
Also make the parameters WIFI_LOC_PORT and WIFI_REM_PORT work in the sim.
2026-01-27 16:32:52 +03:00
Oleg Kalachev
40bdaacedb
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).
2026-01-27 08:40:52 +03:00
Oleg Kalachev
dd3575174b
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.
2026-01-22 22:58:43 +03:00
Oleg Kalachev
c8e5e08b03
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.
2026-01-03 13:28:18 +03:00
Oleg Kalachev
d6e8be0c05
Add parameters for easier IMU orientation definition
2025-12-26 21:14:15 +03:00
Oleg Kalachev
36ca30c3e4
Minor docs fix
2025-11-27 18:34:32 +03:00
Oleg Kalachev
48711b55e1
Add tip about CNT_TILT_MAX parameter to the simulator article
2025-11-26 17:34:08 +03:00
Oleg Kalachev
9b5872740f
Add wifi cli command
...
To show wi-fi info.
2025-11-22 04:46:54 +03:00
Oleg Kalachev
49039f752d
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.
2025-11-14 20:21:05 +03:00
Oleg Kalachev
348721acc9
Updates in documentation
...
Fixes, updates, new illustrations.
2025-11-10 20:16:14 +03:00
Oleg Kalachev
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.
2025-11-06 13:55:52 +03:00
Oleg Kalachev
e50a9d5fea
Revert t variable type to float instead of double
...
For the sake of simplicity and consistency.
2025-10-19 20:46:38 +03:00
Oleg Kalachev
ebac78dc0f
Minor change
2025-10-19 20:46:26 +03:00
Oleg Kalachev
6f0964fac4
Rename failsafe.ino to safety.ino
...
To aggregate all the safety related functionality.
2025-10-19 20:44:54 +03:00
Oleg Kalachev
06ec5f3160
Disarm the drone on simulator plugin reset
...
In order to reset yaw target.
2025-10-07 15:45:48 +03:00
Oleg Kalachev
2128201440
Fix simulation build
2025-08-28 01:13:38 +03:00
Oleg Kalachev
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.
2025-08-27 05:01:07 +03:00
Oleg Kalachev
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.
2025-08-27 03:19:26 +03:00
Oleg Kalachev
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.
2025-08-26 01:00:56 +03:00
Oleg Kalachev
6b38070e43
Rename printIMUCal to printIMUCalibration for consistency with rc
2025-07-14 12:04:02 +03:00