Commit Graph
638 Commits
Author SHA1 Message Date
Oleg Kalachev 2964e8fef7 Simplify makefile
There is no reason to use :=
2026-08-28 19:35:44 +03:00
Oleg Kalachev 68eb523beb Add tests to ci
Test pyflix and simulation using pytest.
Fix running the sim in non-tty environment.
Test presence of some essential files in the docs.
2026-08-28 19:29:40 +03:00
Oleg Kalachev a77f213538 Add timeout parameter for pyflix constructor 2026-08-28 19:26:35 +03:00
Oleg Kalachev dd2d185bc7 Fix pyflix examples reflecting control parameters rename 2026-08-28 17:53:22 +03:00
Oleg Kalachev 3cba73fada Use new autopilot value for heartbeats - MAV_AUTOPILOT_FLIX
MAVLink-Arduino@2.0.33
https://github.com/mavlink/mavlink/pull/2580
2026-08-27 13:44:19 +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 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 2fa2a36ec4 Switch to another variant of wait-on-check-action which is faster 2026-08-18 09:00:39 +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 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 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 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 d825652a71 Docs fix
Reflect lpf.h was renamed to filter.h
2026-08-16 00:10:47 +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 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