426 Commits

Author SHA1 Message Date
Oleg Kalachev
d47c0dbbc7 Bump version to 0.5 2025-07-22 14:03:01 +03:00
Oleg Kalachev
dd1b921686 Make work on Python 3.8+ 2025-07-22 14:02:50 +03:00
Oleg Kalachev
f91776d747 Fix controls check 2025-07-22 14:02:38 +03:00
Oleg Kalachev
95e315aa5b Fix modes 2025-07-22 14:02:30 +03:00
Oleg Kalachev
0533d2716d Mark non-last print chunks in buffer with 'multi' flag 2025-07-22 13:53:29 +03:00
Oleg Kalachev
a9ede4c90f Pass mode to heartbeat 2025-07-22 13:52:45 +03:00
Oleg Kalachev
41f1661231 Add script for remote log downloading 2025-07-22 13:52:26 +03:00
Oleg Kalachev
10ab7862a0 Remove redundant cli methods, add 'reboot' command hack 2025-07-22 13:52:11 +03:00
Oleg Kalachev
764e5159d0 Add correct note on usage alongside QGroundControl 2025-07-22 13:51:21 +03:00
Oleg Kalachev
ccd625d669 Fixes in readme 2025-07-22 13:50:55 +03:00
Oleg Kalachev
49c0616171 Update readme 2025-07-22 13:49:56 +03:00
Oleg Kalachev
b6b62c775d Add dists to gitignore 2025-07-22 13:49:21 +03:00
Oleg Kalachev
ff39ffa46c Add proxy for running alongside QGroundControl 2025-07-22 13:12:15 +03:00
Oleg Kalachev
03600dbaba Minor fixes 2025-07-22 13:10:51 +03:00
Oleg Kalachev
8200c48351 Fix readme and version 2025-07-22 13:09:51 +03:00
Oleg Kalachev
6c729f0936 Describe logging config 2025-07-22 13:09:29 +03:00
Oleg Kalachev
b4670fbf3f Add readme to package 2025-07-22 08:59:57 +03:00
Oleg Kalachev
570dc6eac9 Add pyflix library 2025-07-21 17:32:36 +03:00
Oleg Kalachev
779fa13e80 Increase connection timeout for arduino-cli as it prevents some users from downloading the core 2025-07-21 11:12:47 +03:00
Oleg Kalachev
5eccb3f0c4 Fix rates, acc and gyro coordinate frame in mavlink
All of them should be in frd.
Get rid of fluToFrd function - there is no big need for it.
2025-07-19 05:32:49 +03:00
Oleg Kalachev
29f1a2b22b Minor fixes to builds list 2025-07-18 14:19:43 +03:00
Oleg Kalachev
1d4ce810a9 Add chkroko's bldc build 2025-07-18 12:14:42 +03:00
Oleg Kalachev
32874b92fd Minor fixes 2025-07-14 12:05:16 +03:00
Oleg Kalachev
6b38070e43 Rename printIMUCal to printIMUCalibration for consistency with rc 2025-07-14 12:04:02 +03:00
Oleg Kalachev
52819e403b Major rework of rc subsystem
Implement channels mapping calibration.
Store mapping in parameters.
Get rid of `controls` array and store control inputs in `controlRoll`, `controlPitch`, ... variables.
Move `channels` variable to rc.ino, channels are not involved when controled using mavlink.
'Neutral' values are renamed to 'zero' - more precise naming.
`controlsTime` is renamed to `controlTime`.
Use unsigned values for channels.
Make channel values in simulation more alike to real world: unsigned values in range [1000, 2000].
Send RC_CHANNELS_RAW instead of RC_CHANNELS_SCALED via mavlink
Don't send channels data via mavlink if rc is not used
2025-07-14 12:01:29 +03:00
Oleg Kalachev
449dd44741 Fix storing nans and infs in preferences in simulator
Turns out file streams cannot parse nans and infs on some platforms, so use std::stof to parse.
2025-07-14 09:52:49 +03:00
Oleg Kalachev
e389d717d6 Show unspecified core as * in sys command 2025-07-13 11:12:54 +03:00
Oleg Kalachev
ea8463ed70 Fixes in firmware variables description 2025-07-12 10:07:52 +03:00
Oleg Kalachev
85afe405cb Improve pause function work
Fix disconnecting from qgc while pausing in the simulation. 
Consider total delay time in micros() in simulation to increase t while delaying.
Simplify and get rid of ARDUINO macro check.
2025-07-12 09:29:47 +03:00
Oleg Kalachev
fd4bcbeb89 Minor changes 2025-07-10 07:27:53 +03:00
Oleg Kalachev
121b50d896 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-03 03:46:11 +03:00
Oleg Kalachev
48c7135efb Return zero rotation vector when converting neutral quaternion
Previously it would return nans
2025-07-01 02:48:49 +03:00
Oleg Kalachev
9229b743eb Add missing equals and non-equals operators for quaternion lib 2025-07-01 02:47:01 +03:00
Oleg Kalachev
52d31ba7a5 Add missing includes to Arduino.h to make build more portable 2025-07-01 02:38:47 +03:00
Oleg Kalachev
f11ab2dc16 Add info on mpu-6050 2025-06-30 12:29:07 +03:00
Oleg Kalachev
93383cc7f9 Add chkroko's build 2025-06-19 13:25:01 +03:00
Oleg Kalachev
389cfb94ab Add missing newlines to initialization prints 2025-06-19 13:19:00 +03:00
Oleg Kalachev
045f2c5ed5 Minor docs changes 2025-06-19 13:19:00 +03:00
Oleg Kalachev
31f5e1efbb Upload built firmware binaries as artifact 2025-06-02 02:32:27 +03:00
Oleg Kalachev
2d77317abc Minor fixes in book 2025-05-31 16:56:05 +03:00
Oleg Kalachev
963cbe09dd Minor fix in book 2025-05-31 13:15:25 +03:00
Oleg Kalachev
98fc0cf5b4 Add quaternion and vector chapter to book 2025-05-31 12:46:33 +03:00
Oleg Kalachev
6b7601c0bd 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-05-31 04:17:00 +03:00
Oleg Kalachev
929bdd1f35 Minor fixes in book 2025-05-31 03:29:44 +03:00
Oleg Kalachev
660913f8bb Remove version 0 section from the readme 2025-05-23 17:17:27 +03:00
Oleg Kalachev
25e3056891 Add disclaimer to readme 2025-05-23 16:47:04 +03:00
Oleg Kalachev
be7b6ec0c9 Fix simulator build 2025-05-16 05:02:27 +03:00
Oleg Kalachev
9c8c0e2578 Minor code updates 2025-05-15 09:22:17 +03:00
Oleg Kalachev
7e5a75a01f Revert sending mavlink udp packets in unicast
This requires more complex approach as client ip may change between reconnections
2025-05-10 05:45:57 +03:00
Oleg Kalachev
2bcab6edb3 Make cli command case insensitive
iOS QGC capitalizes the command by default, so it's more convinient
2025-05-10 05:15:54 +03:00