Commit Graph

138 Commits

Author SHA1 Message Date
Oleg Kalachev
2cf1c7abb3 Use FlixPeriph library for IMU, implement own IMU calibration 2024-03-15 10:38:48 +03:00
Oleg Kalachev
d752cce0cc Fix accel calibration upside down wait time 2024-03-12 00:36:53 +03:00
Oleg Kalachev
34a81536c2 Fix reverse motors pwm 2024-03-02 15:37:38 +03:00
Oleg Kalachev
1c9b10a674 Use default recommended chip-select pin (GPIO5) for SPI
Update link to the schematics #3 to the most recent version
2024-02-24 15:28:41 +03:00
Oleg Kalachev
ab2f99ab59 Simplify making user modes for control, add USER mode 2024-02-22 03:09:12 +03:00
Oleg Kalachev
5ec6b5e665 Make fromEulerZYX accept Vector instead of x, y, z 2024-02-20 04:51:59 +03:00
Oleg Kalachev
85182ac2b8 Use more correct implementation of toEulerZYX fixing some yaw issues
We actually need to use Tait–Bryan Z-Y-X angles, not classic Euler's
2024-02-20 04:47:13 +03:00
Oleg Kalachev
455729fdb4 Improve log download: remove empty records, sort by timestamp
To make Plotjuggler not to warn about unsorted records everytime
2024-02-18 01:23:33 +03:00
Oleg Kalachev
33319db1fa Make rates LPF cut-off frequency equal to 40 Hz 2024-02-07 10:49:31 +03:00
Oleg Kalachev
ba6e63b50b Correctly set output parameters of simulated SBUS::read, minor name fix 2024-02-06 21:02:20 +03:00
Oleg Kalachev
410fccf015 Fix vector, quaternion, pid and lpf libraries curly braces code style 2024-02-06 13:50:56 +03:00
Oleg Kalachev
31d382dd86 Simplify motors pwm calculation using unified value for all motors 2024-02-06 10:49:48 +03:00
Oleg Kalachev
0661aecccf Remove unneeded INVERT_SERIAL define 2024-02-04 14:42:57 +03:00
Oleg Kalachev
2694f68b87 Add yaw dead zone in mavlink control 2024-01-31 12:05:49 +03:00
Oleg Kalachev
033e74a375 Minor code cleanups 2024-01-31 12:05:25 +03:00
Oleg Kalachev
a24f039f1d Fix RC_CHANNELS_SCALED inactive channel values
They should be INT16_MAX not UINT16_MAX
2024-01-31 12:04:44 +03:00
Oleg Kalachev
69cfc9e5fa Utilize internal ESP32 UART invertor for SBUS 2024-01-26 13:46:13 +03:00
Oleg Kalachev
ed6d09061b Rename RC_CHANNEL_AUX to RC_CHANNEL_ARMED 2024-01-19 05:19:41 +03:00
Oleg Kalachev
26a028ff66 Use only STAB mode by default 2024-01-19 05:16:44 +03:00
Oleg Kalachev
2d365dcffe Minor fixes 2024-01-19 05:14:12 +03:00
Oleg Kalachev
c22961e5ff Don't calibrate gyro on start since MPU9250 library does that on begin 2024-01-19 05:05:49 +03:00
Oleg Kalachev
172f6b173a MAVLink input support (control using mobile phone) 2024-01-17 15:39:40 +03:00
Oleg Kalachev
8e629e3eea Minor cleanups 2024-01-17 15:20:38 +03:00
Oleg Kalachev
482bb8ed71 Disable ESP32 reset on low voltage 2024-01-17 15:18:11 +03:00
Oleg Kalachev
9ed41e50a1 Fix actuator_output mavlink message generation 2024-01-13 22:53:30 +03:00
Oleg Kalachev
f4aaf0f4f3 Use radians macro, minor change 2024-01-12 00:43:52 +03:00
Oleg Kalachev
1ed05a94dd Minor code cleanups 2024-01-08 22:33:11 +03:00
Oleg Kalachev
476f24f774 Clarify rates control code 2024-01-06 00:08:30 +03:00
Oleg Kalachev
7a62229125 Minor cleanups 2024-01-05 15:11:07 +03:00
Oleg Kalachev
82f3ab563a #1 - use MAVLink Arduino library 2024-01-04 12:57:15 +03:00
Oleg Kalachev
2fbebe102e Define ESP32 Dev Module LED pin 2024-01-03 16:09:43 +03:00
Oleg Kalachev
f520b57abe Implement RC calibration, common for the real drone and the simulation 2024-01-02 11:54:09 +03:00
Oleg Kalachev
d2296fea76 Change C++ code style: put curly brace on the same line 2023-12-29 18:56:25 +03:00
Oleg Kalachev
3207fdb43c Minor changes 2023-12-29 18:43:34 +03:00
Oleg Kalachev
343935f98c Minor fixes 2023-12-19 22:00:30 +03:00
Oleg Kalachev
189eac95ef Enable gyro calibration on the start 2023-12-19 11:36:27 +03:00
Oleg Kalachev
fde9c1cf36 Minor changes and cleanups 2023-12-19 05:25:57 +03:00
Oleg Kalachev
a174d5cd7d Headers cleanups 2023-12-19 05:06:19 +03:00
Oleg Kalachev
d3e7291197 Guard for angleBetweenVectors function to ensure it doesn't return NaN 2023-12-19 04:58:20 +03:00
Oleg Kalachev
57e83040b8 Apply accelerometer in estimation only when we're landed and stable
Accelerometer gives only motors specific force in flight, which makes
it useless to determine the current vertial
2023-12-19 04:46:59 +03:00
Oleg Kalachev
a9bcec2fa5 Main sdf cleanups, minor fix 2023-12-15 09:43:54 +03:00
Oleg Kalachev
f118bca6d1 Correctly fill armed field in heartbeat mavlink message 2023-12-15 09:35:54 +03:00
Oleg Kalachev
d3e715ae53 Quaternion library cleanups and code style 2023-12-13 08:42:03 +03:00
Oleg Kalachev
997af183f0 Implement lacking vector division operator 2023-12-13 08:38:26 +03:00
Oleg Kalachev
2c21114540 Refactor control, remake controlManual to controlTorque 2023-12-13 08:33:35 +03:00
Oleg Kalachev
4fcf2109ce Simplify code using angularRatesBetweenVectors 2023-12-13 08:25:11 +03:00
Oleg Kalachev
24b62e5145 Move controlManual down 2023-12-13 08:06:15 +03:00
Oleg Kalachev
f37015a97f Temporary remove controlManual to paste it bellow 2023-12-13 08:05:44 +03:00
Oleg Kalachev
cb27e0f61f Cleanups 2023-12-13 07:59:08 +03:00
Oleg Kalachev
46579ce8a4 Better code for yaw target 2023-12-13 07:49:57 +03:00