311 Commits

Author SHA1 Message Date
Oleg Kalachev
cfb0f17a9a Minor cli change 2025-07-15 01:29:25 +03:00
Oleg Kalachev
d61948ec9c Rename printIMUCal to printIMUCalibration for consistency with rc 2025-07-15 01:25:10 +03:00
Oleg Kalachev
0c87d4d634 Port changes from commit 52819e4 2025-07-15 01:22:18 +03:00
Oleg Kalachev
4d1f9de872 Remove unnecessary documentation files 2025-07-10 06:14:22 +03:00
Oleg Kalachev
cf3d4d7ced Increase motors pwm frequency to 78Khz
1000 Hz is too low frequency considering the update loop for motors signal is also 1000 Hz.
Decrease resolution as it's required to set larger pwm frequencies.
This change should vastly improve control jitter and remove audible motors noise.
2025-07-10 06:08:37 +03:00
Oleg Kalachev
443e5213f0 Return zero rotation vector when converting neutral quaternion
Previously it would return nans
2025-07-10 06:07:16 +03:00
Oleg Kalachev
f24db96b50 Add missing equals and non-equals operators for quaternion lib 2025-07-10 06:07:08 +03:00
Oleg Kalachev
86305a08f8 Add missing newlines to initialization prints 2025-07-10 06:06:46 +03:00
Oleg Kalachev
21dcb39b7e Improve vector and quaternion libraries
Make the order or basic methods consistent between Vector and Quaternion.
Remove `ZYX` from Euler method names as this is standard for robotics.
Rename angular rates to rotation vector, which is more correct.
Make rotation methods static, to keep the arguments order consistent.
Make `Quaternion::fromAxisAngle` accept Vector for axis.
Minor fixes.
2025-07-10 06:02:38 +03:00
Oleg Kalachev
c08c89f667 Minor code updates 2025-07-10 05:58:50 +03:00
Oleg Kalachev
114d2305de Make wi-fi code more consistent between the firmware and simulation 2025-07-10 05:54:52 +03:00
Oleg Kalachev
a93e046117 Make sending udp packets much faster
Turns out parsing IP address string is very slow
2025-05-07 17:43:43 +03:00
Oleg Kalachev
e6e4db0c4f Update ESP32-Core to 3.2.0 2025-05-07 17:41:48 +03:00
Oleg Kalachev
d8fbc193c1 Make accelerometer calibration more verbose
Print the number of each calibration step
2025-05-07 17:40:31 +03:00
Oleg Kalachev
dcd95176b4 Make low pass filter formula more straightforward 2025-04-30 00:16:16 +03:00
Oleg Kalachev
b7cebbb3d6 Add some missing operator for vector library 2025-04-30 00:16:02 +03:00
Oleg Kalachev
a6ccd236de Fix simulation build in Actions
Switched runner to Ubuntu 22.04 since Gazebo 11 now has binaries for 22.04 (amd64 only).
Changed the building tutorial to reflect that.
2025-04-29 23:02:56 +03:00
Oleg Kalachev
e7a06b9413 Minor code simplifications 2025-04-29 23:01:59 +03:00
Oleg Kalachev
678bc7238e Update MAVLink-Arduino to 2.0.16 2025-04-29 23:01:46 +03:00
Oleg Kalachev
6670b4f358 Simplify and improve acc calibration command output 2025-04-29 23:01:09 +03:00
Oleg Kalachev
7f80a8a58d Remove twxs.cmake from the list of recommended extensions 2025-04-29 22:59:32 +03:00
Oleg Kalachev
2bd74e7f6f Minor code style fix 2025-04-29 22:59:09 +03:00
Oleg Kalachev
d378d01dbc Encode if the mode in stabilized in heartbeat message 2025-04-29 22:58:54 +03:00
Oleg Kalachev
e8341976f6 Cleanup 2025-03-01 00:02:44 +03:00
Oleg Kalachev
f2aae92f1e Cleanups and updates 2025-02-28 23:58:31 +03:00
Oleg Kalachev
0a7ed1039f Rename flu to frd function to match the code style 2025-02-28 23:39:03 +03:00
Oleg Kalachev
d4d1797ffc Update main readme for the minimal version 2025-02-28 23:22:03 +03:00
Oleg Kalachev
209986b9cd Change accel calibration code style a bit 2025-02-28 23:15:02 +03:00
Oleg Kalachev
32cdbba2a1 Remove dt multiplier from acc correction and increase acc weight
More classical complementary filter implementation
Increase effective accelerometer weight for faster convergence
2025-02-28 23:13:44 +03:00
Oleg Kalachev
dd1ea4f604 Cleanup mavlink subsystem code 2025-02-28 23:12:57 +03:00
Oleg Kalachev
5fc30dbd8a Put last control time in RC control mavlink message instead of send time 2025-02-28 23:08:40 +03:00
Oleg Kalachev
51fa5a6cac Simplify and fix code 2025-02-28 23:07:37 +03:00
Oleg Kalachev
75127eb6f8 Remove non-nessesary printArray function 2025-02-28 23:06:12 +03:00
Oleg Kalachev
89c1ada005 Remove command parsing to simplify the code 2025-02-28 23:02:02 +03:00
Oleg Kalachev
6058e8ecab Refactor CLI submodule
Move command parsing to doCommand
Parse command with splitString instead of stringToken
Trim commands
Move cliTestMotor to the bottom
Rename parseInput to handleInput, which is more clear
Move motor test function to motors.ino
Remove parameters table functionality to simplify the code
2025-02-28 22:49:37 +03:00
Oleg Kalachev
67e4a95697 Minor fix in joystick support for simulation
Don't use channels variable as it breaks code isolation
2025-02-28 22:30:29 +03:00
Oleg Kalachev
fafe630e4c Improve RC reading in calibration process 2025-02-28 22:29:36 +03:00
Oleg Kalachev
5ff44db8dd Simplify WIFI_ENABLED macro test 2025-02-28 22:28:44 +03:00
Zatupitel
2b15812483 Fix working on ESP32-S3 (#8)
Disable brown-out detector in a more correct way: clear only enable bit instead of clearing the whole register.

---------

Co-authored-by: Oleg Kalachev <okalachev@gmail.com>
2025-02-28 22:28:10 +03:00
Oleg Kalachev
dbfbe11478 Add test on building the firmware without Wi-Fi to Actions 2025-02-28 22:26:05 +03:00
Oleg Kalachev
41b5932a5d Move SBUS RC declaration to the top 2025-02-28 22:25:27 +03:00
Oleg Kalachev
add03482aa Minor cleanups and fixes 2025-02-28 22:24:15 +03:00
Oleg Kalachev
32c4875ca1 Increase pwm frequency and resolution 2025-02-28 22:22:39 +03:00
Oleg Kalachev
07c5ae19dd Update upload-artifact action to fix build 2025-02-28 22:21:53 +03:00
Oleg Kalachev
d60968ea25 Remove RC_CHANNELS macro 2025-02-28 22:19:52 +03:00
Oleg Kalachev
03c6576b72 Move controlsTime variable to rc.ino 2025-01-11 01:17:11 +03:00
Oleg Kalachev
59a8a80cce Minor cleanup 2025-01-10 07:15:38 +03:00
Oleg Kalachev
5530ad2981 Move loopRate to time.ino 2025-01-10 07:15:15 +03:00
Oleg Kalachev
f9e1802bc0 Make util module header instead of .ino-file 2025-01-10 07:02:00 +03:00
Oleg Kalachev
ddc46c049f Make ONE_G definition const and move to utils.ino 2025-01-09 11:31:33 +03:00