Commit Graph
100 Commits
Author SHA1 Message Date
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
Oleg Kalachev 8a91201cf4 Add targets with psram 2026-08-09 06:35:54 +03:00
Oleg Kalachev 51ca049b97 Download binaries to docs site 2026-08-09 04:23:16 +03:00
Oleg Kalachev 2decd2d6dd Fix simulation build 2026-08-08 02:19:38 +03:00
Oleg Kalachev abb2e9f79b Use up-to-date method for installing arduino-cli in simulator ci 2026-08-08 02:19:28 +03:00
Oleg Kalachev 6c907b77f6 Fix simulation build 2026-08-08 01:31:41 +03:00