Oleg Kalachev
37f267ecc9
Change type hints of the most List arguments to Sequence in pyflix
...
These arguments are effectively immutable, so Sequence makes more sense - the user may use tuples in addition to lists.
2026-08-14 10:36:10 +03:00
Oleg Kalachev
3450932dce
Add testing of simulation run
2026-08-14 09:56:04 +03:00
Oleg Kalachev
149c891cfc
Put binaries into docs artifact only in master and dev branch of the upstream repo
2026-08-14 04:26:30 +03:00
Oleg Kalachev
0512f5ce68
Add sloc calculator to ci
2026-08-14 04:21:36 +03:00
Oleg Kalachev
f12b239af9
Fix simulation run
2026-08-14 04:19:41 +03:00
Oleg Kalachev
0a377cfe6f
Fix default windup value in pid
...
INFINITY makes much more sense, since otherwise i term would be ineffective at all by default
2026-08-14 03:06:34 +03:00
Oleg Kalachev
fd8bf03cc7
Update all used actions
...
Some of them were deprecated.
2026-08-14 02:35:34 +03:00
Oleg Kalachev
3ea680605a
Fix typo
2026-08-14 00:59:36 +03:00
Oleg Kalachev
5edac09473
Make arduino-cli commands more clear in Makefile
...
Move sketch name before other arguments.
2026-08-14 00:21:51 +03:00
Oleg Kalachev
7312aeff32
Rename lpf.h to filter.h
...
To implement more filters (like notch) potentially.
2026-08-12 02:01:56 +03:00
Oleg Kalachev
d65c5c0eb1
Build espnow-proxy in ci
2026-08-12 01:59:52 +03:00
Oleg Kalachev
76456b778b
Publish official pre-built binaries
...
Add qspi and opi psram binaries.
Build binary for Flix2 board.
Add config.h file for defining parameter defaults.
Set appropriate pwm frequency for c3/s3 automatically using config.h.
Remove pid parameters definitions, the may be set is config.h now.
2026-08-11 06:02:55 +03:00
Oleg Kalachev
f79c444f07
Configure imu using parameters instead of editing the source code
...
Choose the model and optionally custom pin numbers.
2026-08-11 05:36:31 +03:00
Oleg Kalachev
2a96f4795d
Add missing parameter for yaw rate windup
2026-08-11 05:18:06 +03:00
Oleg Kalachev
6c55ab3625
Refactor building
...
Switch to plain esp32 fqbn - it works on d1 as well.
Move debug level setting from fqbn to arduino-cli command to simplify things.
Add C3 and S3 builds to commit artifacts.
2026-08-11 05:15:40 +03:00
Oleg Kalachev
97edb8e65b
Minor docs changes
2026-08-11 05:03:56 +03:00
Oleg Kalachev
bfeee7a00a
Use up-to-date method for installing arduino-cli in simulator ci
2026-08-11 05:01:13 +03:00
Oleg Kalachev
3f4577bb2c
Make Rate always trigger on first step
2026-08-11 05:01:02 +03:00
Oleg Kalachev
070eb8a0de
Add parameter WIFI_BROADCAST for always broadcasting mode
...
May be used in some cases, like multiple gcs
2026-08-08 01:04:43 +03:00
Oleg Kalachev
aee43c6548
Allow hot reconnection from another gcs over wifi
...
Switch back to udp broadcasting if no messages from gcs for 5 seconds
2026-08-07 18:24:45 +03:00
Oleg Kalachev
8e276bde38
Add Oleg1405 build
2026-08-04 22:48:39 +03:00
Oleg Kalachev
a5991930d1
Disable voltage lpf by default
...
Filtering does more harm than good in voltage monitoring.
(alpha = 1 efficiently disables the filter.)
2026-08-03 15:57:29 +03:00
Oleg Kalachev
406f7a4af5
Add tilt disarm failsafe
2026-08-02 02:13:50 +03:00
Oleg Kalachev
5ee6d91440
Don't send discovery message if encrypting is disabled in espnow
2026-08-02 02:07:17 +03:00
Oleg Kalachev
38925d7885
Updates and fixes in usage article
2026-08-02 02:02:28 +03:00
Oleg Kalachev
5c81181221
Add threshold for rc sticks move for quitting auto mode
2026-08-02 01:58:16 +03:00
Oleg Kalachev
fd249fcaa6
Add position control demo video to the readme
2026-08-01 22:33:26 +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
d64bf24c6d
Add alicanerus' build
2026-07-08 22:29:33 +03:00
Oleg Kalachev
fabd5e072d
Fixes in the docs
2026-07-04 21:40:39 +03:00
Oleg Kalachev
1ae85ff118
Add argument to motor testing commands for specifying thrust
2026-07-02 22:22:33 +03:00
Oleg Kalachev
26a0dd65be
Minor fixes and updates
2026-06-30 12:19:29 +03:00
Oleg Kalachev
9d439afd80
Store only changed parameters in flash instead of all
...
Rationale:
1. Parameters NVS storage is limited and storing unchanged parameters is wasteful.
2. This allows changing parameters in the code without having to erase the flash storage.
3. Updating the firmware version may change the parameter defaults.
2026-06-28 17:21:07 +03:00
Oleg Kalachev
64b21a3a6b
Show default parameter values in p command output
...
Also move float comparing logic to a distinct util function.
2026-06-24 06:42:09 +03:00
Oleg Kalachev
545eed8944
Add Nerush and Konstantinos Paraskevas builds
2026-06-19 05:15:17 +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
17df1c5396
Separate repository vscode settings and local vscode settings
...
Use dangmai.workspace-default-settings externsion for that.
2026-06-11 20:37:35 +03:00
Oleg Kalachev
8e2ffd7c69
Remove core installation when running the sim
...
Split `dependencies` target to `core` and `libs` targets.
Move additional urls declaration and connection timeout from arduino-cli.yaml to Makefile for simplicity and transparency.
Update ESP32 core url.
Remove arduino-cli.yaml.
2026-06-10 18:10:42 +03:00
Oleg Kalachev
52b74afba6
Bring back espnow tx buffering keeping resends disabled
...
Buffering is needed for sending large prints, otherwise the espnow internal buffer overflows.
Make onSent always think there was success send, so there won't be any resends.
Print lost espnow packets count on wifi console command.
2026-06-09 03:23:30 +03:00
Oleg Kalachev
0ca2473655
Make each mavlink message rate configured separately
...
Add parameters:
* MAV_RATE_ATT - ATTITUDE_QUATERNION rate.
* MAV_RATE_RC - RC_CHANNELS_RAW rate.
* MAV_RATE_MOT - ACTUATOR_CONTROL_TARGET rate.
* MAV_RATE_IMU - SCALED_IMU rate.
2026-06-09 02:59:10 +03:00
Oleg Kalachev
b4c2fe3988
Print total RAM in sys command
2026-06-09 02:49:39 +03:00
Oleg Kalachev
e51b47b798
Add command for setting the wifi mode easier
2026-06-09 02:44:09 +03:00
Oleg Kalachev
71abe1bcdb
Minor changes
...
Simplify the code, print imu temperature
2026-06-09 02:25:20 +03:00
Oleg Kalachev
0f2e384ce6
Don't apply level correction on idle thrust
2026-06-09 02:12:27 +03:00
Oleg Kalachev
5e153a210d
Update ESP32-Core to 3.3.10
2026-06-09 02:05:52 +03:00
Oleg Kalachev
9d47bcb82e
Minor changes in docs
2026-05-31 18:10:00 +03:00
Oleg Kalachev
1fafc27b39
Make it possible to unassign motor pin using -1 parameter value
2026-05-30 16:57:27 +03:00
Oleg Kalachev
faca48ced3
Replace ps and psq commands with st command + minor changes
...
Re-arrange commands order.
Make command parser consider \r in addition to \n.
2026-05-30 16:51:15 +03:00
Oleg Kalachev
a5dbd2c829
Add erase command to makefile
2026-05-30 16:48:12 +03:00
Oleg Kalachev
59f9528d34
Increase buffer for print, make sys output more correct
...
usStackHighWaterMark is not stack size, it's the minimum stack size
2026-05-30 11:11:35 +03:00
Oleg Kalachev
607b2ff0b7
Add malagis custom pcb version of Flix project to builds
2026-05-28 20:15:09 +03:00
Oleg Kalachev
22c06f76c4
Add Awab Anas' build
2026-05-28 19:29:05 +03:00
Oleg Kalachev
488ceb3004
Set the debug level to error by default to see the errors
2026-05-28 19:25:29 +03:00
Oleg Kalachev
b83c9b3845
Consider mavlink connected only when the gcs message is parsed
2026-05-28 18:41:34 +03:00
Oleg Kalachev
2f4b1423e6
Typo and minor code style changes
2026-05-28 18:39:44 +03:00
Oleg Kalachev
4e32414dae
Support ESP-NOW connection in pyflix
...
Set arbitrary pymavlink connection string using device parameter or FLIX_DEVICE env variable.
pyflix@0.16 .
2026-05-28 18:22:16 +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
18e81720e0
Add video of pcb version flights to the readme
2026-05-26 14:23:56 +03:00
Oleg Kalachev
91173d06c9
Various minor changes
2026-05-22 08:03:46 +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
4530c05b5c
Add Flix 1.5 to builds
2026-05-17 06:46:11 +03:00
Oleg Kalachev
3816ae376f
Bring back initializing the lpf with the first input value
...
It's much better for voltage measuring and slightly better for gyro bias estimation.
2026-05-17 06:21:13 +03:00
Oleg Kalachev
72a72fde80
Some docs improvements
2026-05-14 21:59:15 +03:00
Oleg Kalachev
e53051a349
Fix console command parsing
2026-05-13 06:00:51 +03:00
Oleg Kalachev
f8a9f1f838
Remove reboot requirement when changing RC_RX_PIN
2026-05-13 01:27:01 +03:00
Oleg Kalachev
76af83fc88
Improve firmware overview article
2026-05-13 00:35:43 +03:00
Oleg Kalachev
dd176180a7
Update help message
...
Remove 'welcome to', add copyright and repo link.
2026-05-12 17:50:28 +03:00
Oleg Kalachev
48c33c7050
Fix and improve wifi subsystem
...
Fix a fault when wifi is disabled (udp can't be used without wifi).
Print RSSI and channel in wifi command.
2026-05-10 22:39:34 +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
ee3c6999ab
Add mavlink joystick app usage to the docs
2026-05-10 14:50:27 +03:00
Oleg Kalachev
34c6993842
Some fixes in the docs
2026-05-10 02:33:03 +03:00
Oleg Kalachev
b62f2f9427
Rename some wifi parameters for better alphabetical sort
2026-05-09 17:55:55 +03:00
Oleg Kalachev and Marina Tikhomirova
7dfef17165
Add Ina Tix' build
...
Co-authored-by: Marina Tikhomirova <Ina.tix@yandex.ru >
2026-05-09 17:49:59 +03:00
Oleg Kalachev
8c8046676b
Simplify port definition in Makefile
2026-05-09 17:14:29 +03:00
Oleg Kalachev
702ec9792e
Some updates in troubleshooting article
2026-05-09 15:57:25 +03:00
Oleg Kalachev
06e2047097
Make motor testing signal 0.2 instead of full power
...
Testing with full power is too dangerous and inconvenient.
2026-05-08 00:53:19 +03:00
Oleg Kalachev
87480476c2
Fix motors pwm frequency for esp32s3 etc in the docs
2026-05-08 00:47:29 +03:00
Oleg Kalachev
68271c508c
Print firmware build date and time in sys command
2026-05-08 00:31:51 +03:00
Oleg Kalachev
e81e84e7fc
Some updates to docs
2026-05-07 20:15:55 +03:00
Oleg Kalachev
5f1a938d4f
Fix imu rotation definition
...
The X axis should be pointing to the mounting holes, not pins side.
2026-05-07 19:54:16 +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
dbf24ea611
Expose lpf alpha of rate pids to parameters
...
Add parameters: CTL_R_RATE_D_A, CTL_P_RATE_D_A, CTL_Y_RATE_D_A.
2026-05-03 15:04:16 +03:00
Oleg Kalachev
08683d696d
Some updates in the usage doc
2026-05-01 15:26:59 +03:00
Oleg Kalachev
9ca6841558
Exit auto mode when sticks moved only when mode switch is not configured
2026-04-29 15:07:44 +03:00
Oleg Kalachev
28da2d3c8e
Fix in pyflix documentation
...
pyflix@0.14
2026-04-28 20:46:49 +03:00
Oleg Kalachev
c6632ae6e4
Add info on setting flight modes using rc mode switch
2026-04-28 20:43:52 +03:00
Oleg Kalachev
35ca754583
Fix Vector::rotationVectorBetween implementation for parallel vectors
2026-04-28 15:38:52 +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
485a39e740
Disable wi-fi power save to improve responsiveness
2026-04-27 16:46:36 +03:00
Oleg Kalachev
9bffe5b52f
Some fixes in docs
2026-04-26 06:05:02 +03:00
Oleg Kalachev
d6a79d6c66
Pass acc data in mG in SCALED_IMU to comply with mavlink standard
...
https://mavlink.io/en/messages/common.html#SCALED_IMU
pyflix@0.13
2026-04-24 07:42:39 +03:00
Oleg Kalachev
350a82bfed
Minor fix
2026-04-23 15:34:54 +03:00
Oleg Kalachev
6e439859bc
Move disabling brown-out code to power subsystem
2026-04-23 15:06:07 +03:00
Oleg Kalachev
835b2243e8
Minor fix in sys command
...
String works with printf %s, but actually it's a UB.
2026-04-23 07:25:59 +03:00
Oleg Kalachev
ed4e2d87d1
Fix imu command output
...
Gyro field contained filtered gyro instead of scaled only gyro.
2026-04-23 07:12:25 +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