Oleg Kalachev
18bacb64f3
Make rc loss timeout longer
2025-07-31 12:35:28 +03:00
Oleg Kalachev
7e8bd3e834
Minor updates
2025-07-28 22:07:33 +03:00
Oleg Kalachev
bb0643e8c6
Add missing set_velocity method stub to pyflix
2025-07-28 22:06:30 +03:00
Oleg Kalachev
32f417efae
Updates in pyflix
...
Rename mav_to to system_id to match firmware naming.
Readme updates.
2025-07-24 09:15:44 +03:00
Oleg Kalachev
018a6d4fce
Add repository field to python library
2025-07-22 17:21:51 +03:00
Oleg Kalachev and GitHub
1f47aa6d62
Add Python library ( #20 )
2025-07-22 14:17:08 +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
Oleg Kalachev
df2b10acd4
Make wi-fi code more consistent between the firmware and simulation
2025-05-10 05:13:57 +03:00
Oleg Kalachev
31d6636754
Send mavlink udp packets in unicast after connected
...
Tests and research show this is more efficient way of sending telemetry
2025-05-10 05:08:04 +03:00
Oleg Kalachev
b143c2f1b3
Add recommended 3D printing settings to readme
2025-05-09 06:55:28 +03:00
Oleg Kalachev
a491b28201
Make sending udp packets much faster
...
Turns out parsing IP address string is very slow
2025-05-06 04:32:36 +03:00
Oleg Kalachev
4a4642bcf6
Update ESP32-Core to 3.2.0
2025-05-06 03:52:46 +03:00
Oleg Kalachev
81037d94ec
Some cli improvements
...
Improve loop rate formatting
Show cpu temperature in sys command
2025-05-06 03:16:45 +03:00
Oleg Kalachev
965813e8f0
Use interrupts instead of polling for main loop
2025-05-05 13:58:23 +03:00
Oleg Kalachev
94c2d399b3
Add sys command
...
Show ESP32 model and free heap
Show tasks table with stack and cpu usage
2025-05-05 04:32:41 +03:00
Oleg Kalachev
21dc47c472
Make mavlink print buffered
...
Combine all output of each step into one SERIAL_CONTROL message
2025-05-05 00:44:06 +03:00
Oleg Kalachev
4b938e8d89
Make accelerometer calibration more verbose
...
Print the number of each calibration step
2025-05-05 00:38:08 +03:00
Oleg Kalachev
67efcdd08a
Remove unused macro
...
MAVLINK_CONTROL_SCALE is now parameter
2025-05-04 00:03:38 +03:00
Oleg Kalachev
d1d10c4c6c
Updates to readme and documentation
2025-04-30 00:05:52 +03:00
Oleg Kalachev
4e0a1fcdab
Update simulator illustration
2025-04-29 23:37:34 +03:00
Oleg Kalachev
5165355abc
Make low pass filter formula more straightforward
2025-04-29 23:28:56 +03:00
Oleg Kalachev
a268475f7a
Add notice about firewall and vpn to troubleshooting
2025-04-29 23:22:40 +03:00
Oleg Kalachev
c14fe7c48b
Add some missing operator for vector library
2025-04-29 23:21:12 +03:00
Oleg Kalachev
b2736e6a5b
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-24 19:38:47 +03:00
Oleg Kalachev
962757f46e
Update user builds illustration in readme
2025-04-23 20:10:29 +03:00
Oleg Kalachev
f03dec4fae
Update demo video
2025-04-22 11:27:29 +03:00
Oleg Kalachev
fe98a5bf97
Minor code simplifications
2025-04-13 01:42:47 +03:00
Oleg Kalachev
253f2fe3dd
Update MAVLink-Arduino to 2.0.16
2025-04-11 07:01:54 +03:00
Oleg Kalachev
94dc566643
Show landed state in imu command output
2025-03-29 16:19:23 +03:00
Oleg Kalachev
547f5087ef
Pass landed state to mavlink
...
Using EXTENDED_SYS_STATE message
2025-03-29 16:14:37 +03:00
Oleg Kalachev and GitHub
66a43ab246
Continuous gyro bias estimation ( #17 )
...
Estimate gyro bias continuously instead of calibrating the gyro at startup.
2025-03-29 12:21:40 +03:00
Oleg Kalachev
117ae42d1b
Add Wi-Fi password to build tutorial
2025-03-29 12:02:59 +03:00
Oleg Kalachev
3a61dca102
Simplify and improve acc calibration command output
2025-03-29 01:05:55 +03:00
Oleg Kalachev
a8fe1324c3
Minor readme update
2025-03-28 20:50:23 +03:00
Oleg Kalachev
fc0b805cc2
Add cryptokobans's build to user projects
2025-03-28 18:23:09 +03:00
Oleg Kalachev
d68222953d
Simplify user builds article layout: remove tables
...
Tables make photos squeezed in phones
2025-03-27 18:56:35 +03:00
Oleg Kalachev
bca1312b46
Remove twxs.cmake from the list of recommended extensions
2025-03-14 03:24:30 +03:00
Oleg Kalachev
d5148d12a1
Minor code style fix
2025-03-14 03:03:27 +03:00
Oleg Kalachev
208e50aa15
Encode if the mode in stabilized in heartbeat message
2025-03-14 03:02:43 +03:00
Oleg Kalachev
0a87ccf435
Some minor readme updates
2025-03-01 00:27:55 +03:00
Oleg Kalachev
3fdebf39d8
Fix mavlink disconnection in pauses in cli commands
...
Implement pause function that proceeds processing mavlink.
Use temporal workaround for simulation, as micros function gives the same result on the same simulation step.
2025-02-28 19:25:41 +03:00
Oleg Kalachev
5bf2e06c5a
Use natural order of ino files includes in simulation
...
In Arduino, ino files are included in alphabetical order.
Cleanup unused function declarations in simulation, add missing.
Rename flu to frd function to match the code style.
2025-02-28 19:06:58 +03:00
Oleg Kalachev
4e3e8c70b0
Update main book illustration
2025-02-28 03:17:09 +03:00
Oleg Kalachev
bda44fca02
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 00:51:16 +03:00
Oleg Kalachev and Pavel Kabakov
e66f6563a5
Add custom Wi-Fi control description by @pavelkabakov #11
...
Co-authored-by: Pavel Kabakov <110939392+pavelkabakov@users.noreply.github.com >
2025-02-26 01:08:36 +03:00
Oleg Kalachev
95084c167c
Add user project by jeka_chex
2025-02-26 00:55:14 +03:00
Oleg Kalachev
931b2066bb
Minor book fix
2025-02-26 00:20:50 +03:00
Oleg Kalachev
a2cf318189
Check target system id in mavlink messages
...
Skip messages addressed to other systems
2025-02-26 00:08:23 +03:00
Oleg Kalachev
83a8dcd63e
Cleanup mavlink subsystem code
2025-02-24 13:06:38 +03:00
Oleg Kalachev
c62e536b50
Put last control time in RC control mavlink message instead of send time
2025-02-22 20:07:26 +03:00
Oleg Kalachev
287a4b5a71
Fix accel calibration via mavlink console
...
Add 5 s timeout as waiting for enter is not implemented for mavlink console yet
2025-02-18 13:01:44 +03:00
Oleg Kalachev
d60628e14d
Support MAVLink console
...
Implement receiving and sending SERIAL_CONTROL message
Use global defined print function instead of Serial.printf
2025-02-18 10:33:01 +03:00
Oleg Kalachev
bfef7bd26a
Remove non-nessesary printArray function
2025-02-18 10:26:59 +03:00
Oleg Kalachev
e3c6a0d4df
Make some clarifications regarding imu check in troubleshooting
2025-02-18 10:18:27 +03:00
Oleg Kalachev
9566a4a503
Add parameters access method to build article
2025-02-18 10:14:39 +03:00
Oleg Kalachev
e54e0e8c48
Make all the basic functionality work without the imu
2025-02-17 19:44:18 +03:00
Oleg Kalachev
149c62568f
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
2025-02-17 15:51:58 +03:00
Oleg Kalachev
641e711e67
Minor fix in joystick support for simulation
...
Don't use channels variable as it breaks code isolation
2025-02-15 03:29:09 +03:00
Oleg Kalachev
f2171f2db4
Minor clarification in RC receiver connection table
2025-02-12 11:10:04 +03:00
Oleg Kalachev
6ed6ef3e8c
Assume armed is true if armed channel is not defined
2025-02-12 10:15:42 +03:00
Oleg Kalachev
083db659c6
Improve RC reading in calibration process
2025-02-12 10:15:13 +03:00
Oleg Kalachev
ce1223e82d
Allow CI simulator build under macOS if manually triggered
2025-02-12 06:24:51 +03:00
Oleg Kalachev
42f318c6df
Another update of hall of fame page
2025-02-11 14:02:15 +03:00
Oleg Kalachev
1450c793b7
Update hall of fame page
2025-02-11 12:11:22 +03:00
Oleg Kalachev
3ed4143ba0
Simplify WIFI_ENABLED macro test
2025-02-08 02:41:09 +03:00
Oleg Kalachev
33adf33f0e
Add proper command to install arduino-cli on Linux in instructions
2025-02-01 22:56:09 +03:00
Oleg Kalachev
373c0f117a
Update user builds page
2025-01-31 11:15:57 +03:00
Oleg Kalachev
0cb2eb5fac
Update upload-artifact action to fix build
2025-01-31 03:32:09 +03:00
Oleg Kalachev
70f63bfbe9
Add hall of fame page
2025-01-31 03:19:49 +03:00