Oleg Kalachev
c74598b4b7
Add attitude_target mavlink telemetry (disabled by default)
2026-08-30 20:28:36 +03:00
Oleg Kalachev
97a01db7b4
Make method for sending mavlink commands public in pyflix
2026-08-29 17:32:18 +03:00
Oleg Kalachev
3861c4438a
Make failed mavlink commands exception more verbose in pytflix
2026-08-29 16:52:34 +03:00
Oleg Kalachev
0dae0a3e7e
Move mavlink commands handlers to a separated function
...
It's more convenient to handle error that way.
2026-08-28 22:36:40 +03:00
Oleg Kalachev
119d1d82ac
Add some missing simulated Arduino methods for future use
...
* String::toUpperCase.
* Serial.read(*buf, len).
* Serial.write
2026-08-28 19:31:53 +03:00
Oleg Kalachev
23bac0cb31
Minor change
2026-08-28 19:30:11 +03:00
Oleg Kalachev
cc49718a60
Use pytest for testing
2026-08-28 19:18:58 +03:00
Oleg Kalachev
e1209a0fb8
Add timeout parameter for pyflix constructor
2026-08-28 17:47:08 +03:00
Oleg Kalachev
096049d2cb
Use dedicated script for testing
2026-08-28 17:32:48 +03:00
Oleg Kalachev
447fd199ad
Fix running example.py in simuation
2026-08-28 17:13:49 +03:00
Oleg Kalachev
7e0515b1fa
Fix pyflix examples reflecting control parameters rename
2026-08-28 16:55:17 +03:00
Oleg Kalachev
42b1685546
Test simulation run with example pyflix script
2026-08-28 16:41:01 +03:00
Oleg Kalachev
11c5dc5676
Use new autopilot value for heartbeats - MAV_AUTOPILOT_FLIX
...
MAVLink-Arduino@2.0.33
2026-08-27 15:19:36 +03:00
Oleg Kalachev
b4c3d4084c
Test all the basic docs files exist
2026-08-22 21:55:21 +03:00
Oleg Kalachev
19b92060b3
Switch code style in Value definition a bit
2026-08-22 19:49:57 +03:00
Oleg Kalachev
de155a58ba
Simplify Makefile, always export binaries
2026-08-22 19:48:39 +03:00
Oleg Kalachev
a99dbe02b6
Merge remote-tracking branch 'origin/master' into dev
2026-08-22 16:02:38 +03:00
Oleg Kalachev
03084a672a
Refactor the console subsystem
...
Rename cli.ino => console.ino.
Rename handleInput => handleConsole.
Separate console initialization function.
Always use usb cdc by default on s3/c3 (no configuration needed).
2026-08-19 05:32:52 +03:00
Oleg Kalachev
36b58f26e5
Rename cli.ino to console.ino
2026-08-19 05:08:29 +03:00
Oleg Kalachev
b72c35f58c
Always use usb cdc by default on s3/c3
2026-08-19 05:04:12 +03:00
Oleg Kalachev
b6c0bebdeb
Better names for control parameters (breaking change)
...
Divide all parameters into attitude (ATT) and rates (RATE) control groups, which is much more obvious and clear.
Improves alphabetic sort representation.
Also makes more sense when filtering parameters using prefix in `p` command.
Remove i and d parameters for attitude control, since they are unlikely to be useful in practice.
2026-08-18 15:07:16 +03:00
Oleg Kalachev
e7100f03ce
Simplify and improve control code
...
Add lower bound desaturation.
Remove constrain calls as they are performed in motors subsystem.
2026-08-18 11:43:26 +03:00
Oleg Kalachev
e315e6f0ae
Simplify and improve control code
...
Add lower bound desaturation.
Remove constrain calls as they are performed in motors subsystem.
2026-08-18 11:00:59 +03:00
Oleg Kalachev
4625ee8a87
Merge remote-tracking branch 'origin/master' into dev
2026-08-18 09:27:25 +03:00
Oleg Kalachev
2fa2a36ec4
Switch to another variant of wait-on-check-action which is faster
2026-08-18 09:00:39 +03:00
Oleg Kalachev
f4610cf102
Apply changes from master
2026-08-18 08:59:49 +03:00
Oleg Kalachev
517b2cfef3
Update docs
...
Use nicer youtube video previews.
Add Robocamp 2026 section.
2026-08-18 08:47:17 +03:00
Oleg Kalachev
55655f4f1a
Use nicer youtube video previews in the docs
2026-08-18 08:27:55 +03:00
Oleg Kalachev
471d07d10f
Add robocamp 2026 to uses
2026-08-18 07:54:05 +03:00
Oleg Kalachev
07f2ebe289
Switch to another variant of wait-on-check-action which is faster
2026-08-18 06:58:58 +03:00
Oleg Kalachev
df42da1179
Download additional files for quadcopter.dev website
...
Add dispatch trigger for docs workflow for updating contents.
2026-08-18 06:50:51 +03:00
Oleg Kalachev
db86456367
Add additional files to website build
2026-08-18 06:01:47 +03:00
Oleg Kalachev
647d68f1b7
Rename motor indexes constant names
...
The original names are overly verbose.
Make motor pins disabled by default on all platforms except classic esp32.
Make config more clear.
2026-08-17 06:01:07 +03:00
Oleg Kalachev
58d160b15b
Rename motor indexes constant names
...
The original names are overly verbose.
2026-08-17 05:33:08 +03:00
Oleg Kalachev
5296531e20
pyflix@1.0.0
...
The library has already got some testing in the wild, so consider the api more or less stable.
2026-08-17 04:57:19 +03:00
Oleg Kalachev
452cddfa3d
Support rates feedforward in set_attitude_target in mavlink
...
Add rates_extra in flix.set_attitude in pyflix.
Simplify the code.
2026-08-17 04:33:09 +03:00
Oleg Kalachev
18933a3569
Rename control parameters (breaking)
...
Divide all parameters into attitude (ATT) and rates (RATES) control groups, which is more obvious and clear.
2026-08-17 01:11:52 +03:00
Oleg Kalachev
bbe753add0
Enable motor pins only for classic esp32 by default
...
Also simplify flix2 config code.
2026-08-16 01:26:34 +03:00
Oleg Kalachev
d825652a71
Docs fix
...
Reflect lpf.h was renamed to filter.h
2026-08-16 00:10:47 +03:00
Oleg Kalachev
815ccfc08f
Docs fix
2026-08-16 00:10:19 +03:00
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
3f11fa11e8
Test simulation run
2026-08-14 09:41:35 +03:00
Oleg Kalachev
a05e35540e
Bring back simpler version of Value::set
2026-08-14 06:18:17 +03:00
Oleg Kalachev
6098293776
Utilize Value class in parameters for
...
Now bool parameters also may be used.
2026-08-14 06:11:43 +03:00
Oleg Kalachev
2d1efac05f
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 05:57:58 +03:00
Oleg Kalachev
f99a9998b1
Add rates_extra argument to pyflix' set_attitude method
...
For controlling rates feed forward.
2026-08-14 05:32:39 +03:00
Oleg Kalachev
4d77c6c369
Simply set_attitude_target handler
...
Rates ignore flags are efficiently the same as zeros, so can be ignored.
2026-08-14 05:21:45 +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
94c70994b6
Fix simulation run
2026-08-14 04:19:25 +03:00
Oleg Kalachev
78be5b3a8d
Minor changes
2026-08-14 03:15:27 +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
9b1f0bd593
Remove test line
2026-08-14 03:04:00 +03:00
Oleg Kalachev
fd8bf03cc7
Update all used actions
...
Some of them were deprecated.
2026-08-14 02:35:34 +03:00
Oleg Kalachev
b72a10dd7b
Trigger build
2026-08-14 02:25:29 +03:00
Oleg Kalachev
d2d1c74842
Update all used actions
...
Some of them were deprecated.
2026-08-14 01:51:21 +03:00
Oleg Kalachev
7308159b74
Show cloc diff with the previous commit
2026-08-14 01:41:57 +03:00
Oleg Kalachev
87ce9c20cb
Count and print sloc count in tools workflow
2026-08-14 01:30:51 +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
d6b9228282
Fix default windup value in pid
...
INFINITY makes much more sense, since otherwise i term would be ineffective at all by default
2026-08-13 02:21:03 +03:00
Oleg Kalachev
f355cc2938
Upload binaries to docs only in my repo and in master and dev branches
2026-08-12 07:19:23 +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
0139d71b12
Show git hash commit in sys command
2026-08-12 01:58:13 +03:00
Oleg Kalachev
58da0b9959
Add binaries to the docs only of DOCS_BINARIES repo variable is truthy
2026-08-11 21:28:16 +03:00
Oleg Kalachev
355f4ad49d
Merge remote-tracking branch 'origin/master' into dev
2026-08-11 18:43:18 +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
55398a660d
Remove unused variable
2026-08-11 04:59:54 +03:00
Oleg Kalachev
63bbea4d8b
Fix
2026-08-11 02:26:20 +03:00
Oleg Kalachev
5543a363b3
Add yaw rate windup parameter
2026-08-11 01:56:49 +03:00
Oleg Kalachev
363c756c00
Fix windup for yaw rate
2026-08-11 01:56:41 +03:00
Oleg Kalachev
57b853361c
Fix motor pins for Flix2
2026-08-11 01:55:56 +03:00
Oleg Kalachev
ce37e5b724
Simplify parameter defaults definition
2026-08-11 00:48:10 +03:00
Oleg Kalachev
36b050a896
Add config for Flix2 board
2026-08-10 03:52:57 +03:00
Oleg Kalachev
93ebf75a44
Fix
2026-08-10 03:51:16 +03:00
Oleg Kalachev
a60c84ce7a
Forgotten image
2026-08-10 03:45:38 +03:00
Oleg Kalachev
ae8931cb25
Move most parameter defaults to config.h
2026-08-10 03:45:28 +03:00
Oleg Kalachev
e6072b0bc4
Make i and d arguments optional in pid constructor
2026-08-10 03:43:37 +03:00
Oleg Kalachev
67e772a23f
Update wait-on-check-action version
2026-08-10 03:33:27 +03:00
Oleg Kalachev
04a24c4939
Add minor comment
2026-08-10 03:27:23 +03:00
Oleg Kalachev
f62e176313
Update the docs to reflect possibility for using prebuilt binaries
2026-08-10 03:17:32 +03:00
Oleg Kalachev
8ae06eef85
Docs updates
2026-08-10 03:16:54 +03:00
Oleg Kalachev
9a17ca848d
Simplify
2026-08-10 02:41:53 +03:00
Oleg Kalachev
b8f93becca
Make Rate always trigger on first step
2026-08-10 02:31:54 +03:00
Oleg Kalachev
5fc2143994
Make brushless motors separated block to avoid confusion
2026-08-10 02:31:14 +03:00
Oleg Kalachev
b7102d395c
Make default fqbn plain esp32
...
It works on d1 as well
2026-08-10 02:15:30 +03:00
Oleg Kalachev
58ea75d335
Fixes
2026-08-10 01:18:29 +03:00
Oleg Kalachev
93b3077fa7
Add I2C pin parameters
2026-08-09 23:59:45 +03:00
Oleg Kalachev
4c74768131
Fixes
2026-08-09 22:42:14 +03:00
Oleg Kalachev
9880eeccd3
Disable imu by default
2026-08-09 20:41:03 +03:00
Oleg Kalachev
a26d096dc0
Disable motors by default
2026-08-09 20:40:58 +03:00