121 Commits

Author SHA1 Message Date
Oleg Kalachev
6e140d673c Cleanup unused utility functions 2024-12-05 08:29:21 +03:00
Oleg Kalachev
172b6becc6 Use new FlixPeriph library with ICM-20948 support 2024-12-04 14:41:23 +03:00
Oleg Kalachev
475e9a87ba Configure IMU before calibrating the gyro which improves calibration 2024-12-04 12:25:07 +03:00
Oleg Kalachev
ea141f851f Use 'loop rate' term instead of misleading 'loop frequency' 2024-12-04 07:00:00 +03:00
Oleg Kalachev
048a3c6375 Use the new UART2 pins for RC by default
To make it consistent with the documentation
2024-11-27 23:02:20 +03:00
Oleg Kalachev
a7b69f99d0 Fix non-working motor control commands 2024-11-24 00:17:47 +03:00
Oleg Kalachev
b015c15a7e Remove non-working fullmot command 2024-11-24 00:10:37 +03:00
Oleg Kalachev
eca48c6546 Minor fix 2024-11-04 16:28:54 +03:00
Oleg Kalachev
cd5f6721dc Updates to LED control code
Don't call digitaWrite on each setLED call
2024-11-04 16:28:43 +03:00
Oleg Kalachev
6327585754 Print accel calibration parameters in more convenient way 2024-11-04 14:37:05 +03:00
Oleg Kalachev
ec832d4e37 Implement RC fail-safe 2024-11-04 11:51:17 +03:00
Oleg Kalachev
2fdad7bdb6 Remove LED horizontality signalization
It's better to control the attitude estimation using QGC
2024-11-03 17:41:13 +03:00
Oleg Kalachev
ad2c64625c Print the IMU information in imu command 2024-10-31 10:24:00 +03:00
Oleg Kalachev
abcc9b96de Use FLU as the main coordinate system instead of FRD
Corresponding to the IMU orientation in the new version
2024-10-23 09:30:49 +03:00
Oleg Kalachev
f46460e53d Make RC_CHANNELS=16 corresponding the number of SBUS channels 2024-10-23 09:28:09 +03:00
Oleg Kalachev
23f3295439 Remove ESC support and add MOSFET support in motors code
The new version uses MOSFETs
2024-10-23 09:27:54 +03:00
Oleg Kalachev
b0b6eb9a97 Minor code cleanups and clarifications 2024-10-23 09:25:39 +03:00
Oleg Kalachev
84a329cca7 More clean yaw error calculation 2024-10-23 09:25:07 +03:00
Oleg Kalachev
5613028678 Enable Wi-Fi by default 2024-10-23 09:24:58 +03:00
Oleg Kalachev
bed5d79db8 Add comments to motor pins 2024-07-30 07:49:21 +03:00
Oleg Kalachev
e993dde355 Update ESP32 Arduino Core to v3.0.3 2024-07-25 02:45:59 +03:00
Oleg Kalachev
fbe33eac1b Set gyro limits to 2000 DPS by default 2024-05-24 14:46:38 +03:00
Oleg Kalachev
7cfcf5b63b Use more natural torqueTarget order in mixer (xyz) 2024-05-21 10:52:39 +03:00
Oleg Kalachev
94d24cbd28 Fix PWM values for reverse rotations 2024-05-21 10:51:45 +03:00
Oleg Kalachev
be3d2be9d3 Fix Vector::angularRatesBetweenVectors return NaNs on opposite vectors 2024-05-21 10:50:47 +03:00
Oleg Kalachev
ad6bc02643 Minor fixes and changes 2024-05-21 10:49:57 +03:00
Oleg Kalachev
41a9a95747 Transfer gyro low pass filter to estimate.ino
Separate raw gyro data and filtered rates to different variables
2024-04-20 14:52:01 +03:00
Oleg Kalachev
24e8569905 Make Vector methods arguments more consistent 2024-04-20 10:57:32 +03:00
Oleg Kalachev
d095b81d7e Print out loop frequency on imu command 2024-04-02 22:28:02 +03:00
Oleg Kalachev
28a6bf2230 Add info about motors testing commands to intro message 2024-03-30 18:23:42 +03:00
Oleg Kalachev
646fa46f6b Use FlixPeriph library for SBUS 2024-03-17 02:29:37 +03:00
Oleg Kalachev
f782f647cb Correctly restore IMU settings after accel calibration 2024-03-15 13:26:59 +03:00
Oleg Kalachev
32f29dc1a4 Use default SPI CS pin for IMU 2024-03-15 13:14:28 +03:00
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