Oleg Kalachev
c01bac0d0a
Update Flix image for frame version 1.1
2025-01-22 22:11:59 +03:00
Oleg Kalachev
f65c668ca1
Add brief assembly guide article
2025-01-22 01:44:31 +03:00
Oleg Kalachev
64cf5929e2
Add new frame models
...
Version 1.1
2025-01-22 01:42:42 +03:00
Oleg Kalachev
a9e5b2d5ca
Add board pin names for motors to readme
2025-01-21 23:42:28 +03:00
Oleg Kalachev
6028b8a617
Catch port bind error in simulation
2025-01-17 17:38:47 +03:00
Oleg Kalachev
b19270f14e
Minor cleanups and fixes
2025-01-17 12:30:12 +03:00
Oleg Kalachev
740121a88e
Check if requested parameters indexes are correct
...
In case if gcs gets crazy and requests incorrect parameter index
2025-01-14 21:14:04 +03:00
Oleg Kalachev
b915e47f33
Add instructions on using USB remote control via QGroundControl app
2025-01-14 15:07:02 +03:00
Oleg Kalachev
7effd92043
Make MAVLink control scale a parameter
2025-01-14 14:51:34 +03:00
Oleg Kalachev
26bb4d2b3f
Add link to working iOS QGroundControl build
2025-01-13 04:23:19 +03:00
Oleg Kalachev
70f5186c1b
Use double for storing time instead of float
...
Float precision may be not enough after some time of operating
2025-01-12 19:58:36 +03:00
Oleg Kalachev
d4e04c46cd
Add time command to cli
2025-01-12 19:50:00 +03:00
Oleg Kalachev
48d21a911f
Add missing const qualifiers
2025-01-12 19:46:50 +03:00
Oleg Kalachev
f456e10177
Increase motors PWM frequency to 1000
...
To match the main loop frequency
2025-01-12 15:35:05 +03:00
Oleg Kalachev
ac54c954aa
Cleanup
2025-01-11 04:31:53 +03:00
Oleg Kalachev
9e4a2c5ffc
Move controlsTime variable to rc.ino
2025-01-11 00:28:31 +03:00
Oleg Kalachev
7bf5ee330b
Add link to contributed circuit diagram to readme
2025-01-10 10:52:31 +03:00
Oleg Kalachev
b9e30be98c
Better support for ESCs, add PWM_STOP parameter
2025-01-10 10:49:40 +03:00
Oleg Kalachev
821e6b105e
Make channels definition to rc.ino
...
It's also planned to parametrize them later
2025-01-10 09:37:48 +03:00
Oleg Kalachev
568f9dd5b1
Minor code improvements
2025-01-10 08:59:09 +03:00
Oleg Kalachev
698cc3d9b8
Global variables cleanups
...
Remove unused PID objects for cli
Move loopRate to time.ino
2025-01-10 07:10:30 +03:00
Oleg Kalachev
85172cdcc8
Make util module header instead of .ino-file
2025-01-10 06:51:14 +03:00
Oleg Kalachev
08b14d1d76
Minor cleanup
2025-01-10 06:04:32 +03:00
Oleg Kalachev
95824e3b75
Make max tilt and max angle rates MAVLink parameters
...
Also decrease default max yaw rate to 300 degrees
2025-01-10 06:00:06 +03:00
Oleg Kalachev
0a45614751
Move motorsActive function to motors.ino
2025-01-09 11:30:04 +03:00
Oleg Kalachev
c8109af04f
Make ONE_G definition const and move to utils.ino
2025-01-09 11:24:40 +03:00
Oleg Kalachev
404ceed851
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:14:18 +03:00
Oleg Kalachev
72033cdd75
Increase motors PWM resolution to 12 bits
2025-01-09 11:02:38 +03:00
Oleg Kalachev
3088ade743
Fix getDutyCycle return type to make it possible to increase resolution
2025-01-09 11:02:21 +03:00
Oleg Kalachev
c2a9d36d4e
Add small delay before gyro calibration
2025-01-09 10:06:15 +03:00
Oleg Kalachev
ca409396c7
Add missing const qualifiers to some quaternion methods
2025-01-09 10:02:53 +03:00
Oleg Kalachev
ca032abc03
Implement rotate method for quaternions as replace for multiplication
...
Vector rotating method is renamed from `rotate` to `rotateVector` to avoid inconsistent object and argument order in different `rotate` methods
2025-01-09 09:56:49 +03:00
Oleg Kalachev
5d10446aaf
Bring back possibility to use ESCs for motors
2025-01-09 07:43:49 +03:00
Oleg Kalachev
87cf44371b
Some fixes and updates to readme and other articles
2025-01-09 03:46:54 +03:00
Oleg Kalachev
5ee407af8d
Update ESP32-core to 3.1.0
2025-01-06 21:01:39 +03:00
Oleg Kalachev
59cb55cf94
Use ubuntu-20.04 runner to build simulator in CI
...
The latest Ubuntu Gazebo 11 officially supports is Ubuntu 20.04
2025-01-06 00:56:25 +03:00
Oleg Kalachev
5db1258f78
Add battery connector cable to components list
2025-01-06 00:21:59 +03:00
Oleg Kalachev
732de2a5d6
Remove redundant inline specifiers
...
In-class defined methods are specified as inline by default
2025-01-04 04:09:51 +03:00
Oleg Kalachev
e10475a5e0
Some minor cleanups and fixes
2024-12-28 23:57:44 +03:00
Oleg Kalachev
7ae5457bb4
Improve logging code
...
Make it easer to add and remove log entries
2024-12-28 22:10:43 +03:00
Oleg Kalachev
299c8a6a02
Various minor fixes
2024-12-27 21:52:21 +03:00
Oleg Kalachev
43be27c43d
Fix joystick work in simulation
...
Logic was broken as joystickGet never got called
2024-12-27 15:34:33 +03:00
Oleg Kalachev
2440c65c46
Remove unused include
2024-12-26 16:07:01 +03:00
Oleg Kalachev
8d7a4595f5
Rename flushParameters to more clear syncParameters
2024-12-26 01:14:26 +03:00
Oleg Kalachev
acc0274175
Minor fix
2024-12-25 02:21:17 +03:00
Oleg Kalachev
edd249566e
Increase motors output frequency
2024-12-25 02:13:57 +03:00
Oleg Kalachev
ca355e0162
Simplify motors duty cycle computation
2024-12-25 02:13:33 +03:00
Oleg Kalachev
2efae82177
Minor fixes
2024-12-25 01:41:45 +03:00
Oleg Kalachev
fd30027ea4
Support AUTOPILOT_VERSION message request to make qgc connection faster
...
Don't have to wait until the request is timed out.
2024-12-23 17:59:35 +03:00
Oleg Kalachev
6f190295cf
Fix building article regarding new parameters subsystem
2024-12-23 13:59:44 +03:00
Oleg Kalachev
ae349fb73c
Implement parameters subsystem
...
* Unified parameters storage.
* Store parameters in flash on the hardware.
* Store parameters in text file in simulation.
* Work with parameters in command line.
* Support parameters in MAVLink for working with parameters in QGC.
2024-12-23 13:00:02 +03:00
Oleg Kalachev
28f6cfff60
Fix SBUS simulation logic
...
Don't consider zero values from not connected joystick
2024-12-23 04:04:00 +03:00
Oleg Kalachev
7533a9cbfa
Move ONE_G definition to flix.ino
2024-12-23 02:37:03 +03:00
Oleg Kalachev
3cc3014ca0
Improve logic of passing channels data in simulated SBUS
...
Return the data the same way as on the real drone without touching channels global vairable
2024-12-23 02:04:22 +03:00
Oleg Kalachev
b6286a50b2
Minor change
2024-12-23 02:01:55 +03:00
Oleg Kalachev
4f2cf0c0b1
Don't let throttle be less than 0 in failsafe
2024-12-23 01:32:25 +03:00
Oleg Kalachev
f06a9301df
Add notice on removing props in motor test commands in help
2024-12-23 01:14:05 +03:00
Oleg Kalachev
41cde3261a
Minor troubleshooting article fix
2024-12-21 13:53:04 +03:00
Oleg Kalachev
f54da5bf42
Add CLI command for rebooting the drone
2024-12-20 20:59:59 +03:00
Oleg Kalachev
d01d5b7ecb
Improve Markdown linting
...
* Move .markdownlint to the root so it applies to the main readme.
* Improve .markdownlint, enable proper names checks.
* Use markdownlint-cli2 instead of markdownlint-cli as it's more compatible with VSCode extension.
2024-12-17 17:16:19 +03:00
Oleg Kalachev
0608765347
Add link to textbook website to readme
2024-12-17 11:27:14 +03:00
Oleg Kalachev
b70d16c1f7
Update deploy-pages version to fix website deploy
2024-12-16 12:13:36 +03:00
Oleg Kalachev
f7253bed70
Temporarily disable macOS simulation build
2024-12-16 11:59:49 +03:00
Oleg Kalachev
9957205d8f
Fix website deploy
2024-12-16 11:58:35 +03:00
Oleg Kalachev and GitHub
8440ddd3ee
Create book and deploy it to the website ( #6 )
...
* Create book structure.
* Add workflow for linting the markdown using markdownlint.
* Add workflow for building the book with mdBook and deploying to the website.
* Restyle mdBook and support GitHub-style alerts.
* Add images zooming.
* Add index, firmware structure and gyroscope articles.
2024-12-16 11:53:43 +03:00
Oleg Kalachev
66ba9518ae
Minor readme fix
2024-12-16 11:30:53 +03:00
Oleg Kalachev
d273b77ce2
Bring back macOS simulation build in Actions
2024-12-12 09:07:09 +03:00
Oleg Kalachev
77effa5577
Rotate IMU data to support standard axes orientation in new FlixPeriph
2024-12-11 06:17:37 +03:00
Oleg Kalachev
fcb426a16f
Update MAVLink-Arduino to 2.0.11
2024-12-09 08:04:36 +03:00
Oleg Kalachev
eea1a6a83c
Minor fix in troubleshooting article
2024-12-08 07:40:24 +03:00
Oleg Kalachev
9d470cbdfa
Add info on required version of Ubuntu for the simulation
2024-12-05 09:28:44 +03:00
Oleg Kalachev
6e140d673c
Cleanup unused utility functions
2024-12-05 08:29:21 +03:00
Oleg Kalachev
c75760e9e6
Some readme change regarding using different IMU board
2024-12-04 23:00:26 +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
7fa3baa76a
Add some minor clarification under the IMU orientation picture
2024-11-30 04:59:04 +03:00
Oleg Kalachev
2c5eac92ea
Add diagram for IMU orientation
2024-11-29 10:14:11 +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
a65ec946c0
Update ESP32 core to 3.0.7
2024-11-24 01:45:41 +03:00
Oleg Kalachev
429aecbbad
Temporarily disable macOS simulation build in CI
2024-11-24 01:08:03 +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
7a2f2d955b
Minor fix to the troubleshooting
2024-11-23 18:18:19 +03:00
Oleg Kalachev
c611549f67
Update link to the troubleshooting article
2024-11-23 18:16:46 +03:00
Oleg Kalachev
be3c5bf312
Add troubleshooting article
2024-11-23 18:13:41 +03:00
Oleg Kalachev
f6ddeb4689
Clarify GY-91 pin names
2024-11-12 21:02:47 +03:00
Oleg Kalachev
f6006d3305
Fix c_cpp_properties.json to match updated ESP32 core version
2024-11-04 16:35:22 +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
e7445599cc
Update core and libraries to the most recent versions
2024-11-04 16:28:13 +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
c5c889679b
Fix simulation build
2024-10-31 19:27:27 +03:00
Oleg Kalachev
ad2c64625c
Print the IMU information in imu command
2024-10-31 10:24:00 +03:00
Oleg Kalachev
39d4f39932
Some updates in docs
2024-10-30 09:45:27 +03:00
Oleg Kalachev
57fe3fef2a
Upload STEP files for models
2024-10-29 14:18:03 +03:00
Oleg Kalachev
4ba9accf4b
Fix image for washer-m3 model
2024-10-29 14:04:42 +03:00
Oleg Kalachev
99c891e1cd
Add explanation on installing the right ESP32 core in build insutrctions
2024-10-27 11:07:53 +03:00