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
Oleg Kalachev
8c9bff0813
Make motor indexes definition const int and move them to motors.ino
...
Remove motor indexes definitions from flix.ino
Add motors.ino to simulation code and implement required mocks
2025-01-09 11:17:44 +03:00